Offcanvas

How To / 개발자 / 애플리케이션

리뷰 | 아마존 허니코드, '결국 한계가 있다'

2021.10.18 Martin Heller  |  InfoWorld
아마존의 허니코드 노코드 앱 빌더를 이용하면 간단한 앱이나 통합 작업을 쉽고 빠르게 해낼 수 있다. 그러나 본격적인 용도의 앱을 개발하려면 프로그래머, DBA, 여타 IT 전문가의 도움이 절실하다. 
 
ⓒ AWS


아마존 허니코드(Amazon Honeycode)는 모바일 웹 및 웹 앱을 제작할 수 있게 해주는 스프레드시트 지향 노코드 개발 플랫폼이다. 스프레드시트로부터 앱을 제작하기 위해 허니코드에는 목록, 입력 필드, 버튼 등 다양한 이용자 인터페이스 객체가 있다. 또한 다양한 이벤트 및 동작 역시 갖추고 있다.

이 밖에 허니코드는 유용한 18개의 개발자용 앱 템플릿을 제공한다. 예를 들어 일반적인 ‘해야 할 일’ 앱, 워크플로우 형식의 예산 승인 앱 등이다. 

통합 기능도 갖췄다. 재피어(Zapier), 아마존 앱플로우(Amazon AppFlow), 허니코드 API를 이용할 수 있다. 물론 API를 이용한다면 노코드의 영역에서 한참 멀어진다. 

AWS라는 대형 클라우드 사업자의 로우코드/노코드 앱인 허니코드는 마이크로소프트 파워 앱스(Microsoft Power Apps), 구글 클라우드 앱시트(Google Cloud AppSheet)와 직접 경쟁한다. 또한 400여 개에 이르는 그 밖의 로우코드/노코드 빌더와도 경쟁한다.

허니코드가 노코드 개발 플랫폼임을 감안해 이 리뷰에서는 이 플랫폼의 역량과 한계, 그리고 이를 넘어설 수 있는 방법을 설명한다. 

허니코드에서는 역순으로 작업  
아마존은 허니코드 애플리케이션을 설계할 때 역순로 작업하라고 제안한다. 잘라낸 아래의 그림(필자가 한 강좌 영상에서 캡처)과 같다. 기본적으로, 이들은 하향식 설계와 상향식 구현이라는 소프트웨어 개발 전략을 가정한다. 그러면서 이들은 이용자가 컴퓨터를 전혀 모른다고 전제하고 있다.

그러나 이러한 가정에는 다소 앞뒤가 맞지 않는 측면이 있다. 대다수의 초보 개발자는 하향식 설계와 상향식 구현을 학습하기 위해 긴 시간을 보내게 되기 때문이다. 초보 개발자라고 해서 무작정 개발하는 것이 아니다. 


아마존은 허니코드 애플리케이션을 설계할 때 역으로 작업하라고 제안한다. 이 이미지를 우로부터 좌로 읽으면 의도한 최종 앱, 그리 이에 도달하는 데 필요한 단계들을 알 수 있디. 


여기 나온 2개의 표는 수집되는 데이터, 그리고 선택을 한정하는 데 쓰이는 선택 목록이다. 


일단 하위 표를 정의했다면 이를 이용해 정보 필드, 입력 필드, 선택 목록을 팝업하는 필드가 있는 양식을 생성할 수 있다.

허니코드는 얼마나 유용한가? 
대부분의 로우코드 또는 노코드 개발 플랫폼과 마찬가지로 허니코드는 거의 모든 사람이 이용할 수 있고, 프로그래머나 IT의 도움 없이 커스텀 앱을 제작할 수 있게 해준다. 일반적인 앱, 예컨대 스프레드시트, 프로젝트 관리 앱 등을 대체할 수 있다고 회사 측은 주장한다.

애석하게도 이 주장은 동의하기 어렵다. 모두가 허니코드를 사용할 수 있는 것이 아니다. 엑셀 매크로를 작성하는 수준의 파워 유저라면 가능할 것이다. 대다수의 평범한 이용자에게는 요원한 역량이다. 개발, 데이터베이스, 이용자 인터페이스 측면에서 생각할 수 있는 역량이 있어야 한다.

개발을 드래그-앤-드롭 동작으로 분류한다면 비-프로그래머는 코드를 작성하는 것보다 각 개발 단계를 받아들이기가 더 쉬울 것이다. 그러나 이러한 특징만으로 유용한 설계를 이끌어내기란 불가능에 가깝다.

즉 특정 단계에 이르면 프로그래머, 데이터베이스 관리자, IT의 도움이 반드시 필요하다. 팀 내에서 허니코드 앱을 제작할 역량을 발전시킨다고 해도 마찬가지이다. 회사에는 이미 직원 및 부서 디렉토리가 있다. 이 디렉토리를 이용해 앱 허가를 구현하고, 통합 로그인을 지원하지 않을 이유가 있을까? 

즉 액티브 디렉터리, LDAP, 또는 회사가 사용하는 다른 디렉토리 서비스 API를 호출하는 데에는 외부 프로그래머의 도움이 필요할 것이다. 참고로 허니코드는 AWS 통합 로그인(AWS SSO)를 지원한다. 그리고 AWS SSO를 통해 대표적인 엔터프라이즈 ID 공급자가 지원된다.

회사에는 이미 제품, 판매, 고객 데이터베이스가 있다. 본격적인 활용을 위해서는 이들 가운데 일부가 필요할 것이고, DBA 및 IT의 허가와 도움이 없다면 이를 입수하지 못할 것이다. 이러한 도움이 없다면 허니코드는 장난감 앱을 제작하는 데에나 쓰일 것이다. 

허니코드 워크북, 테이블, 팀즈, 빌더, 자동화 
필자가 느낀 한계를 언급해봤다. 다음으로 허니코드가 어떻게 작용하는지 알아보자. 허니코드 워크북은 앱, 데이터, 자동화를 위한 컨테이너이다. 표는 데이터를 저장하고 데이터 관계를 구축하는 곳이다. 팀즈는 앱의 제작자이자 이용자이다. 빌더는 앱을 만드는 곳이다. 

앱과 데이터는 명확하다. 자동화는 3가지 기본적인 부분, 다시 말해 트리거, 조건, 동작으로 이뤄진다.  

1. 트리거는 자동화가 시작될 때를 결정한다. 
2. 조건은 자동화가 실행될 것인지 아닌지, 어디서 실행될 것인지를 결정한다(선택적).
3. 동작은 허니코드가 무엇을 할 것인지 결정한다. 

조건은 명확하다. 허니코드 표는 행과 열을 갖는다. 표는 표준 포맷, 다시 말해 숫자, 통화, 회계, 일자 및 시간 등을 지원한다. 한편 허니코드 고유 포맷도 있다. 예를 들어 행 링크(rowlinks), 컨택트(contacts) 등이다. 또한 표의 셀은 식을 포함할 수 있고, 허니코드는 이용자가 식을 생성하는 데 도움을 준다. 

허니코드 빌더는 기본적으로 속성 패널이 있는 드래그-앤-드롭 설계 툴이다. 빌더는 아래와 같은 용도로 사용할 수 있다. 

1. 모바일 및 웹을 위한 앱 화면 생성 및 스타일링 
2. 데이터, 로직, 커스터마이징을 앱에 추가 
3. 누가 무엇을 언제 보는가를 개인적으로 설정 
4. 워크플로우와 프로젝트를 자동화 

속성(Properties)은 데이터, 화면, 동작에 적용되고, 이들은 개별적인 속성 패널을 갖는다. 마법사는 앱을 만들고 데이터를 신속히 관리할 수 있는 빠른 수단이다.


이 태스크(Task) 테이블은 단순한 스프레드시트처럼 보인다. 그러나 자세히 보면 미묘한 차이가 드러난다. 예를 들어 우선 순위(Priority) 열은 행 링크이자 선택 목록이고, M_Priority 표로부터 유입된다. 소스 목록 위의 최우측에 있는 마법사 및 함수 아이콘에 유의하라.


객체를 화면에 추가하는 한 방법은 객체 패널로부터 화면으로 드래그하는 것이다. 그 후 객체의 속성을 편집할 수 있다.  


마법사를 이용하면 표 요약, 선택 목록, 공지, 여타 관심 객체를 신속히 생성할 수 있다.

 
허니코드 템플릿은 이용자가 생성해야 하는 것에
부합하는 것을 발견할 정도로 운이 좋다면
앱을 신속히 생성할 수 있을 것이다. 
허니코드 템플릿 
만들고 싶은 앱과 비슷한 템플릿이 있다면 템플릿은 허니코드로 앱을 제작하는 무척 빠른 방법이다. 모든 템플릿 앱에는 샘플 데이터와 필수 표, 앱 화면, 공식, 데이터 분류 방식이 들어 있기 때문에 자체적인 앱을 곧바로 시작할 수 있다. 표에는 시작 데이터가 채워져 있고, 이용자는 특정 용도에 맞춰 이를 변경하면 된다. 

허니코드 API, 웹후크, 재피어, 아마존 앱플로우 
허니코드 노코드 빌더로부터 생성할 수 앱을 넘어 이를 확장하는 데에는 4가지 방법이 있다. 즉, 허니코드 API 및 웹후크, 서드파티 통합 앱인 재피어, 그리고 AWS의 통합 앱인 아마존 앱플로우이다.

허니코드 설명서는 재피어나 앱플로우를 추천한다. 이들이 이용자가 원하는 연결 타겟을 지원하는 경우 코드를 작성할 필요가 없기 때문이다.

그러나 한계가 없지 않다. 앱플로우는 통합의 수가 제한적이고, 허니코드를 데이터 목적지로서만 지원한다. 단 다수의 데이터 행을 한 번에 이동시킬 수 있다. 재피어는 3000 가지 이상의 통합을 지원하고, 허니코드를 데이터 출처 (허니코드 웹후크) 및 데이터 목적지로서 모두 지원한다. 그러나 한 번에 하나의 데이터 행만을 이동시킬 수 있다. 

허니코드 API는 REST 인터페이스 측면에서 정의된다. 이들은 12가지 동작, 24가지 데이터 유형, 9가지 SDK언어를 지원하고 명령줄을 포함한다. 결과적으로 허니코드 API를 이용하려면 유능한 프로그래머가 필요하다. 

허니코드에서 자동화가 일어날 때마다 (예. 앱 또는 표에서 무언가가 변경될 때) 웹훅을 추가해 데이터를 허니코드로부터 다른 온라인 서비스로 이동시킬 수 있다. 웹훅에는 목적지 URL, 페이로드 값 표현식, 페이로드 키가 필수적이다. UI는 페이로드 값 표현식을 정의하는 데 도움이 될 수 있다. 


허니코드는 웹후크를 한가지 동작으로서 트리거할 수 있다. 페이로드 값을 정의하려면 단순한 허니코드 표현식 또는 식을 작성할 수 있어야 한다. 페이로드 값 입력 상자에 “=”를 입력한다면 변수 드롭다운 목록이 나타난다. 

요약하자면 아마존 허니코드는 AWS 상에서 실행되면서 웹 및 모바일 웹 앱을 생성할 수 있는 노코드 앱 빌더이다. 18가지 템플릿은 신입 직원 수습, 구매 주문 승인 등 일반적인 소규모 팀 작업을 위한 소형 앱을 신속하게 제작할 수 있게 해준다. 아울러 아예 처음부터, 또는 기존의 CSV 파일로부터 앱을 제작할 수 있다. 

허니코드는 노코드 빌더이기 때문에 한계가 쉽게 드러날 것이다. 허니코드가 생성할 수 있는 것을 넘어서고자 한다면 API를 이용할 수 있도록 코드를 작성하거나, 웹후크를 호출하는 동작을 생성하거나, 노코드 통합 제품인 재피어 또는 아마존 앱플로우를 이용함으로써 다른 앱과 통합을 시도해야 한다. 

비용
베이직: 무료(워크북당 2,500행, 20명)
플러스: 워크북당 1만 행, 20명, SSO에 대해 월 19.99달러, 이용자 추가 시 1명당 월 9.99달러 추가
프로: 워크북당 10만 행, 20명, SSO에 대해 월 29.99달러, 이용자 추가 시 1명당 월 19.99달러 

플랫폼: AWS 

* 인포월드 기고 편집자이자 리뷰어인 Martin Heller는 웹 및 윈도우 프로그래밍 컨설턴트 경력을 보유자다. 1986년부터 2010년까지는 데이터베이스, 소프트웨어, 웹사이트 개발자로 일했으며 그 이후에는 알파 소프트웨어의 기술 및 교육 부사장, 튜브파이의 의장이자 CEO를 역임했다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.