エンドユーザによる内製化の進展や、技術者不足の影響により、プログラミング言語を用いてゼロから開発するのではなく、ツールを使って画面上でモデルを定義することで動作するコードが生成される開発手法に注目が集まっています。この開発手法を一般にはローコード開発と呼び、ローコード開発を実現するローコード開発基盤が各社から提供されています。
本レポートでは、コンセプトの異なる複数のローコード開発基盤を選択し、試用のうえ、特徴を解説しています。スクラッチでのWebアプリケーション開発経験のある方が、システム開発の効率化、高速化を狙って、ローコード開発基盤の導入を検討する際に、評価ポイントを洗い出すためのヒントとして活用してください。
ローコード開発基盤とは、最小限のコーディングによるシステム開発(Webアプリケーション、バッチ、外部インターフェースなど)を実現する開発基盤です。GUIベースのモデルエディタや自動生成機能などを利用することにより、HTMLやJava、C#のようなプログラミング言語によるコーディングを極力抑えることで、生産性向上を狙っています。
ノーコード開発基盤との違い
ローコードとよく似た言葉としてノーコードというものがあります。ローコード開発基盤では少量のソースコードを書くことにより、生産性と拡張性を両立させていますが、ノーコード開発基盤はソースコードを全く書かないので生産性向上に特化するものの、拡張性が弱いと言われています。しかし、両者の線引きは難しく、様々な見方があるので、ある製品がどちらに属しているかは一概には言えないのが現状です。本レポートでは、ローコード開発基盤という表現に統一しています。
ローコード開発基盤は、モデルを定義することでソースコードを生成しアプリケーションを構築するツールです。まず、モデルとモデルによるコード生成の関係について説明します。
ローコード開発基盤がモデルからソースコードを生成する流れとして、本レポートでは以下の3つのレイヤを用いて説明します。
ローコード開発基盤では、開発者がツールを使って、モデルを定義すると、ソースコードが自動生成されます。モデルだけで完全なアプリケーションを定義できる製品の場合は、モデル定義を完遂することで開発は完了し、生成されたソースコードも完全なソースコードとなるので変更せずそのまま使用できます。
また、一部の製品は、ビジネスルールなどの抽象モデルからモデルを自動生成する機能を持っています。
今回評価対象となっている4つのツール(OutSystems、Mendix、楽々Framework3、GeneXus)を上記に当てはめると以下のようになります。
次に、今回対象としているツールの評価方法について説明します。
評価対象として、以下の特徴を持つ4製品を選定しました。
評価は、開発自由度、拡張性の観点で、以下を実施しました。(評価時期 :2019年4月~2019年6月)
※GeneXus については、ドキュメント調査とセミナー受講のみ実施。
サンプルアプリケーションの構築についての詳細は、Appendixを参照ください。
評価により判明したそれぞれの製品の特徴や違いを詳細レポートや比較表としてまとめました。
[製品毎に開発方法、自由度、拡張性及び活用場面について着目した詳細レポート]
[基本機能、システム要件、ライセンス形態などを比較した比較表]
ローコード開発基盤は、以下のような標準機能の範囲でアプリケーションを構築することで最も生産性を高めることができます。
いずれの製品もJavaやC#のプログラミング言語による拡張手段を提供していますが、これらの乱用や標準を逸脱したカスタマイズは生産性や保守性を低下させるおそれがあるので注意が必要です。
そのため、ツールが提供する機能の範囲に要件調整をしやすい社内システムやECサイトにおけるバックエンドシステム(商品マスタのメンテナンス等)のような開発で効果を発揮しやすいと考えられます。
要件適合に関するPoCなどの評価を行い、ツールの標準機能がどの程度システムにマッチしているかを見極めることが大切です。
※各製品の特徴と効果的な活用場面について詳細レポートに記載していますので、そちらもご覧ください。
開発方法の確認と、自由度・拡張性などを評価するために、以下の仕様の商品管理アプリケーションを作成しました。
[評価者のプロフィール]
サンプルアプリの開発者(評価者)のプロフィールを参考情報として記載します。
本コンテンツはクリエイティブコモンズ(Creative Commons) 4.0 の「表示—継承」に準拠しています。
Copyright 2020 TIS Inc.keyboard_arrow_up