ArcGIS Server リリース以来、Esri は .NET 用の Web ADF(Application Developer Framework)を提供してきました。そして最近、Esri は JavaScript, Flex, Silverlight に対応した ArcGIS Web Mapping APIs もリリースしました。これにより開発者は選択肢の幅が広がりました。
選択肢が広がったことにより、誰もが思う共通の疑問があります。それは、”どの API を使用すべきか?” ということです。
以下に、各 API を選択するための指針を示します。
■開発者はどの開発プラットフォームを好みますか?
各 API は同じような機能を持っているため、重要な点は “何をしたいのか?” ではなく、”どの開発プラットフォームを好むのか?” ということになります。普段から Microsoft の技術を使用して仕事をしており、Microsoft の技術を追求したい開発者であれば、.NET や Silverlight が良い選択肢となります。似たような考え方で、過去 10 年間で、ArcIMS アプリケーションにカスタムスクリプトを追加したことがあるような開発者は、ArcGIS JavaScript API が良い選択肢かもしれません。
すでになじみ深い開発プラットフォームを選択することによって、開発コストを削減したり、モチベーションを高めたりすることができます。
■開発者の経験レベルはどの程度ですか?
多くの開発初心者は Web ADF よりも JavaScript, Flex, Silverlight API のほうが容易であることに気づきます。その理由はそれらがより基本的なアーキテクチャを持っているためです。これらの API は ArcGIS Resource Center にあり、ビデオを参照したり、チュートリアルを読んだり、サンプルを実行したりすることができます。Esri はサンプルを数多く提供しており、API を深く学習することができます。実際、JavaScript マッピング アプリケーションは、テキスト エディタとインターネット接続さえあれば実行することができます。
一方、開発者によっては高度で複雑な機能や .NET のコーディング パターンのほうを好む場合もあります。すでに .NET で多くの仕事をしてきたり、過去に ArcObjects で開発を行ってきたような開発者がこれに該当します。
■ブラウザのプラグインを入れることは可能ですか?
ArcGIS API for Flex および Silverlight はブラウザのプラグインを必要とします。ブラウザのプラグインを入れることができない場合は、ArcGIS JavaScript API あるいは .NET ADF が選択肢となります。
ArcGIS API for Flex は Flash プラグインを必要としますが、Adobe 社のサイトによれば、インターネット接続可能なデスクトップコンピュータの 99% が Flash プラグインをインストールしている、とのことです。Silverlight プラグインについては未調査ですが、確実に増えつつあります。
プラグインには異なるバージョンがあり、エンドユーザが Web アプリケーションを実行する際の障害となりうる可能性があります。Flex あるいは Silverlight を使用するように選択した場合、プラグインのバージョンをアップグレードできるような機能を搭載しておくとよいかもしれません。ArcGIS API for Flex は Flash Player 9 以上を必要とします。ArcGIS API for Silverlight は Silverlight 3 を必要とします。
これらの API が将来バージョンアップすると、プラグインもより高いバージョンのものを要求する可能性があります。また ArcGIS API に依存しない追加機能によって、より高いバージョンのプラグインが必要となる場合もあります。
■IDE を使用したいですか?
API を選択した場合、コーディングをするための開発環境を選択する必要があります。Flex ユーザはおそらく Flex Builder が必要となります。.NET や Silverlight ユーザは、Visual Studio あるいは Visual Web Developer Express を使用することになります。Expression Blend は Silverlight 開発者にとって別の選択肢です。Java 開発者は Eclipse あるいは NetBeans が使用可能です。JavaScript プログラマは単純なテキスト エディタでコーディングするオプションも含め、より幅広い選択肢があります。
これらの IDE の長所や短所はこのドキュメント以外にも掲載されています。いくつかの IDE は有償ですが、アプリケーションのデザインやデバッグに費やす時間を削減することによって、コストを回収できるかもしれません。金銭的に厳しい場合は、IDE を必要としない開発環境を選ぶこともできます(特に JavaScript)。多くの商用の IDE は、評価版やフリーの開発バージョンを提供しています。
■Web 上でフィーチャを編集する必要がありますか?
.NET ADF は ArcObjects にアクセスすることができるので、フィーチャのジオメトリを編集する機能を実装することができます。ADF は Web 上での基本的な編集を行うことができる、即利用可能なタスクを提供しています。Web 編集機能を持つアプリケーションを作成する必要がある場合は、.NET ADF が選択肢となります。尚、ArcGIS Server 10(2010 年 10 月リリース予定)では、JavaScript, Flex, Silverlight API でも Web 編集が行えるようになる予定です。
■Bing Maps や Google Maps を背景地図として利用する必要がありますか?
Microsoft Big Maps あるいは Google Maps をアプリケーションの中に背景データとして使用したいという要望があるかもしれません。これは API を選択する上での一つの指針となります。
・Bing Maps は、.NET ADF, ArcGIS API for JavaScript, Flex, Silverlight でレイヤとしてサポートされています。ArcGIS JavaScript Extension for Bing Maps API というものもあります。
・Google Maps は ArcGIS JavaScript Extension for the Google Maps API で利用可能です。
■最新のテクノロジに対しても抵抗がないですか?
組織によっては最新のテクノロジには慎重に対応します。特に JavaScript のようにすでに成熟している技術と、つい最近出てきた最新技術の Silverlight を比較検討する場合は、組織の方針を把握しておくことが重要です。