전문가의 심도있는 Bubble 리뷰
버블쪽에서는 세계적으로 매우 유명한 개발자인 Peter Amlie가 작성한 버블에 대한 매우 상세한 리뷰입니다. 전에 한 번 읽어보고 버블에 대한 이해에 도움을 받은 적이 있었지요. 생각보다 꽤 관심들이 있으신 것 같아 제 블로그 글을 이곳에 옮깁니다. 버블을 잘 모르시거나 잘못 알고 계신 분들께 버블을 조금이라도 더 잘 이해하는데 도움이 되기를 바랍니다.
이하 리뷰 번역 (약간의 편집이 가미되었음을 밝힙니다)
버블을 리뷰하는데 있어 우선 한가지를 먼저 확실하게 해두고자 한다 - 버블은 소프트웨어를 개발하는 방식을 바꾸고 있다. 현존하는 가장 진보된 노코드 플랫폼으로서의 버블은 소프트웨어 개발에 경험이 전무한 누구에게라도 아무리 복잡한 웹 애플리케이션도 개발할 수 있는 수단을 제시한다. 하지만 다른 어떠한 프레임워크와도 마찬가지로 버블은 툴, 즉 도구이다. 따라서 모든 프로젝트에 버블이 다 통용될 수 있는 것이 아니라는 점은 미리 이해해 둘 필요가 있다.
이 리뷰를 통해 우리는 버블이 어떤 부분이 뛰어나고 어떤 상황에서는 올바른 선택이 아닐 수 있는지 확인해 볼 것이다. 자, 도대체 버블은 무엇인가? 그리고 어디에 유용한가?
버블은 무엇인가?
이렇게 한 번 되물어 보자. 버블은 어떤 기능을 수행하는가? 버블은 Wix나 Wordpress 같은 다른 웹사이트 빌더들과 어떻게 다른가? (버블과 워드프레스의 비교에 관한 글은 이곳에 영문)

노코드라는 낱말은 버블에 대한 이해를 호도하는 경향이 있다. 그렇다. 분명 버블은 코딩없이 웹 애플리케이션을 개발할 수 있는 방법을 제시하는 것은 맞다. 하지만 그들의 코어 미션은 그것보다 훨씬 크다. 버블은 누구나 전통적인 소프트웨어 개발 지식이나 경험 없이도 누구나 프로그램을 제작하고, 호스팅하며 확장해 나갈 수 있도록 만들어 졌다. 버블은 기본적으로 4개의 툴들로 구성되어 있다.
- WYSIWIG 디자인 에디터와 스타일 에디터
- 액션과 이벤트를 추가하고 편집할 수 있는 비주얼 웍플로우 에디터
- AWS를 기반으로 한 데이터베이스
- 애플리케이션이 확장함에 따른 자동 스케일링 능력
따라서 버블은 단순히 "코딩없이.." 라는 개념 그 이상을 실현하고 있다. 즉, 무코딩 외에도 아무런 사전 지식이나 경험 없이도도 앱을 개발하고 스케일하는 과정에서 필요한 모든 것, SQL 데이터베이스의 관리나 업타임 모니터링, 캐퍼시티 업그레이드 등 개발 이후 운영에 관한 모든 분야에 대한 해결을 제시하고 있다. 개발 뿐만 아니라 유지, 관리, 운영을 위해서도 기조존의 전통적인 방식을 따르기 위해서는 각 분야별로 별도의 전문인력이나 팀을 필요로 한다. 버블은 이 모든 것들을 해결해 줌으로써 애플리케이션의 개발 및 운영에 지식이 없는 사용자들이 아무런 어려움 없이 스스로 전체 시스템을 운영해 나갈 수 있도록 지원하고 있다.
너무나도 환상적인 이야기다. 비용도 적게 들고, 팀도 필요없고, 모든 것이 자동으로 스케일하고... 하지만 한가지 중요한 사시실이 있다. 버블은 담장에 둘러쳐진 정원이다. 버블은 이 모든 것들이 버블의 자체 엔진 안에서 돌아간다. 다시 말하자면 버블을 이용하기로 결정하는 순간, 그게 끝이라는 말이다. 버블로 만든 앱은 그 담장 밖으로는 나올 수가 없다. 디자인이건, 로직이건, 웍플로우건 그것이 뭐든 간에. 후에라도 새로 프로덕트를 개발하지 않는 한 당신의 앱은 버블 안에서만 유효하다.또한 버블로 만든 제품은 버블의 서버와 연결이 되어 있는 상태에서만 돌아간다.
버블 가격제
버블은 다양한 가격제를 제시한다. Free plan 부터 월 $115/129에 달하는 Professional plan까지. 물론 별도의 개발인력을 고용하는 것보다는 월등히 저렴하지만 공짜는 아니라는 얘기다. 상세한 내용은 버블의 가격제 페이지에서 확인할 수 있다.
버블은 배우기가 얼마나 어려운가?
일반적으로 말하자면 쉬운 편이다. 기본적인 화면을 꾸미고, 버튼이나 입력창 같은 엘레먼트에 웍플로우를 더하고 하는 정도를 익히는데는 많은 시간이 걸리지도 않고 그다지 어려운 일도 아니다. 사람에 따라 다르겠지만 아마 1-2달 정도면 가능하지 싶다. 버블은 documentation에 많은 공을 들여왔고 이미 거대한 생태계가 존재하고 있어 무료로 혹은 비용을 지불하면 필요한 도움을 얼마든지 받을 수도 있다.
버블 마케팅의 핵심은 쉬운 사용법을 통해 누구나 빠르게 필요한 앱을 스스로 만들 수 있는 툴이라는 브랜드 확립에 있다. 나는 그러한 정책이 잘못 되었다는 것이 아니라 조금더 밸런스를 갖출 필요가 있지 않나 싶다. 나는 수년간 수많은 신규 사용자들이 버블을 접하고 학습하는 과정을 지켜봐 왔는데 새로운 사용자가 얼마나 빨리 자신의 앱을 만들어 출시할 수 있는가를 기대하게 하는 것은 바람직한 것만은 아니라고 본다.
기본을 배우는데는 몇 주 정도면 족하다. 하지만 능력있는 개발자가 되는데 까지는 수 년의 과정이 필요하다. 여기서 "배우기 쉽다"와 "마스터하기 어렵다"가 양립하는 것을 볼 수 있다. 심플한 MVP를 만든느데는 그다지 높은 수준의 버블 능력이 필요 없을 수 있지만 고도화된 앱이라면 전혀 다른 얘기라는 말이다. 물론 디자이너 백그라운드가 있다거나, 관계형 데이터베이스에 대한 사전지식이 있다거나 한 경우라면 그 과정이 훨씬 쉽고 시간도 단축시킬 수 있을 것이다. 특히 Javascript에 대한 이해나 지식이 풍부하다면 엄청난 도움이 된다.
내가 가르치는 코칭 세션에 참가하는 많은 수강생들은 자신들의 앱이 한 달 정도면 세상에 나올 것을 기대하는 경향이 있다. 자신들이 한편으로는 배우면서 한편으로는 개발을 해나가고 있다는 사실을 망각한채 말이다. 사실 그들이 고도화된 앱을 세상에 내놓기까지는 실제로 최소 몇 개월이 걸린다. 너무 놀라실 필요는 없다. 나는 다만 당신이 보다 현실적인 예산과 기대치를 갖고 버블에 임하기를 바랄 따름이다.
나는 일반적으로 최소 2주 이상은 기본을 익히는데 투자하라고 권고한다. 기본이 중요하다는 사실은 버블의 세계에도 그대로 적용된다. 충분히 기본을 익히고 다진 뒤 비로소 프로젝트를 열어도 결코 늦지 않다. 대개의 전문 에이전시들은 보통 프로젝트를 끝내는데 약 4-6주를 잡는다. 그들은 경험과 다양한 모듈과 템플릿, 그리고 때로로는 복수의 인원이 투입되어 주어진 기간 내 프로젝트를 완료한다. 따라서 당신이 이제 새로 시작하는 입장이라면 최소 그보다 2-3배의 시간적 여유를 갖고 임하기를 권한다. 하지만 잊지 마시라. 설령 그 정도 걸린다 해도 기존의 코딩을 통한 개발방식 보다는 여전히 엄청 빠른 것이라는 사실을.
버블은 얼마나 효율적인가?
사실 이에 대한 명확한 답을 할 수는 없다. 프로젝트의 성격이나 규모, 혹은 어떤 프레임워크와 비교하느냐 등에 따라 달라질 수 있기 때문이다. 하지만 확실한 것은 "매우 효율적이"라는 사실이다. 통상의 전통적인 개발방식과 비교할 때 버블을 이용하면 대략 70% 정도 이상 저렴하고, 그리고 80% 정도 이상 빠르다고 본다.
통상 버블을 이야기 할 때 얼마나 빨리 MVP를 만들어 세상에 내놓을 수 있는가를 언급한다. 물론 맞는 말이다. 하지만 중소기업들이 예전 같으면 대기업들이나 해결할 수 있었던 문제들을 자신들도 얼마든지 해결할 수 있는 변화에 대해서는 여전히 둔감한 편이다. 노코드를 이용하여 자동화를 이룩하고, 여전히 스프레드쉬트 세상에 머물고 있는 중소규모의 기업들이 데이터를 손쉽게 다루고 의사결정에 활용하는데 버블만한 툴이 없는데도 말이다. 그저 버블같은 노코드 툴을 다룰줄 아는 직원 하나만 있어도 기업내의 정말 많은 것들을 바꾸고 비용을 절감하며 새로운 기회를 만들어 갈 수도 있다.

머지 않아 정형화된 사무용 소프트웨어들 대신 자체 고용된 노코드 개발자들이 각각의 수요와 형편에 맞는 맞춤형 솔루션들을 만들어 사용하는 날이 올 것으로 믿는다. 버블을 이용하면 떠오르는 생각들을 굳이 말로 설명할 필요없이 직접 경험하게 함으로써 필요성과 시자에서의 반응성 등을 너무나도 손쉽게 테스트 해볼 수가 있다. 그것도 정말 큰 비용 들이지 않고도 말이다.
버블 플러그인 에코시스템
전세계 약 7,500만 개의 웹사이트의 바탕이 되고 있는 워드프레스가 그토록 성공할 수 있었던 근본이 바로 기본적인 워드프레스 골격에 더해진 강력한 플러그인 생태계이다. 버블은 이 전략을 그대로 따르고 있다. 이미 버블은 매우 넓은 플러그인 ㅅ생태계를 구축하고 있고, 이는 계속 등장하는 새로운 노코드 툴들과 버블을 구분하는 큰 기준이 될 것이다.

물론 버블의 플러그인에는 문제도 있다. 실제로 많은 플러그인들의 경우 버블의 기본적인 기능이어야 함에도 불구하고 제공되지 않다보니 사용자들에 의해 개발 제공되고 있는 점도 사실이다. 누군지 검증되지 않은 제3자가 개발한 플러그인을 설치하여 사용해야 하는 경우도 종종 있다. 설령 필요해서 설치했다 하더라도 개발자가 필요한 업데이트를 제때 할지, 앞으로 2년 혹은 5년 후에도 여전히 자신이 만든 플러그인을 관리하고 있을지 알 방법이 없지 않나? 그럼에도 불구하고 버블 커뮤니티는 충성도 높은 사용자층을 구축해 왔고, 때로는 십시일반으로 자체적인 생태계를 만들어가고 유지해 나가고 있으며, 이는 매우 긍정적인 현상이다.
버블과 외부와의 연결
많이 받는 질문 중 하나가 버블을 외부 데이터베이스와 연동 시킬 수 있는가 하는 점이다. 다행히도 답은 "그렇다"이다. 버블은 몇가지 방법으로 버블앱을 제3자 앱들과 데이터를 연동시킬 수 있도록 해준다.

API 커넥터를 이용하여 제3자 서비스에 연결하여 당신만의 콜을 통해 데이터를 사용할 수 있다. API커넥터는 대부분의 API에 연결할 수 있도록 해주며 스스로 헤더, 파라미터 등을 설정하여 외부로부터 필요한 어떠한 정보도 버블앱으로 불러오고 화면에 디스플레이하며 데이터베이스에 저장할 수 있도록 해준다.
버블의 퍼포먼스
사실 퍼포먼스를 이런 리뷰에서 논하기는 쉽지 않다. 퍼프먼스라 함은 실제 여러가지 요소들을 포함하고 있다. 단순한 페이지 로딩 속도부터 데이터 처리 능력 까지. 리뷰 수준에서 간략히 언급하자면 버블의 퍼프먼스 수준은 대단히 훌륭하다. 실제로 당신이 만들고자 하는 앱과 유사한 다른 앱들과 비교하여 반응속도나 안정성, 적정 수준의 데이터 처리 능력 등 모든 면에서 결코 뒤떨어지지 않는 앱을 얼마든지 만들 수 있고, 버블 시스템은 이를 지원하기에 충분하다. 온라인 상에서 버블의 문제점들을 지적하고 비난하는 글들을 많이 찾아볼 수 있는데, 이들 상당수는 자신들이 앱을 개발한 방식상의 문제점을 간과하거나 이해하지 못하는데서 기인하는 것들이다. 이것은 버블의 문제가 아니라 실제로 전통적인 개발 방식에서도 수도 없이 나타나고 있는 문제점들이며 둘은 사실상 같은 문제인 것이다.
어떤 경우에 버블이 적합하지 않을 수 있는지 궁금할 것이다. 몇가지 시나리오를 통해 살펴보자.
- 방대한 데이터를 처리해야 하는 경우 버블은 시험대에 오를 수 있다. 여기서 방대하다 함은 수백만개의 레코드 수준을 말한다. 데이터베이스의 설계가 제대로만 되어 있다면 서치는 무난한 편이나 잦은 많은 양의 레코드 수정 및 변경 등의 경우 문제가 발생하기도 한다.
- 버블의 UI 페이지 렌더링은 서버사이드에서 관장되고 있어 약간의 딜레이가 불가피하며 이는 당신이 개발하는 입장에서 어찌 할 방도가 없는 부분이다. 아직까지 버블은 static HTML 파일의 캐싱을 지원하지 않고 있다.
- 현재 버블에서 지원되고 있는 페이지내 엘레먼트에 직접 적용되는 CSS 방식은 사실 그다지 효율적이지 않다. 하지만 꾸준히히 지속되고 있는 반응형 엔진을 통해 상당부분 개선될 것으로 기대하고는 있다.
- 비주얼 에디터의 구조문제로 인해 많은 양의 데이터를 디바이스 상에 보여주는데는 문제가 발생하고 있다. 구글 스프레드쉬트가 방대한 양의 데이터를 빠르게 디스플레이 하는 방식이 버블에는 적용되고 있지 않기 때문이다.
버블의 미래
버블은 버블로 개발된 모든 앱들을 자신들의 클라우드 서버를 통해 가두는 Lock-in 시스템에 기반하고 있다. 덕분에 당신이 앱을 빠르게 개발하고, 손쉽게 운영하는데에는 큰 도움을 주지만 동시에 당신 제품의 운명이 버블의 손에 갇히는 결과를 낳게 된다. 버블은 만약 자신들의 운명에 문제가 생길 경우 자신들의 모든 시스템을 오픈소스화 하여 그 누구도 피해를 입는 상황은 만들지 않을 것임을 공언하고 있다.
물론 버블의 미래를 예단하기는 어렵지만 제품의 퀄리티, 그간 보여준 빠른 성장력, 그리고 방대한 규모의 충성도 높은 유저층 등 다양한 면을 고려해 볼 때 큰 우려는 들지 않는 것이 사실이다. 이미 버블의 유저층 규모는 백만을 넘어섰고 시장 역시 충분히 예측 가능한 방향으로 진행하고 있다. 그렇다고는 하더라도 비즈니스의 세계는 항상 성장과 몰락, M&A 등 다양한 변수가 존재하는 곳이다. 또는 어느날 혜성같이 나타난 신규 서비스가 돌풍을 만들며 기존의 강자를 무너뜨리기도 한다.
그 어느 경우라 하더라도 노코드는 이미 돌이킬 수 없는 흐름을 만들어 냈다. 이미 온라인 세상의 공룡들인 마이크로소프트, 아마존, 구글 등도 노코드의 세상에 뛰어 들었다. 버블이 어떤 새로운 운명을 맞이하게 될지는 아무도 모른다. 하지만 버블은 소프트웨어를 개발하는 방식을 혁신했고 그것이 맞다는 것을 입증해 냈다.
결론
우리는 2016년부터 버블을 이용해 왔다. 그 기간 동안 노코드 세상은 엄청난 변화를 기록했다. 초기의 일부 매니아 층에 의한 관심 수준에서 100만이 넘는 초급, 중급은 물론 난다긴다 하는 전직 개발자들까지도 노코드의 신조류에 합류하는 현상을 만들어 왔다.
만약 기존의 방식 대비 1/5 수준의 비용으로 1/3 수준의 기간 내에 제품을 개발할 수 있는 수단이 있다면 당신같으면 마다하겠는가? 이제 스타트업들은 굳이 투자자의 돈에 의지하지 않고도 제품을 만들어 시장에서 당당히 검증받을 수 있게 되었다. 자금이나 인력면에서 대기업들과 비교도 안되는 중소 혹은 영세기업들도 마음만 먹으면 자신들의 비즈니스 역량을 강화시킬 수 있는 솔루션들을 직접 만들어 쓸 수 있는 세상이 되었다. 버블은 이러한 세상이 만들어지는 과정을 이끌어 온 것이다. 엄청난 공헌이 아닐 수 없다.
버블의 문제점 역시 간과해서는 안된다. 여전히 당신이 버블을 선택하는 순간 당신의 제품은 버블의 정원 안에서만 유효하다. 항상 인터넷을 통해 버블의 서버에 연결되어 있어야만 작동시킬 수 있다. 디자인은 물론 그 어느 것도 버블의 담장 밖으로로 가져 나올 수 없다.
선택은 당신의 몫이다.