ArcGIS では Web アプリケーションの開発方法としてノーコード、ローコード、スクラッチの 3 種類の開発方法があります。実際に Web アプリケーションを作成する際にどの開発方法を選択するか悩む方もいるかと思います。そういった方向けに各開発方法の特徴とメリット、デメリットをお伝えし、今後の開発手法を選択する際のヒントになればと思います。
それでは、各開発方法の特徴とメリット、デメリットを見ていきます。
ノーコード開発は、文字通りソースコードの記述を必要とせずに、テンプレートを使用して数ステップでアプリケーションの作成や、ウィジェットやエレメントと呼ばれる機能のパーツを組み合わせてアプリケーションを作成する開発手法になります。
ArcGIS では、以下の 3 つのノーコード製品があります。
それぞれの製品の特長としては以下の通りです。
ArcGIS Instant Apps:テンプレートを使用して数ステップでアプリケーションを作成できます。作成したい要件のテンプレートがあればすぐにアプリケーションを作成できるのが特徴です。
ArcGIS Dashboards:独自のデータを使用したダッシュボード アプリケーションを作成できます。あらかじめ用意されているエレメントを選択するのみで直感的にダッシュボード アプリケーションを作成できるのが特徴です。
ArcGIS Experience Builder:ウィジェットと呼ばれる機能を組み合わせることで独自のアプリケーションを作成できます。ドラッグ&ドロップの操作で柔軟なアプリケーションを作成でき、非開発者でも自由度の高い独自のアプリケーションを作成できます。
ノーコード製品を使用することのメリットとして以下のようなものがあげられます。
一方、デメリットとしては以下のようなものがあげられます。
ローコード開発は、基本的にはノーコードの機能を使用し、ノーコード機能には実装されていない機能のみをソースコードを記述して独自の機能を作成して、ノーコードの機能と組み合わせてアプリケーションを作成する開発手法になります。
ArcGIS では、以下のローコード製品があります。
製品の特徴としては以下の通りです。
ArcGIS Experience Builder (Developer Edition):ノーコードの ArcGIS Experience Builder のローコード版になります。基本的な機能としては ArcGIS Experience Builder で提供されている機能を使用し、そこに独自の機能を作成することで低コストに拡張性のあるアプリケーションを作成することができます。
ローコード製品を使用することのメリットとして以下のようなものがあげられます。
一方、デメリットとしては以下のようなものがあげられます。
スクラッチ開発は、一からソースコードを記述して独自のアプリケーションを作成する開発手法になります。
ArcGIS では以下のスクラッチ製品があります。
製品の特徴としては以下の通りです。
ArcGIS Maps SDK for JavaScript:一から独自のアプリケーションを作成するため、要件にあった柔軟なアプリケーションを作成できます。様々なフレームワークを使用した開発や外部の API と連携したアプリケーションを作成することができます。また、自社で管理している Web アプリケーションに ArcGIS の地図を埋め込むことができます。
スクラッチ開発を使用することのメリットとしては以下のようなものがあげられます。
一方、デメリットとしては以下のようなものがあげられます。
それぞれの開発手法について表にしたものが以下になります。
ノーコードは開発コストを抑えてアプリケーション開発でき、メンテナンス性が高いですが、機能や UI を拡張することができないため要件が満たせない場合があります。一方でスクラッチ開発は開発コストが大きくなり、メンテナンス性も低くなりますが、機能や UI は自由に作成できるため要件に忠実にアプリケーションを作成できます。ローコードはノーコードとスクラッチ開発の間を取ったような開発手法になります。ただし、ビルダーの設定画面を構築することや、他のウィジェットとの兼ね合いを考慮した開発を行う必要があるため、1 機能あたりの開発コストが大きくなります。そのため、多くの機能を開発する場合はスクラッチ開発の方が、開発コストが低くなる可能性がありますのでご注意ください。
ArcGIS ではノーコード、ローコード、スクラッチ開発と 3 種類の開発方法がありますが、それぞれの開発方法にメリットがある一方でデメリットもあります。求められている要件によって開発手法を変えることで開発工数を最適化できますので、各開発方法の特徴を理解して最適な開発方法を選んでいただけたらと思います。
ArcGIS Experience Builder (Developer Edition)
ArcGIS Maps SDK for JavaScript
ArcGIS Experience Builder (Developer Edition)
ArcGIS Maps SDK for JavaScript