2021.08.17

'앱 개발 속도를 높여라' 로우코드 개발의 이해

Martin Heller | InfoWorld
애플리케이션을 새로 만들기 위해서는 일반적으로 대상 플랫폼에 특화된 높은 수준의 개발 지식이 필요하고 시간도 많이 소비된다. 반면, 로우코드(Low-code) 개발 플랫폼과 툴(노코드(no-code) 제품도 마찬가지)을 이용하면 여전히 일부 학습은 필요하지만 개발 속도를 높여주고 기술 장벽을 낮춰준다.
 
일반적으로 로우코드 개발 플랫폼은 드래그-앤-드롭 디자이너, 모듈, 양식, 프로세스, 워크플로우, 데이터 모델, 통합, 그리고 제품 내에서 사용할 수 있는 하나 이상의 프로그래밍 언어를 제공한다. 개발 플랫폼에 따라 엔진이 앱을 만드는 데 사용할 수 있는 사양을 출력하는 경우도 있고 실행 가능한 앱을 출력하는 경우도 있다. 이 앱은 플랫폼의 백엔드와 상호작용을 할 수도, 하지 않을 수도 있다.

로우코드 애플리케이션의 대체 설계 패러다임에는 생성기, 템플릿, 단순 설계 언어 등 여러 가지가 있다. 예를 들어 데이터베이스를 조회하고 모든 데이터베이스 테이블에 대해 데이터에 연결된 양식이나 표를 만드는 생성기를 이용하면 작업을 매우 빠르게 시작할 수 있다. 단, 템플릿은 대체로 더 화려하지만 유연함이 떨어지므로, 생성된 양식을 직접 편집할 수 있는지 확인해야 한다. 종이 양식을 스캔해서 시작하는 기능을 제공하거나 포토샵 이미지를 사용해 시작하는 설계 환경도 있다.

로우코드 개발의 대상은 수작업으로 코딩되는 앱과 마찬가지로 데스크톱, 웹, 모바일 앱이다. 데스크톱 앱은 일반적으로 윈도우, 맥OS, 리눅스 GUI용이다. 웹 앱은 크롬, 엣지, 사파리, 파이어폭스, 오페라 등의 브라우저에서 실행되며 다양한 화면 크기를 지원한다. 모바일 앱은 주로 iOS와 안드로이드를 대상으로 한다. 하이브리드 웹 앱은 네이티브 셸 앱과 웹 콘텐츠를 혼합한다.

일부 로우코드 플랫폼은 네이티브 코드를 생성하므로 앱의 모양과 느낌, 속도가 수작업으로 코딩된 앱과 매우 비슷하다. 이와 달리 인터프리터를 실행하는 플랫폼도 있다. 인터프리터로 인해 성능 문제가 발생하기도 하지만 소비자용 앱이 아니라면 큰 문제가 되지 않을 수도 있다.

라이선스 형태는 로우코드 개발 플랫폼 업체마다 다르다. 상황에 따라 사용하기에 적절하지 않은 가격 정책도 있다. 예를 들어 사용자 수가 매우 커질 가능성이 있는 소비자용 앱이라면 사용자별 과금 방식의 플랫폼은 피하는 것이 좋다.
 

노 코드 개발의 정의

노 코드 개발은 제품 내에서 사용할 수 있는 프로그래밍 언어가 없는 로우코드 개발이라고 할 수 있다. 업체에 따라 코드를 직접 작성할 수 있는 기능을 대체하기 위해 복잡한 그래픽 사용자 인터페이스를 구축하는 경우도 있는데, 대체로 불편하고 시간도 많이 소비된다.

노 코드 플랫폼은 보통 개발 주기의 초기에 쉽게 사용할 수 있다. 그러나 프로세스의 후반부로 가면 플랫폼의 제약으로 인해 개발이 진척되지 않는 경우가 많다. 업체는 이 문제를 해결하기 위해 통합 환경에 추가해 작업 범위를 넓힐 수 있는 모듈 마켓플레이스를 운영하기도 한다. 또한 새 모듈을 만들고자 하는 전문 개발자에게 SDK를 제공하는 경우도 있다.
 

로우코드 개발 활용이 적합한 사용자

로우코드 업체가 주장하는 사용 대상은 '시민 개발자(citizen developers)' 또는 '파워 유저', 비즈니스 분석가, 데이터베이스 관리자, 전문 프로그래머 등 다양하다.

로우코드 개발을 도입한 팀이 성공적인 결과를 얻기 위해서는 비즈니스를 이해하고 개발 플랫폼을 알고 기존 IT 자산을 이해하고(특히 엔터프라이즈 애플리케이션과 데이터베이스) 경영진의 지원을 받아야 한다. 개발자 한 명이 필요한 모든 기술을 갖춘 경우도 간혹 있지만 대부분은 함께 작업할 수 있는 그룹이 필요하다.
 

시민 개발자는 정말 존재할까

'시민 개발자'라는 용어는 시장 분석가들이 처음 사용하기 시작한 후 우여곡절을 겪었다. 일단 필자가 직접 몇몇 '시민 개발자'를 만나봤으니 그들은 존재하는 것은 분명하다. 당시 필자가 발견한 사실은 유능한 시민 개발자는 기초적인 수준의 코딩을 빠르게 배우고 로우코드 툴을 능숙하게 사용한다는 것이다. 그 외의 시민 개발자는 로우코드 툴에서 자신의 업무를 수행하기 위해 필요한 부분만 학습하고 실제 코딩은 다른 사람에게 맡겼다.
 

로우코드 개발의 이점

로우코드 개발은 앱 개발 시간을 줄이고 앱 개발 비용을 낮춰주며, 프로그래머와 데이터베이스 관리자에게 완전히 의존하지 않으면서 기술 수준이 낮은 직원도 개발에 기여할 수 있게 해준다. 여기서 말하는 기술 수준이 낮은 직원이란 비즈니스와 앱의 목적을 가장 잘 이해하는 사람일 수도 있다. “기술 수준이 낮다”는 것은 프로그래밍 전문 기술에 한한 표현이다.
 

로우코드 개발을 사용해야 할 때

앱을 빠르게 만들 수 있게 해주는 적절하게 라이선스된 로우코드 플랫폼이 있고 필요한 모든 기능과 통합이 있고 성능도 용인할 수 있는 수준이라면 사용할 수 있는 모든 곳에 사용해야 한다. 유일한 예외는 제품화 시간 및 개발 비용보다 런타임 성능이 더 중요한 소비자 앱이다.

정리하면 로우코드 개발 플랫폼이 기업에 미치는 영향은, 몇 년 치 애플리케이션 개발 업무를 쌓아둔 기업과 필요한 모든 맞춤형 소프트웨어를 생산할 수 있는 기업의 차이로 설명할 수 있다. 결국 로우코드는 기업에 이러한 차이를 만드는 비밀 무기와 같다. editor@itworld.co.kr


2021.08.17

'앱 개발 속도를 높여라' 로우코드 개발의 이해

Martin Heller | InfoWorld
애플리케이션을 새로 만들기 위해서는 일반적으로 대상 플랫폼에 특화된 높은 수준의 개발 지식이 필요하고 시간도 많이 소비된다. 반면, 로우코드(Low-code) 개발 플랫폼과 툴(노코드(no-code) 제품도 마찬가지)을 이용하면 여전히 일부 학습은 필요하지만 개발 속도를 높여주고 기술 장벽을 낮춰준다.
 
일반적으로 로우코드 개발 플랫폼은 드래그-앤-드롭 디자이너, 모듈, 양식, 프로세스, 워크플로우, 데이터 모델, 통합, 그리고 제품 내에서 사용할 수 있는 하나 이상의 프로그래밍 언어를 제공한다. 개발 플랫폼에 따라 엔진이 앱을 만드는 데 사용할 수 있는 사양을 출력하는 경우도 있고 실행 가능한 앱을 출력하는 경우도 있다. 이 앱은 플랫폼의 백엔드와 상호작용을 할 수도, 하지 않을 수도 있다.

로우코드 애플리케이션의 대체 설계 패러다임에는 생성기, 템플릿, 단순 설계 언어 등 여러 가지가 있다. 예를 들어 데이터베이스를 조회하고 모든 데이터베이스 테이블에 대해 데이터에 연결된 양식이나 표를 만드는 생성기를 이용하면 작업을 매우 빠르게 시작할 수 있다. 단, 템플릿은 대체로 더 화려하지만 유연함이 떨어지므로, 생성된 양식을 직접 편집할 수 있는지 확인해야 한다. 종이 양식을 스캔해서 시작하는 기능을 제공하거나 포토샵 이미지를 사용해 시작하는 설계 환경도 있다.

로우코드 개발의 대상은 수작업으로 코딩되는 앱과 마찬가지로 데스크톱, 웹, 모바일 앱이다. 데스크톱 앱은 일반적으로 윈도우, 맥OS, 리눅스 GUI용이다. 웹 앱은 크롬, 엣지, 사파리, 파이어폭스, 오페라 등의 브라우저에서 실행되며 다양한 화면 크기를 지원한다. 모바일 앱은 주로 iOS와 안드로이드를 대상으로 한다. 하이브리드 웹 앱은 네이티브 셸 앱과 웹 콘텐츠를 혼합한다.

일부 로우코드 플랫폼은 네이티브 코드를 생성하므로 앱의 모양과 느낌, 속도가 수작업으로 코딩된 앱과 매우 비슷하다. 이와 달리 인터프리터를 실행하는 플랫폼도 있다. 인터프리터로 인해 성능 문제가 발생하기도 하지만 소비자용 앱이 아니라면 큰 문제가 되지 않을 수도 있다.

라이선스 형태는 로우코드 개발 플랫폼 업체마다 다르다. 상황에 따라 사용하기에 적절하지 않은 가격 정책도 있다. 예를 들어 사용자 수가 매우 커질 가능성이 있는 소비자용 앱이라면 사용자별 과금 방식의 플랫폼은 피하는 것이 좋다.
 

노 코드 개발의 정의

노 코드 개발은 제품 내에서 사용할 수 있는 프로그래밍 언어가 없는 로우코드 개발이라고 할 수 있다. 업체에 따라 코드를 직접 작성할 수 있는 기능을 대체하기 위해 복잡한 그래픽 사용자 인터페이스를 구축하는 경우도 있는데, 대체로 불편하고 시간도 많이 소비된다.

노 코드 플랫폼은 보통 개발 주기의 초기에 쉽게 사용할 수 있다. 그러나 프로세스의 후반부로 가면 플랫폼의 제약으로 인해 개발이 진척되지 않는 경우가 많다. 업체는 이 문제를 해결하기 위해 통합 환경에 추가해 작업 범위를 넓힐 수 있는 모듈 마켓플레이스를 운영하기도 한다. 또한 새 모듈을 만들고자 하는 전문 개발자에게 SDK를 제공하는 경우도 있다.
 

로우코드 개발 활용이 적합한 사용자

로우코드 업체가 주장하는 사용 대상은 '시민 개발자(citizen developers)' 또는 '파워 유저', 비즈니스 분석가, 데이터베이스 관리자, 전문 프로그래머 등 다양하다.

로우코드 개발을 도입한 팀이 성공적인 결과를 얻기 위해서는 비즈니스를 이해하고 개발 플랫폼을 알고 기존 IT 자산을 이해하고(특히 엔터프라이즈 애플리케이션과 데이터베이스) 경영진의 지원을 받아야 한다. 개발자 한 명이 필요한 모든 기술을 갖춘 경우도 간혹 있지만 대부분은 함께 작업할 수 있는 그룹이 필요하다.
 

시민 개발자는 정말 존재할까

'시민 개발자'라는 용어는 시장 분석가들이 처음 사용하기 시작한 후 우여곡절을 겪었다. 일단 필자가 직접 몇몇 '시민 개발자'를 만나봤으니 그들은 존재하는 것은 분명하다. 당시 필자가 발견한 사실은 유능한 시민 개발자는 기초적인 수준의 코딩을 빠르게 배우고 로우코드 툴을 능숙하게 사용한다는 것이다. 그 외의 시민 개발자는 로우코드 툴에서 자신의 업무를 수행하기 위해 필요한 부분만 학습하고 실제 코딩은 다른 사람에게 맡겼다.
 

로우코드 개발의 이점

로우코드 개발은 앱 개발 시간을 줄이고 앱 개발 비용을 낮춰주며, 프로그래머와 데이터베이스 관리자에게 완전히 의존하지 않으면서 기술 수준이 낮은 직원도 개발에 기여할 수 있게 해준다. 여기서 말하는 기술 수준이 낮은 직원이란 비즈니스와 앱의 목적을 가장 잘 이해하는 사람일 수도 있다. “기술 수준이 낮다”는 것은 프로그래밍 전문 기술에 한한 표현이다.
 

로우코드 개발을 사용해야 할 때

앱을 빠르게 만들 수 있게 해주는 적절하게 라이선스된 로우코드 플랫폼이 있고 필요한 모든 기능과 통합이 있고 성능도 용인할 수 있는 수준이라면 사용할 수 있는 모든 곳에 사용해야 한다. 유일한 예외는 제품화 시간 및 개발 비용보다 런타임 성능이 더 중요한 소비자 앱이다.

정리하면 로우코드 개발 플랫폼이 기업에 미치는 영향은, 몇 년 치 애플리케이션 개발 업무를 쌓아둔 기업과 필요한 모든 맞춤형 소프트웨어를 생산할 수 있는 기업의 차이로 설명할 수 있다. 결국 로우코드는 기업에 이러한 차이를 만드는 비밀 무기와 같다. editor@itworld.co.kr


X