Wrath of Code: 로우코드 프런티어
최근 몇 년 동안 로우코드가 언론에 더 널리 알려졌습니다. 사람들은 로우코드를 사용하여 개발된 애플리케이션의 붐을 예측했고, 보고 있습니다. 그러나 개발 커뮤니티에서는 여전히 로우코드에 대한 낙인이 찍혀 있습니다. 일부는 노코드 플랫폼에 대한 혼란에서 비롯되고, 일부는 개발자를 대상으로 하는 과거 마케팅에서 더 이상 필요하지 않을 것이라고 제안한 데서 비롯되고, 다른 사람들은 하이코드 언어를 사용하지 않고는 복잡한 시스템을 구현할 수 없다고 의심하기 때문입니다.
이 글에서는 제가 로우코드를 처음 접했을 때 궁금했던 몇 가지 질문과 그 이후로 배운 내용을 살펴보겠습니다.
가능하다면 젊은 나에게 무슨 말을 하고 싶은가? ("비트코인을 사세요" 외에)
동화되겠나…?
"사람들은 로우코드가 개발자를 대체할 것이라고 계속 말합니다."
그게 우리가 목표로 하는 바가 전혀 아닙니다. 우리가 원하는 것은 더 많은 사람들이 애플리케이션을 개발할 수 있도록 하는 것이지만, 일부 프로젝트는 개발자만이 가져올 수 있는 사고방식과 접근 방식을 요구한다는 점도 알고 있습니다. 그것이 우리가 Studio와 Studio Pro라는 두 가지 IDE를 사용하는 이유 중 하나입니다.
Studio는 사람들이 애플리케이션 개발을 쉽게 시작하고 표준 툴셋과 시장의 추가 기능을 활용해 필요한 것을 만들 수 있는, 접근성이 더 높은 진입점을 제공합니다.
반면 Studio Pro는 숙련된 개발자에게 Java 코드 확장 및 SASS 사용자 정의와 같은 고급 기능에 대한 액세스를 제공합니다. Studio Pro를 사용하면 로우코드가 개발을 단순화하는 것을 의미하지 않고 애플리케이션 개발의 다음 논리적 진화임을 알게 될 것입니다.
코딩 초기에는 개발자가 모든 것을 담당했습니다. 메모리 할당, 포인터, 모든 종류의 저수준 기능을 관리했습니다. 그런 다음 C 및 C++와 같은 언어가 만들어졌습니다. 이러한 언어는 저수준 관리를 추상화하고 애플리케이션을 만드는 것을 훨씬 더 쉽게 만들었습니다. 그런 다음 객체 지향이 등장하여 Java 및 C#와 같은 언어에서 코드를 더 재사용 가능하고 유지 관리하기 쉽게 만들었습니다. 그때에도 여전히 만들어야 할 데이터베이스와 유지 관리해야 할 연결, 빌드해야 할 프런트엔드, 관리해야 할 서버가 있었습니다.
이제 로우코드가 등장했습니다. 현대 프로그래밍 언어의 모든 이점과 데이터베이스 생성 및 유지 관리의 추상화, 간소화된 프런트엔드 생성, 쉬운 API 생성 및 소비, 관리되는 서버가 있습니다. 지루한 모든 것을 제거합니다. 시간이 걸리지만 실제로는 도전이 되지 않는 모든 것입니다. 그런 다음 로우코드는 드래그 앤 드롭 개발을 사용하여 고급 기능을 빌드하는 도구를 제공하며 Java 함수로 확장할 수 있다는 추가 보너스가 있습니다. 프런트엔드를 확장하기 위해 React 구성 요소를 만들 수도 있습니다!
가장 어려운 요구 사항도 충족시킬 수 있는 도구가 여전히 많이 있으며, 기본적인 자료를 빠르게 생성할 수 있는 간편함도 있어 흥미로운 개발에 집중할 수 있는 시간도 제공됩니다!
저는 노코드가 아닌 로우코드 플랫폼을 지향합니다!
"드래그 앤 드롭으로 사용할 수 있는 기성품 요소가 내 필요에 맞지 않는 시점이 있을 텐데, 그러면 어떻게 해야 하나요?"
이것은 노코드가 아닌 로우코드입니다. 두 가지가 지금은 동의어처럼 보이지만, 차이가 있습니다. 로우코드의 목표는 코드를 덜, 사실 훨씬 덜 쓰도록 돕는 것이지, 전혀 코드를 쓰지 않는 것이 아닙니다. 우리는 여전히 필요한 경우 코딩과 확장을 사용하여 제공하는 것을 확장할 수 있도록 하기를 원합니다. 그것이 노코드와 로우코드의 큰 차이입니다.
노코드 도구는 순전히 드래그 앤 드롭입니다. 무엇을 만들든 고정된 도구 세트를 받게 됩니다. 이런 종류의 플랫폼은 일반적으로 비즈니스 프로세스 모델링, 워크플로 및 웹사이트 빌더와 관련이 있습니다. 틈새 시장에서 유용하고 일반적인 사용 사례에 집중하는 경우 유용하지만, 그 영역을 벗어나야 하는 경우 상황이 더 까다로워집니다.
로우코드 플랫폼은 툴박스에서 끝나지 않습니다. 로직에 관해서는 애플리케이션을 만드는 데 사용할 수 있는 사전 빌드된 도구가 많이 있지만, 고유한 함수를 만드는 옵션도 있습니다. Mendix Microflow에 Java 노드를 추가하는 것은 간단한 프로세스입니다(프로그래밍 용어로 메서드나 함수와 유사). 그런 다음 해당 노드에서 고유한 Java 코드를 작성하고 객체를 전달하고 전달하고 상호 작용할 수 있습니다. Mendix Java SDK를 사용하는 플랫폼.
프런트 엔드에서 사용자 정의 처리가 필요하거나 특정 JavaScript 위젯이나 라이브러리를 사용하고 싶은 경우 React 플러그형 위젯으로 래핑할 수 있습니다. 이렇게 하면 사용자 정의 프런트 엔드 컨트롤을 만들 수 있으며 다시 액세스가 가능합니다. Mendix 플랫폼과 상호작용하는 SDK.
그것이 로우코드의 힘입니다. 그렇습니다. 사전 구축된 드래그 앤 드롭 컨트롤로 빠르게 작업을 수행할 수 있도록 하지만 기능을 확장할 수도 있습니다. 따라서 로우코드이지 노코드가 아닙니다!
로코드, 최후의 경계…
"좋아요, 제가 당신을 믿는다고 가정해 보죠. 그러면 어떤 혜택을 기대할 수 있을까요?"
간소화된 데이터베이스 생성 및 유지 관리부터 시작해 보겠습니다. 엔티티를 만들고 속성을 추가한 다음 엔티티 간의 관계를 드래그합니다. 그러면 자동으로 데이터베이스 테이블이 생성되고 테이블 간의 조인이 관리되며 기본 제공 쿼리 작업을 사용할 수 있습니다. 더 이상 쿼리 문을 작성할 필요가 없습니다. 작업 중 하나를 사용하고 XPath로 약간의 필터링을 추가하면 개체를 가져옵니다. 더 나은 방법은 부모 개체가 있고 고객과 같은 관련 레코드, 예를 들어 주문을 가져오려는 경우 고객과 관련된 레코드를 요청하기만 하면 됩니다. 추가 쿼리를 작성할 필요가 없습니다. 게다가 모든 인덱스가 관리되고 쿼리가 최적화됩니다.
그러면 여러 가지 애플리케이션 유형이 있습니다. 웹사이트를 원하시나요? 문제 없습니다. 그것을 Progressive Web App으로 만들고 싶으신가요? 저희도 할 수 있습니다. Android와 iOS에서 작동하는 네이티브 모바일 애플리케이션을 원하시나요? 물론입니다!
다음은 프런트엔드입니다. 부트스트랩 프레임워크 위에 구축되었습니다. Mendix 그래픽 반응형 웹페이지 빌더가 장착되어 제공됩니다. 이를 통해 고급 땜질 없이도 애플리케이션을 빠르게 빌드하고 사용자 정의할 수 있습니다. 또한 사전 빌드되고 유지 관리되는 사용자 정의 컨트롤을 많이 찾을 수 있습니다. Mendix 마켓플레이스. SASS와 사용자 정의 React 플러그인 위젯으로 더 확장할 수 있는 옵션이 항상 있습니다.
보안은 어떨까요? 애플리케이션과 데이터베이스를 보호하는 것은 시스템을 개발하는 데 가장 중요한 요소 중 하나입니다. Mendix 시스템 보안의 위험을 제거하고 로컬 로그인이나 단일 로그인 공급자와 함께 사용할 수 있는 표준화된 로그인 제어 세트를 기대할 수 있습니다. 또한 페이지에 대한 액세스뿐만 아니라 행 수준 데이터베이스 보안을 제어하는 데 사용할 수 있는 기본 제공 사용자 역할도 있습니다. 즉, 애플리케이션을 사용하는 모든 사람은 권한이 부여된 데이터에만 액세스하고 변경할 수 있습니다. 실수로 데이터를 볼 수 없는 사람에게 노출시킬 위험이 없습니다.
이 모든 것과 플랫폼 자체도 지속적으로 점검하고 업데이트하여 보안을 보장합니다.
이 모든 도구를 합치면 개발 속도가 최대 4배까지 빨라질 것으로 기대할 수 있습니다. 저는 C# 개발에서 로우코드로 옮겼고 어떤 경우에는 그보다 더 빨라졌다고 주장하고 싶습니다. 사실, 우리는 대부분 프로젝트에서 애플리케이션 생성의 병목 현상이 개발 리소스가 아니라 사용자 스토리인 지점에 도달했습니다.
그런데, 플랫폼에 내장된 모든 프로젝트 관리 및 협업 도구도 있습니다. 비즈니스 전반의 다른 개발자와 협업하기 위한 도구. 스토리를 수집하고 스프린트를 관리하기 위한 도구. 사용자와 테스터가 스크린샷을 찍고 버그 보고서나 기능 요청으로 전환할 수 있는 피드백 위젯.
새롭고 기이한 세계를 탐험하다…
"코드 생성기와 로코드/노코드 시스템이 요즘 어디에나 있는데, 당신을 특별하게 만드는 것은 무엇인가요?"
과거에도 코드 생성기를 제대로 구현하려는 시도가 여러 번 있었고, 개발자가 필요 없고 유지 관리가 가능한 코드를 생성해 준다고 약속하는 애플리케이션도 많았습니다. Mendix 코드 생성기가 아니기 때문에 다릅니다. 우리는 여러분이 하는 일에서 코드를 생산하겠다고 약속하지 않습니다. 여러분이 만드는 모든 것은 메타데이터 모델로 저장되고 전용 플랫폼에서 실행됩니다.
플랫폼과 코드의 이러한 분리는 둘 다 독립적으로 업데이트를 받을 수 있음을 의미합니다. 둘 다 동기화 상태로 유지할 필요는 없습니다. 코드로 생성된 애플리케이션에서는 항상 빌드하는 버전이 환경의 일치하는 버전으로 컴파일되고 모든 업데이트가 둘 다에 적용되어야 합니다.
인터프리터 기반 시스템에서는 호스팅 환경에 광범위한 영향을 미치지 않고도 개발자에게 개선 사항을 제공하는 것이 훨씬 쉽습니다. 또한 실행할 때마다 코드 조각을 생성할 필요가 없으므로 앱을 빌드하고 테스트하는 것도 훨씬 빠릅니다.
새로운 삶과 새로운 문명을 찾아서…
"저는 StackOverflow와 저를 지원해주는 모든 동료들을 갖고 있는데, 당신은 무엇을 제공할 수 있나요?"
로우코드는 지금 정말 진가를 발휘하고 있으며, 이를 중심으로 협업과 재사용의 원칙을 바탕으로 한 활발한 커뮤니티가 성장하고 있습니다.
당사 마켓플레이스에서 사용자 정의 모듈과 플러그형 위젯을 많이 찾을 수 있으며 이는 다음을 포함하여 구축 및 유지 관리됩니다. Mendix 하지만 우리 지역 사회도 마찬가지입니다. Mendix 제작자는 자신이 만든 것을 공유하고, 자신이 만든 것을 자랑하는 것을 좋아합니다.
또한, 학습 경로, 문서, 블로그 게시물 및 포럼에서 생각할 수 있는 거의 모든 질문에 대한 답변을 찾을 수 있습니다. 답변을 찾지 못한 경우 포럼에서 질문을 하면 의심할 여지 없이 답변을 얻을 수 있습니다. 포럼은 지속적으로 모니터링되므로 Mendix
전문가는 항상 기꺼이 도움을 제공합니다. (당신이 돈을 벌 수 있다는 것은 해롭지 않습니다. Mendix 커뮤니티에 적극적으로 참여하면 포인트를 얻을 수 있으며 이를 교환할 수 있습니다. Mendix (티셔츠, 후드 티셔츠, 슬리퍼와 같은 멋진 옷!)
로우코드가 가보았던 곳에 대담하게 나아갑니다!
"수년간 코딩을 배우느라 시간을 보냈는데, 그냥 포기하고 흐름도를 그려야 하나요?"
플로우 차트를 그리는 것처럼 보이지 않나요? 사람들은 플로우 차트를 사용하기 때문에 따라하기 쉽고 논리적 시스템을 표현하는 명확한 방법이기 때문입니다. 시스템의 논리적 표현이 아니라면 코드란 무엇일까요?
다음과 같은 Low Code 플랫폼이 제공하는 도구 Mendix 변수, 객체, IF 문, 루프와 같이 프로그래밍에서 매일 사용하는 것과 동일한 것들의 근본적인 표현입니다. 프로그래밍에서 배운 모든 동일한 기술은 여전히 로우 코드에 적용됩니다. 문제를 취하고 논리적 진술의 표현을 통해 해결하려면 여전히 개발자의 이해가 필요합니다.
당신이 얻은 모든 경험은 시각적 블록을 사용하여 문제의 핵심에 빠르게 도달함으로써 문제를 해결하는 데 적용될 수 있습니다. 기초와 가장자리 주변의 솜털에 시간을 덜 쓰고 시스템의 중요한 핵심과 기능에 더 많은 시간을 할애할 수 있습니다.
그러다 정말 막히거나 뭔가 더 필요하다면 항상 코드나 플러그인형 위젯으로 확장할 수 있습니다.
로코드로 성공하세요.
저는 이것이 전문 개발자들이 가질 수 있는 근본적인 질문과 우려에 대한 몇 가지 해답이 되었다고 생각하고 싶지만, 우리가 호기심이 많고 회의적인 무리일 수 있다는 것을 잘 알고 있습니다. 궁금한 점이 있거나 명확히 하고 싶은 것이 있으면 LinkedIn에서 자유롭게 연락하세요.
이 블로그 게시물에서 무엇인가를 얻는다면, 그것은 당신이 시도해 보셨으면 합니다. Mendix. "그냥 작동하지 않을" 또 다른 로우/노코드 제품으로 바로 치부하지 마세요. 대신, 시도해보세요.



