로우코드(Low-Code)와 노코드(No-Code)는 모든 화면을 전문 지식을 가진 개발자가 만드는 기존 방식 대신 실무자가 직접 업무에 필요한 앱을 만드는 방식입니다. IT 전문 시장조사기업인 가트너는 2024년까지 전체 앱 개발의 65%는 로우코드가 차지할 것이라고 예측하고 있습니다.
이런 변화의 흐름은 대중적인 레스토랑 체인에 비유할 수 있습니다. 예전에는 모든 음식을 레스토랑에서 노련한 쉐프가 만들었다면 지금은 반조리 상태의 식재료를 기본적인 조리 기술을 익힌 직원이 완성된 음식으로 만들어낼 수 있습니다. 신선한 재료를 바로 조리해서 만드는 음식과 완전히 같을 수는 없지만, 어느 정도 높은 품질의 음식을 빠르게 만들 수 있는 장점을 가집니다. 이런 변화의 배경에는 반조리 상태의 식재료를 만들고 보존하고 공급하는 기술의 비약적인 발전이 자리잡고 있습니다.
로우코드와 노코드 역시 IT 기술의 점진적인 발전이 뒷받침하고 있습니다. 오랜 시간 개발 플랫폼을 만드는 기술이 축척되면서 사용자들의 기대를 만족할 수 있는 수준까지 올라오고 있습니다. 투비소프트는 20여년간 다양한 운영체제를 지원하는 개발 플랫폼을 만드는 일에 집중하고 있고 그 결과물로 로우코드, 노코드 기반의 서비스 환경을 개발하고 있습니다.
누가 어떻게 사용할 수 있나요?
Easy UI에서는 화면 개발자와 실무 담당자라는 2가지 사용자 유형에 따라 로우코드와 노코드를 지원하는 기술을 제공합니다. 화면 개발자와 실무 담당자가 사용할 기본 코드는 공통 개발자가 작성하거나 기본 제공되는 기능을 사용합니다.
- 로우코드(Low-Code) / 화면 개발자
최소한의 코드를 사용해 앱을 개발하는 방법입니다. 기초적인 프로그래밍 지식을 습득한 후에 정형화된 템플릿을 기반으로 빠르고 안정적으로 앱을 만들 수 있습니다. 실무 담당자보다는 개발자의 생산성을 높이고 검증된 코드를 적용하는데 초점을 맞추고 있습니다.
- 노코드(No-Code) / 화면 개발자 (실무 담당자)
코드를 사용하지 않고 앱을 개발하는 방법입니다. 프로그래밍 언어 습득이 필요없고 원하는 화면 유형과 기능을 선택하고 설정하는 것만으로 앱을 만들 수 있습니다. 실무 담당자가 업무 지식을 바탕으로 앱을 개발하도록 하는데 초점을 맞추고 있습니다.
- 리소스 / 공통 개발자
레스토랑 체인 본사와 마찬가지로 화면 개발자, 실무 담당자가 사용할 리소스를 준비하고 제공합니다. 공통 개발자는 전체 앱 설계에 참여하며 템플릿(ViewSet Template, View Template), 리소스(Action Module, CSS Theme), 공통 라이브러리 등을 개발하게 됩니다.
- 앱 사용자
앱 사용자는 실무 담당자 본인일 수도 있고, 같은 업무 화면을 필요로 하는 동료가 될 수도 있습니다. 또는 외부 고객에게 제공하는 앱 화면도 실무 담당자가 직접 만들 수 있습니다.
Easy UI 서비스 구성도에서 사용자별로 영역을 구분하면 아래와 같습니다.
적용할 수 없는 대상은?
Easy UI에서 다루는 로우코드와 노코드 모두 정형화된 업무를 전제로 합니다. 공통 개발자가 재사용할 수 있는 템플릿을 개발하고 이를 화면 개발자 또는 실무자가 적용하는 방식이기 때문에 특정 업무 사용자를 위해 별도의 화면 템플릿을 개발해야 한다면 기존 개발 방식과 비용 측면에서 더 많은 비용이 들어갈 수 있습니다.
아래와 같은 경우는 Easy UI를 적용하기 보다는 기존 개발 방식을 선택하는 것을 권장합니다.
비즈니스 측면
IT 의존도가 낮으며 실무자의 경험적 지식을 통해 업무를 수행하는 경우
업무가 비정형화된 경우
IT 측면
데이터와 서비스를 공개하기 어려운 경우
업무 서비스간 연결이 복잡하고 검증이 필요한 경우
기존 업무 시스템을 확장하기 어려운 경우
복수의 입출력 Dataset을 사용하는 경우 (단일 입출력 구조에 적합합니다).
변경, 삭제, 병합 등 복잡한 서비스 연동이 필요한 경우 (조회 서비스에 적합합니다).
로우코드 화면개발자를 위한 추가 정보
로우코드와 관련해 개발자는 화면개발자와 공통개발자로 구분할 수 있습니다. 로우코드를 실제 사용하는 개발자는 그 중에서 화면개발자를 의미합니다. 화면개발자는 아래와 같은 기능을 사용해 로우코드를 적용하게 됩니다.
화면 템플릿
앱에서 사용하는 화면은 몇 가지 패턴으로 구성됩니다. 기존에는 디자이너가 작업한 템플릿 이미지를 코드로 변경하고 추가적인 개발을 진행했습니다. 로우코드 개발 시에는 View 컴포넌트에 적용할 템플릿을 선택하면 개발자가 화면에 신경쓰지 않고 각 업무에 특화된 비즈니스 로직만 추가해 화면 개발을 완료할 수 있습니다.
반복되는 코드 배제
화면 개발 시에는 공통적인 기능이라도 이를 호출하고 사용하기 위해 코드를 복사해서 일부 설정값을 변경해 사용합니다. 로우코드 개발 시에는 공통 프로세스는 코드 없이 설정값을 입력하거나 사전에 만들어진 업무 블럭을 조합하는 것만으로 화면 개발을 완료할 수 있습니다.
오류의 최소화
화면 개발자가 작성할 수 있는 코드 영역을 제한해서 앱에서 발생할 수 있는 오류를 최소화합니다. 화면 개발자는 예외 처리 같은 작업에 신경쓰지 않고 처리할 업무에 대한 코드 작업에 집중할 수 있습니다.
업무 특성에 따라 템플릿으로 화면 생성 후 UI 일부를 변경할 수도 있습니다.
화면이 많지 않고 구성이 단순한 경우에는 UI 변경 없이 작업할 수 있지만, 조건이 다양한 경우에는 기본 화면 디자인을 템플릿으로 설정하고 추가적인 UI 변경은 로우코드 화면 개발자가 처리할 수 있습니다.
로우코드 화면 개발은 모델을 기반으로 화면을 구성하는 UI를 템플릿을 통해 미리 생성하고 생산성을 높이는 목적이며 100% UI 구성을 보장하는 것은 아닙니다.
로우코드를 사용하는 화면 개발자가 개발하는 프로세스는 아래 링크에서 확인하실 수 있습니다.