Esri 製品における Runtime とは?

昨年 10 月にデスクトップ GIS アプリケーション開発者向け製品の ArcGIS Runtime SDK for WPF を新しくリリースし、スマートフォン対応 GIS アプリケーション開発ツールの ArcGIS API for iOS や ArcGIS API for Android なども ArcGIS Runtime SDK for iOSArcGIS Runtime SDK for Android と名称変更しました。一方では ArcGIS Engine のアプリケーション配布用製品である ArcGIS Engine Runtime はバージョン 10.1 から ArcGIS Engine という名称になり、Runtime という言葉を使わなくなりました。
このように “Runtime” という言葉が付いたり付かなかったりと、ここ半年で製品名に関していくつか変更がありましたので以下に整理します。

■コンピュータの利用形態の変化
少し前までコンピュータを利用するとなると、机の上にモニタと大きな筐体を並べ、いわゆるデスクトップ PC を使って作業を行っていました。時代の流れとともにコンピュータも軽量化・小型化し、ノート PC でも十分に作業が行えるようになり、いまではタブレット PC やスマートフォンのようにどこにでも手軽に持ち運べるような軽量 PC が主流となってきています。

このようにコンピュータはいつでもどこでもすぐに利用でき、とても便利になりましたが、さらに求められることはどの端末(デバイス)でも「同じような機能」を「同じような操作感」で使えるようになれば作業効率もさらに向上します。

コンピュータの利用形態の変化

■Lightweight GIS の登場

上記のような背景の中で、GIS 製品もあらゆる端末上で手軽に使えることが求められるようになりました。私たちは手軽に利用できる GIS を「Lightweight GIS(軽量 GIS)」と呼ぶことがあります。
Lightweight GIS の要件定義としては大きく 4 つあります。

・ワークフローベースのアプリケーションであること(汎用性を高めず、ある程度決められた操作手順が定義されており、操作ミスや複雑性をなくすように設計されたアプリケーション)
・異なるプラットフォームでも同様の機能や操作性があること

・GIS の機能とデバイスの機能を相互的に利用できること(GPS や加速度センサーなど)
・インターネットへの接続モードの切り替えができること(非接続状態でも同じように機能が利用できる)

■Runtime の定義

Lightweight GIS の要件を満たすために Runtime というコンセプトが登場しました。Runtime は一つの製品を指すのではなく、異なる多くの ArcGIS 製品の根底にあるプラットフォームとみなすことができます。

Runtime の機能は各プラットフォーム(デバイス)の機能を十分に利用できるようになっています。たとえばモバイル プラットフォーム上では、GPS や加速度センサーの機能を利用し、デスクトップの Runtime は Runtime アプリケーションが実行しているデバイスの能力を使用することができます。これにより開発者は処理が高速でかつ機能が強力な GIS アプリケーションを開発し、デスクトップの Runtime であれば非接続環境(オフライン)上で実行することができます。オフラインの機能は今後モバイルの Runtime でも利用できるようになります。

現在 8 つの Runtime 製品があり、これらはモバイルの Runtime とデスクトップの Runtime に大別することができます。

Runtime 製品
*印がついているものは現時点では国内サポート対象外です。

それぞれの Runtime は個別の SDK(ソフトウェア開発キット)があり、各プラットフォームに応じて適切な言語を使用して開発ができます。デスクトップとモバイルの Runtime の機能は一部異なる部分はあるものの、ほぼ同じ機能を兼ね備えており、かつ開発 API に実装されているクラスやプロパティ、メソッドなどもある程度統一されているため、あるデバイス向けに開発したソースコードを別のデバイス用に作り替えたりすることもスムーズに行うことが可能です。

■なぜ ArcGIS Engine Runtime と呼ばなくなったのか?

前述のように、従来製品であるデスクトップ GIS アプリケーション配布用製品「ArcGIS Engine Runtime」は「ArcGIS Engine」と呼ぶようになりました。これは Runtime という言葉が付いていると、ArcGIS Runtime と同等の製品と思われてしまうためです。ArcGIS Engine はコンセプトやテクノロジ、さらには利用できる機能も大幅に異なるため区別する必要がありました。従来から利用している ArcGIS Engine ユーザ(開発者)は混乱しがちですが、これを機に覚えていただければと思います。

■関連リンク
ArcGIS Runtime SDK