Zunächst
ArcGIS bietet Web-Anwendungen drei Arten von Entwicklungsmethoden: No-Code, Low-Code und Scratch.3 Es gibt drei Arten von Entwicklungsmethoden. Tatsächlich denke ich, dass es Situationen gibt, in denen man sich Gedanken darüber macht, welche Entwicklungsmethode man wählen soll, wenn man eine Web-Anwendung erstellt. In diesem Sinne möchte ich die Merkmale, Vor- und Nachteile jeder Entwicklungsmethode erläutern, um bei der Auswahl der zukünftigen Entwicklungsmethode zu helfen.Web-Anwendung
Dann schauen wir uns die Merkmale, Vor- und Nachteile jeder Entwicklungsmethode an.
No-Code
Die No-Code-Entwicklung ist eine Methode zur Erstellung von Anwendungen mit mehreren Schritten unter Verwendung von Templates, ohne dass eine Beschreibung von Quellcode erforderlich ist. Sie kombiniert Widgets und Funktionen, die als Bausteine bezeichnet werden.
ArcGIS bietet die folgenden 3 No-Code-Produkte an.
Die Merkmale jedes Produkts sind wie folgt.
ArcGIS Instant Apps: Ermöglicht die Erstellung von Anwendungen mit mehreren Schritten unter Verwendung von Templates. Wenn ein passendes Template vorhanden ist, kann sofort eine Anwendung erstellt werden.
ArcGIS Dashboards: Ermöglicht die Erstellung von Dashboard-Anwendungen mit eigenen Daten. Es ist nur möglich, vorgefertigte Elemente auszuwählen und zu verwenden.Direkt können Dashboard-Anwendungen erstellt werden.
ArcGIS Experience Builder: Durch Kombination von Widgets können eigenständige Anwendungen erstellt werden. Drag & Drop ermöglicht die Erstellung flexibler Anwendungen, sodass auch Nicht-Entwickler eigenständige Anwendungen mit hohem Freiheitsgrad erstellen können.
Als Merkmale der Verwendung von No-Code-Produkten gelten folgende Punkte.
- Bei Anwendungen, die Quellcode benötigen, ist Programmierung durch Entwickler üblich. Bei No-Code können jedoch auch Nicht-Entwickler eigenständige Anwendungen erstellen.
- ArcGIS bietet ArcGIS Online oder ArcGIS Enterprise an, auf denen Bildschirme übertragen werden. Wenn ein Webbrowser vorhanden ist, kann ohne andere Entwicklungsumgebungen entwickelt werden.
- Wenn Anforderungen an die Anwendung hinzukommen, kann durch Hinzufügen von Einstellungen und Funktionen der Anwendung entsprochen werden.
- ArcGIS Online und ArcGIS Enterprise können durch Versionsupdates neue Funktionen nutzen.
Andererseits gibt es als Nachteile folgende Punkte.
- Wenn vorhandene Funktionen die Anforderungen der zu erstellenden Anwendung erfüllen, ist das gut. Wenn jedoch benötigte Funktionen nicht verfügbar sind, müssen diese Funktionen hinzugefügt werden.
- Bezüglich UI , muss das festgelegte verwendet werden und es gibt keine Möglichkeit, sich auf UI . zu konzentrieren
Low-Code
Low-Code-Entwicklung verwendet grundsätzlich Funktionen des No-Codes und beschreibt Quellcode nur für nicht implementierte Funktionen, um eigene Funktionen zu erstellen und diese mit den No-Code-Funktionen zu kombinieren. So entsteht eine Entwicklungsmethode zur Erstellung von Anwendungen.
ArcGIS bietet die folgenden Low-Code-Produkte an.
Die Merkmale des Produkts sind wie folgt.
ArcGIS Experience Builder (Developer Edition): Ist die Quellcode-Version von ArcGIS Experience Builder.. Grundlegende Funktionen werden mit den in ArcGIS Experience Builder bereitgestellten Funktionen verwendet und durch eigene Funktionen erweitert, um kostengünstige Anwendungen zu erstellen.
Als Merkmale der Verwendung von Low-Code-Produkten gelten folgende Punkte.
- Nur mit den Funktionen des No-Codes kann es nicht realisiert werden, aber durch Erstellen eigener Funktionen und deren Kombination kann kostengünstiger entwickelt werden als bei Scratch-Entwicklung.
- Erstellte eigene Funktionen können nicht nur in einer Anwendung verwendet werden, sondern auch in mehreren Anwendungen wiederverwendet werden.1und mehr Anwendungen können gemeinsam genutzt werden.
一方、デメリットとしては以下のようなものがあげられます。
- ローカル環境での開発になるため独自の開発環境を用意する必要がある
- プログラミングに関する知識が必要になるため、そういった技術を持った開発者が必要
- 機能単位での開発になるため、既存の機能との連携関係を考慮した設計をする必要がある
- 単一の機能単位でみるとローコード開発ではアプリケーションの操作画面 + ビルダーの設定画面を作る必要があり、スクラッチ開発に比べて開発コストが大きくなる
- 上記により、複数の機能を作成しようとする場合、スクラッチ開発よりも開発工数がかかる可能性がある
- 作成したアプリケーションや機能を配信する際は、別途 Web サーバーが必要になる
- ノーコードで新規に追加された機能を使用したいという場合には、改めて新しいバージョンでアプリケーションや機能をコンパイル、デプロイし直す必要がある
スクラッチ
スクラッチ開発は、一からソースコードを記述して独自のアプリケーションを作成する開発手法になります。
ArcGIS では以下のスクラッチ製品があります。
製品の特徴としては以下の通りです。
ArcGIS Maps SDK for JavaScript:一から独自のアプリケーションを作成するため、要件にあった柔軟なアプリケーションを作成できます。様々なフレームワークを使用した開発や外部の API と連携したアプリケーションを作成することができます。また、自社で管理している Web アプリケーションに ArcGIS の地図を埋め込むことができます。
スクラッチ開発を使用することのメリットとしては以下のようなものがあげられます。
- ノーコード、ローコードでは実現できないアプリケーションの作成が可能
- UI から機能まで必要な要件を満たすアプリケーションを開発することができる
- ArcGIS だけでなく外部の機能と連携したアプリケーションを開発することができる
- 自社で管理する Web アプリケーション上に ArcGIS の地図を埋め込むことができる
一方、デメリットとしては以下のようなものがあげられます。
- 機能変更や拡張が必要な場合はアプリケーションのソースコードを書き換える必要がある
- プログラミングを行う必要があるため、開発の知識を持った技術者が必要
- 作成したアプリケーションを配信する際は、別途 Web サーバーが必要になる
それぞれの開発手法について表にしたものが以下になります。
ノーコードは開発コストを抑えてアプリケーション開発でき、メンテナンス性が高いですが、機能や UI を拡張することができないため要件が満たせない場合があります。一方でスクラッチ開発は開発コストが大きくなり、メンテナンス性も低くなりますが、機能や UI は自由に作成できるため要件に忠実にアプリケーションを作成できます。ローコードはノーコードとスクラッチ開発の間を取ったような開発手法になります。ただし、ビルダーの設定画面を構築することや、他のウィジェットとの兼ね合いを考慮した開発を行う必要があるため、1 機能あたりの開発コストが大きくなります。そのため、多くの機能を開発する場合はスクラッチ開発の方が、開発コストが低くなる可能性がありますのでご注意ください。
まとめ
ArcGIS ではノーコード、ローコード、スクラッチ開発と 3 種類の開発方法がありますが、それぞれの開発方法にメリットがある一方でデメリットもあります。求められている要件によって開発手法を変えることで開発工数を最適化できますので、各開発方法の特徴を理解して最適な開発方法を選んでいただけたらと思います。
参考リンク