To begin with
ArcGIS offers Web application development methods including three types: No-code, Low-code, and Scratch. When actually creating a 3 types of Web applications, you may wonder which development method to choose. For such purposes, we will explain the features, merits, and demerits of each development method to help you choose the right development method in the future.Web application
Now, let's look at the features, merits, and demerits of each development method.
No-code
No-code development is a development method that allows you to create applications in several steps using templates without requiring text-based source code descriptions, combining parts called widgets and elements.
ArcGIS offers the following 3 No-code products.
The characteristics of each product are as follows.
ArcGIS Instant Apps: You can create applications in several steps using templates. If there is a template that meets your requirements, you can quickly create an application, which is its feature.
ArcGIS Dashboards: You can create dashboard applications using your own data. It is characterized by allowing you to select only the elements intended for use and directly create dashboard applications.It is characterized by allowing you to directly create dashboard applications.
ArcGIS Experience Builder: By combining parts called widgets, you can create unique applications. You can create flexible applications with drag & drop operations, and even non-developers can create highly independent applications freely.
When using no-code products, the merits are as follows.
- Applications that require source code usually involve programming by developers, but with no-code, even non-developers can create unique applications.
- ArcGIS offers ArcGIS Online or ArcGIS Enterprise, where builder screens are delivered, so if there is a web browser, you can develop without preparing other development environments.
- If there are additional requirements for the application, it is possible to respond by adding settings and functions to the application.
- ArcGIS Online and ArcGIS Enterprise versions allow you to use new functions according to version updates.
On the other hand, the demerits are as follows.
- If existing functions meet the requirements of the application you want to create, it is good; however, if necessary functions are not available, those functions need to be added.
- Regarding UI, it is necessary to use what has been decided and cannot be customized according to UI preferences.
Low-code
Low-code development basically uses no-code functions and creates unique functions by describing source code only for functions not implemented in no-code functions. It combines these with no-code functions to create applications.
ArcGIS offers the following low-code products.
The features of this product are as follows.
ArcGIS Experience Builder (Developer Edition): This is the source code version of ArcGIS Experience Builder. The basic functionality uses the features provided by ArcGIS Experience Builder and creates unique functions to develop low-cost expandable applications.
When using source code products, the merits are as follows.
- It is not possible to realize only with no-code product functions; however, by creating unique functions and combining them, it is possible to reduce costs compared to scratch development and develop applications.
- Created unique functions can be used not only in one application but also shared across multiple applications.1and more applications can be used.
一方、デメリットとしては以下のようなものがあげられます。
- ローカル環境での開発になるため独自の開発環境を用意する必要がある
- プログラミングに関する知識が必要になるため、そういった技術を持った開発者が必要
- 機能単位での開発になるため、既存の機能との連携関係を考慮した設計をする必要がある
- 単一の機能単位でみるとローコード開発ではアプリケーションの操作画面 + ビルダーの設定画面を作る必要があり、スクラッチ開発に比べて開発コストが大きくなる
- 上記により、複数の機能を作成しようとする場合、スクラッチ開発よりも開発工数がかかる可能性がある
- 作成したアプリケーションや機能を配信する際は、別途 Web サーバーが必要になる
- ノーコードで新規に追加された機能を使用したいという場合には、改めて新しいバージョンでアプリケーションや機能をコンパイル、デプロイし直す必要がある
スクラッチ
スクラッチ開発は、一からソースコードを記述して独自のアプリケーションを作成する開発手法になります。
ArcGIS では以下のスクラッチ製品があります。
製品の特徴としては以下の通りです。
ArcGIS Maps SDK for JavaScript:一から独自のアプリケーションを作成するため、要件にあった柔軟なアプリケーションを作成できます。様々なフレームワークを使用した開発や外部の API と連携したアプリケーションを作成することができます。また、自社で管理している Web アプリケーションに ArcGIS の地図を埋め込むことができます。
スクラッチ開発を使用することのメリットとしては以下のようなものがあげられます。
- ノーコード、ローコードでは実現できないアプリケーションの作成が可能
- UI から機能まで必要な要件を満たすアプリケーションを開発することができる
- ArcGIS だけでなく外部の機能と連携したアプリケーションを開発することができる
- 自社で管理する Web アプリケーション上に ArcGIS の地図を埋め込むことができる
一方、デメリットとしては以下のようなものがあげられます。
- 機能変更や拡張が必要な場合はアプリケーションのソースコードを書き換える必要がある
- プログラミングを行う必要があるため、開発の知識を持った技術者が必要
- 作成したアプリケーションを配信する際は、別途 Web サーバーが必要になる
それぞれの開発手法について表にしたものが以下になります。
ノーコードは開発コストを抑えてアプリケーション開発でき、メンテナンス性が高いですが、機能や UI を拡張することができないため要件が満たせない場合があります。一方でスクラッチ開発は開発コストが大きくなり、メンテナンス性も低くなりますが、機能や UI は自由に作成できるため要件に忠実にアプリケーションを作成できます。ローコードはノーコードとスクラッチ開発の間を取ったような開発手法になります。ただし、ビルダーの設定画面を構築することや、他のウィジェットとの兼ね合いを考慮した開発を行う必要があるため、1 機能あたりの開発コストが大きくなります。そのため、多くの機能を開発する場合はスクラッチ開発の方が、開発コストが低くなる可能性がありますのでご注意ください。
まとめ
ArcGIS ではノーコード、ローコード、スクラッチ開発と 3 種類の開発方法がありますが、それぞれの開発方法にメリットがある一方でデメリットもあります。求められている要件によって開発手法を変えることで開発工数を最適化できますので、各開発方法の特徴を理解して最適な開発方法を選んでいただけたらと思います。
参考リンク