본문 바로가기

기타/기술스터디

[기술 스터디] 로우 코드(Low Code)와 노코드(No code)

삼성 SDS 인사이트 리포트, 소셜크리에이터 조남호 프로, 누구나 만드는 애플리케이션을 위한 로우 코드(Low Code)와 노코드(No code) 이야기, 2022.11.21
https://www.samsungsds.com/kr/insights/nc-lc-tech.html?moreCnt=0&backTypeId=&category=

누구나 만드는 애플리케이션을 위한 로우 코드(Low Code)와 노코드(No code) 이야기

애플리케이션 개발의 새로운 대안으로 로우 코드(Low Code)와 노코드(No code)라는 방식이 주목받고 있습니다. 로우 코드 개발이란, 기존 소프트웨어 개발 방식에 대한 대체재라고 볼 수 있습니다.

www.samsungsds.com

+ 추가 참고 https://www.trio.dev/blog/low-code-platforms

로우 코드(Low Code), 노 코드(No code)란 무엇일까?

최근에 등장하기 시작한 로우 코드(Low code), 노 코드(No code)라는 단어들이 있다. (이미 아는 사람들이 있을 수도 있지만... 적어도 나에게는 생소해서 스크랩 블로깅을 하게 되었다. ㅎㅎ)

로우 코드(Low Code) 개발이란, 단어에서 알 수 있듯 코딩을 하기 위해 '적은' 노력이 필요한 코딩 방식을 말한다. 지금까지는 코딩을 하기 위해서는 일단은 프로그래밍 언어를 익히는 게 필수적이었고, 그게 당연한 방식으로 자리잡아 있었다. 하지만 로우 코딩 방식에서는 전문가적 지식을 크게 필요로 하지 않는다.

출처 : trio blog


전공자가 아닌, 전문적이지 않은 개발자를 '시민 개발자'(Citizen Developer)라고 부른다. 로우 코드 개발은 딥한 코드 개발 전문지식을 갖고 있지 않은, 비전문 시민 개발자를 위해 등장한 소프트웨어 개발 방식이다.

예를 들어, 원래 화면에 "Hello world"를 출력하고 싶다면 c언어를 예시로 printf 함수를 사용해야만 한다. 하지만 로우 코드 개발에서는 printf와 기능을 같이 하는 '프린터 기능의 블럭'을 드래그앤 드롭으로 끌어다놓고 원하는 제시문을 입력하면 되는 것이다. 흔히 교양으로서의 코딩을 다룰 때 사용하는 '블록 코딩'이 로우 코드 개발의 한 예시가 될 수 있다.

Low code 플랫폼 중 하나인 Studio Creation


현재 인기를 끌고 있는 로우 코드 플랫폼에는 다음과 같은 것들이 있다.

  1. 아피아(Appian)
  2. 멘딕스(Mendix)
  3. 외부 시스템(OutSystems)
  4. 퀵베이스(Quickbase)
  5. 조호 크리에이터(Zoho)
  6. 키스플로우(Kissflow)
  7. 세일즈포스 라이트닝(Salesforce)
  8. 마이크로소프트 파워(Microsoft Power Apps)
  9. 닌텍스(Nintex)

추가 참고(Low code 플랫폼 비교) -> https://www.softwaretestinghelp.com/low-code-development-platforms/


반면에 노코드(No code) 개발 방식은 "코드가 필요없다"는 것을 의미한다. 역설적이게도, 노코드 개발은 '코드 없이 하는 코딩'이다. 로우 코드 개발 방식이 적어도 최소한의 개발 능력, 다시 말해 끌어다놓은 기능 위젯이 무슨 기능을 하는지 이해하고, 어떤 값을 제시해야 원하는 프로그램을 만들 수 있을지 주체적인 개발 아이디어를 가진 비전문가를 위한 '가벼운' 코딩 방식이었다면, 로우 코드 개발은 개발 지식이 전혀 없는 일반인을 위한 플랫폼이다.


간단히 비유하여 노코드 개발 방식은 '템플릿의 제공'과 같다. 파워포인트의 무료 템플릿을 제공받아 최소한의 정보를 입력하여 원하는 발표물을 만들어내는 것처럼, 노코드 개발 플랫폼은 모든 가이드라인이 제시되어 있다. 사용자가 할일은 제한된 커스터마이징을 이용해 가이드를 따라 프로그램을 만들어보는 것이다.

No code 플랫폼 중 하나인 구글의 Glide 소개 영상

이러한 노코드 방식은 우선 '제시되는 템플릿'을 누군가가 만들어야 하기 때문에, 지금으로서는 유연성이 떨어진다. 아직까지는 제공 템플릿이 많지 않기 때문이다. 물론 시간이 지나면 노코드 개발 방식이 다양한 템플릿을 제공할 수도 있겠지만, 그렇다고 하더라도 일반인을 겨냥한 이 프로그래밍 방식은 기존 템플릿을 해치지 않는 선에서의 제한적인 커스터마이징만을 허용하기 때문에 근간 자체가 제한적이다. 이러한 특징들은 개발자에게는 별로 매력있게 느껴지지 않을지도 모르지만, 사실 코딩 지식은 하나도 없지만 자신들의 애플리케이션을 만들어보고 싶은 일반인에게는 매우 달콤한 기능이다.

현재 인기를 끌고 있는 노코드 플랫폼에는 다음과 같은 것들이 있다.

  1. 앱마스터(AppMaster.io)
  2. 애피 파이(Appy Pie)
  3. 앱시트(AppSheet)
  4. 카드(Carrd)
  5. 자피어(zapier)
  6. 버블(Bubble)
  7. 웹플로우(Webflow)
  8. 아달로(Adalo)
  9. 글라이드(Glide)

추가 참고(Low code 플랫폼 비교) -> https://www.nocodeagency.kr/nocodelist

코딩이 필요 없는 개발 방식이 주목받게 된 이유는 뭘까요?

출처 : AppMater (https://appmaster.io/ko/blog/kodeu-eobseum-mic-rou-kodeu-caijeomi-mweoya)

디지털 트랜스포메이션(Digital Transformation)은 회사 내 디지털 기반 혁신을 가속화하고, 기업 구성원 모두가 IT 역량을 갖춰나가는 활동이라고 생각할 수 있다. 지난 40년간 향후 3년간 애플리케이션들이 7억 5천만 개가 더 많이 만들어질 것이고, 기존 업무의 50% 이상이 디지털 기반으로 자동화될 것이라는 예측도 이런 경향에 발맞춘 것이다. (*원문 인용)

3차 산업혁명을 넘어, 4차 산업혁명이 진행중인 21세기에서 모든 분야의 전문기술들이 컴퓨터 능력과 결합되어가고 있다. 자동차도 컴퓨팅 기술과 연결되어 자율주행자동차가 출시되고 있고, 전산 프로그램도 자동화되고 있으며, 심지어는 시계나 칠판, 책 등 전혀 기계와는 관련없어보이는 일상 물품들도 컴퓨팅 기술과 연결되어 IoT들이 속출하고 있다. 사회의 요구는 '조금 더 최첨단의', '자동화된' 프로그램을 요구한다.

동시다발적으로 폭넓은 분야에서 컴퓨팅 기술을 요구하고 개발되어야만 하는 애플리케이션들은 나날이 늘어만 가고 있는데, 전문 개발자의 수가 부족한 것이 현실이다. 원문에 따르면, 현재 개발자 수요보다 4백만 명이 부족하고, 기업의 80~90% 이상이 개발자 채용에 어려움을 겪고 있다고 한다. 그래서, 가트너에서는 2025년까지 70% 이상의 앱들이 로우 코드나 노코드를 활용하여 개발될 것이라고 말했다. 실제로 기업들에서는 최근 로우 코드, 노코드와 흡사한 RPA(로봇 프로세스 자동화)를 도입하기 시작했다.

*RPA가 하는 일 - 원문 포스트 인용
RPA는 일반적으로 어떤 데이터를 추출해서, 매개 변수와 로직을 정의해서 프로그램을 간단히 만들 수 있습니다. 로우 코드와 노코드는 데이터 통합과 워크플로의 실제 개선된 형태를 사용자에게 애플리케이션 형태로 더 나은 고객 경험을 제공할 수 있습니다. 예를 들면, 엑셀로 취합하던 업무를 RPA로 자동화했다면, 로우 코드로 취합된 데이터를 차트로 보여주는 앱을 누구나 개발할 수 있도록 해주는 거죠.


지금까지 프로그램을 개발한다, 애플리케이션을 개발한다, 처럼 무언가를 '개발해낸다'라는 행위는 개발자들만의 전문 영역이었으나 앞으로 개발이라는 행위 자체가 전문가의 영역에서 벗어나 누구나가 할 수 있어야하는 기본적인 소양이 될 거라는 추측도 있다.


코딩의 미래는 코딩이 절대 아닙니다.

출처 : https://club.dns-shop.ru/blog/t-57-tehnologii/76226-no-code-razrabotka-realnost-ili-marketingovyii-mif/?utm_referrer=https%3A%2F%2Fwww.google.com%2F


우리가 주목해야할 점은, 왜 로우 코드 개발과 노코드 개발 방식이 떠오르고 있냐는 점이다. GitHub의 CEO인 Chirs Wanstrath는 깃허브 창립 10주년에 "코딩의 미래는 전혀 코딩이 아니다."라는 말을 한 바가 있다. 그는 소프트웨어 개발의 핵심이 더 효율적인 컴파일러 개발이나 타이핑 중심의 코딩이 아닌 '소프트웨어 구축 방식의 변화'라고 봤다. 2017년 그는 결국 제로 코드(Zero code)의 시대가 올 거라고 예측했는데, 로우 코드 노코드 개발 플랫폼들의 출현하면서 그의 추측이 현실이 되고 있다.

깃허브는 전문 개발자들이 로우 코드를 손쉽게 활용할 수 있는 코파일럿(Co-Pilot) 기능을 만들어 공개하기도 했다. 개발 화면에서 실시간으로 어떤 함수를 사용해야 하는지, 어떤 알고리즘을 적용하면 되는지 AI가 제안해주는 기능이다. 심지어는 음성 인식 기능으로 대화를 통해 이 코파일럿 기능을 이용할 수도 있게 돼, 정말 말만으로 코딩할 수 있는 세대가 오고 있다.


내가 이 진로를 선택하게 된 건 인공지능이 대체할 수 없는 영역 중 가장 관심이 있는 분야라서 라는 이유가 제일 컸는데 원문 블로깅 글을 보고 적잖이 충격이었다... 심지어는 구글링을 해보면 로우 코드와 노코드 방식은 2020년부터도 서서히 나오기 시작했던 모양이다. 로봇과 AI에게 대체당하는 영역은 개발 분야도 피해갈 수 없었다. 이러한 노코드 붐에서 개발자들이 취해야할 자세는 무엇일까. 아직까지는 노코드 개발 방식의 응용이 제한적이지만, 점차 템플릿이 추가되어가 개발자들이 사용하는 모든 기술들이 템플릿으로서 카피된다면 개발자들은 노코드 플랫폼보다 힘을 못쓸 수도 있겠다는 생각도 든다. 전문가들은 노코드 플랫폼으로 만든 애플리케이션을 정교하게 손 봐서 거듭 깊은 기능을 추가해 완성하는 일을 하게 될지도 모른다. (저번에 포스팅했던 칩페이크도 그렇고 노코드도 그렇고 공격이나 개발이나 인스턴트화되는 플로우가 재미는 있다...) 모두 아직까지는 먼 미래의 일이지만 말이다. 로우 코드와 노코드의 유행을 인지하고, 그 흐름 속에서 자신들이 나아갈 방법을 찾는 것도 미래 개발자로서 새롭게 주어진 과제라고 생각한다.