Visual Programming의 역사와 새로운 방식으로 이를 해석한 노코드 웹 빌더인 Bubble를 소개하는 글입니다.
은연 중에 소프트웨어 개발을 ‘코딩’ 그 자체로 좁게 정의하고 이해하는 경우를 가끔 보는데요, 코딩은 생각을 기계에 표현하는 하나의 방식일 뿐, 다른 방식의 프로그래밍도 존재합니다. Visual Programming이 그 중 하나입니다. 짧지만 생각을 확장시킬 수 있는 글이라 재미있게 읽었습니다.
MVC, MVP, MVVM… 그리고 그 이후의 무엇이든. 이렇게 이어지는 GUI 아키텍처의 변화는 View와 Data 연결 방식의 진화이기도 합니다. 그러고보니 GUI 아키텍처가 풀어야 할 문제는 아주 단순화 하면, 크게 세 가지로 압축할 수 있을 것 같아요.
1. View
2. Data
3. Data Synchronization
노코드를 이야기 하는 웹 빌더가 풀어야 하는 기본 도메인의 문제 역시 이 범주 안에 들어올텐데, 이 문제를 어느 단계까지 해결하느냐가 도구로 만들 수 있는 산출물의 한계를 정합니다.
좀 더 고수준의 웹 애플리케이션을 만들 수 있으려면 Data Synchronization의 문제를 해결해야 합니다. 노코드 도구가 이 단계까지 가면 사용자가 로직을 표현할 수 있는 프로그래밍스러운 어떤 장치를 만들어야만 합니다. 이런 도구를 사용하는 사람은 대게 ‘비전문 개발자’이기 때문에 IDE에 코드를 입력하는 기존 ‘코딩’ 방식을 들이밀 수는 없습니다.
지금까지는 코드 기반 언어 표현식을 시각적으로 나열하고 조립하는 형태로 이 문제를 풀었습니다. 하지만 이런 접근은 표현의 구체화 수준이 높아서 복잡도가 높은 로직을 만들기가 어려웠습니다.
Bubble은 웹 애플리케이션에서 발생하는 몇 가지 패턴을 고수준으로 추상화 한, 자연어에 가까운 시각화 된 도메인 언어를 해법으로 제시합니다. 워크플로우라는 이 기능은 개발자들이 보면 ‘헉, 이게 뭐야. 내가 코딩하고 말지!’ 싶지만, 이 도구를 찾는 사람은 개발자가 아니라는 게 중요합니다. 이 정도 수준의 장치를 제공하는 노코드 웹 빌더가 많지 않다보니, 사막에서 우물 찾는 심정으로 Bubble을 찾는 노코더가 많거든요.
이런 도구가 어디까지 진화할지는 모르겠습니다만, 미래에는 프로그래밍이 더 일반화 된 세상이 올거란 사실은 분명하고, Command Line Interface가 영원하지는 않을거라 확신하기에 이 분야의 변화와 새로운 시도를 흥미롭게 지켜보고 있습니다.