ネイティブ? Web? ハイブリッド?
ArcGIS 製品を使って iPhone や iPad などの iOS デバイス向けのマッピング アプリケーションを開発する場合、いくつかの方法があります。ArcGIS API for iOS を使って iOS ネイティブ アプリケーションを開発する方法と、ArcGIS API for JavaScript を使って iOS に搭載された Safari 上で動作する Web アプリケーションを開発する方法です。また、JavaScript と HTML を使って iOS ネイティブ アプリケーションを開発するフレームワーク(ハイブリッドと呼ばれます)を利用するのも一つの方法です。これらの中から開発方法を選択する際の考慮点としては、以下のようなことが挙げられます。
・開発言語
・開発環境/ライセンス
・アプリケーションの公開方法
・操作性
・実装する機能
iOS 特有の操作性が必須ではなく、開発者が JavaScript の開発経験が豊富であれば、ネイティブ アプリケーションを開発するよりも Web アプリケーションを開発する方が良い選択かもしれません。今回の記事では ArcGIS API for JavaScript を使ったモバイル アプリケーション開発の概要についてご紹介します。
ArcGIS API for JavaScript
ArcGIS API for JavaScript は ArcGIS Server から公開されるオンライン リソースを使用して Web マッピング アプリケーションを開発するための API です。この API を使用して開発したアプリケーションは、PC に搭載された Web ブラウザだけでなく、モバイルデバイスに搭載された Web ブラウザでも利用可能です。
① ArcGIS Resource Center サンプル
ArcGIS Resource Center の ArcGIS API for JavaScript のページには、モバイル向けに開発されたサンプル アプリケーションが用意されています。開発者はこれらのサンプルを参考にして、開発を始めることができます。
・モバイル向けのサンプルページ
② コンパクト ビルド
ArcGIS API for JavaScript のライブラリには通常版と、モジュールを最小限にしてサイズが小さく設定されたコンパクト ビルドがあります。PC 上で利用する場合に比べて、モバイル デバイスではネットワークの回線速度が遅い場合が多くなります。そのため、クライアントのモバイル デバイスがダウンロードするサイズを少なくするために、コンパクト ビルドを用いるのが理想的です。
コンパクト ビルドは、ソースコード上でライブラリの参照先を変更するだけで、通常のライブラリと同様の方法で GIS 機能を実装することができます。
<通常版のライブラリの参照先>
<script type=”text/javascript” src=”http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8″></script>
<コンパクト ビルドの参照先>
<script type=”text/javascript” src=”http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8compact”></script>
このコンパクト ビルドには、モバイル向けに最適化された専用のズームスライダ、情報ウィンドウが用意されています。開発者はユーザ インタフェースを考慮することを除き、PC向け Web アプリケーションを開発する場合と同じ方法で iOS アプリケーションを開発できます。しかし、マウス操作で可能なスナップやフリーハンドでのグラフィックス描画は利用できないので注意が必要です。
③ サードパーティのツールや HTML5 の活用
Web アプリケーションのデメリットとして、モバイル デバイスに内蔵された GPS やカメラなどの機能にアクセスできない点が挙げられます。これらの機能をアプリケーションで使いたい場合は、サードパーティのツールや HTML5 を併用することができます。
・Picup
Picup は App Store で公開される iOS デバイスのカメラで撮影した写真を Web 上にアップロードできるアプリケーションです。Picup アプリケーションで撮影した写真の保存先が URL で返されるため、開発者はその URL をもとに開発する GIS アプリケーションでフィーチャに写真を添付(アタッチメント)する機能を実装することができます。
・Geolocation APIGeolocation API は、World Wide Web Consortium (W3C) で策定される位置情報を扱うための API です。Geolocation API を利用すれば、モバイル デバイスの現在地の情報を取得し、地図上でその場所を確認することができます。
今回の記事では、ArcGIS API for JavaScript を用いた iOS アプリケーションの開発についてご紹介しました。ArcGIS 製品群は、様々なプラットフォーム及び開発環境に対応していますので、開発者の方はこれらの選択肢から最適な製品や開発方法を選択することができます。ぜひご活用ください。
■関連リンク
ESRI ジャパン Web サイト
・ArcGIS API for JavaScript
Esri 社 (米国)Web サイト
・ArcGIS API for JavaScript