本文へ

ここから本文です

使い勝手を改善する業務アプリ最新構築術

2008年9月 9日 掲載

DESIGN IT! magazine』vol.1の特集「Feature-1」を掲載しています。

iPhone SDKも登場し、iPhoneを取り巻くアプリケーション開発環境が整い始めた。これで企業においても、仕事の効率や生産性、そして顧客・従業員の満足度の向上に向けて、情報システムのユーザビリティを改善する具体的なシステムデザインを描けるだろう。ここでは、iPhoneを企業情報システムのフロントエンドとして使うための開発環境について最新情報を紹介する。


SDKのダウンロード数が4日間で10万件を越えた

表1 それぞれの開発環境の特徴と対象ユーザー
表1 それぞれの開発環境の特徴と対象ユーザー

3月にアップルが提供を開始した「iPhone SDK」(ソフトウエア開発キット)は、最初の4日間で10万ダウンロードを超えたという。そのすべてが純粋に開発に取り組むユーザーでなくとも、注目度が高いことは間違いない。

プログラミングを経験したユーザーであれば、先進的なUIを備える端末を前にしてワクワクしない人はいないだろう。一方、その美しい世界観の中でUIのデザインを試したいデザイナーも多いだろう。iPhone SDKは専門的な開発者を対象にした高度な開発環境だが、いくらか敷居を下げた他の開発環境も存在する。

ここでは、企業情報システムの使い勝手を改善し、利用者である顧客の満足度を高めたり社員の効率性や発想力を向上できるように、iPhone 上で直感的なUIを構築する方法について最新情報を紹介する。

アップルがSDKを公開する前まで開発者に勧めていたのは、iPhoneのブラウザ「Safari」用のWebアプリケーションを構築する方法だった。当時は、アップルの開発者向けサイトで公開されているiPhoneの画面サイズなどの仕様に則って、既存のWebアプリケーションのデザインを変更しながら開発を進めるという方法しかなかった。

そんな中で、いち早くiPhone 対応を果たしたWebサイトが「Facebook」だった(図2 参照)。一方、日本でもiPhone 発売前にも関わらず、インフォテリア・オンラインがオンライン表計算サービスである「OnSheet」のiPhone 対応版を公開している(図3 参照)。iPhoneは公式には、日本語には対応していないものの、このサービスでは日本語の表示や入力も可能で完成度は高い。

こうした状況はiPhoneがコンシューマ向けとしてだけではなく、ビジネス用途での期待感が現れていると言えるだろう。

iPhoneを企業情報システムに組み込んでいく場合、問題となるのはアプリケーションの開発だけではない。

その場合、プロジェクトによって主管する部門は異なるものの、新しいシステムや機器を現在稼働している基幹系システムに統合するときと同様に、情報システム部門は積極的に関与しながら進めていく必要がある。

例えば、既存のシステムとの連携を考える場合、対象となるパッケージソフトをカスタマイズしたのか、自社がスクラッチで開発したのかによって、開発のために参照するドキュメント資料は異なるだろう。最近ではAPIのような形で外部とのインタフェースを規定しているシステムも多くなってきたが、稼働してからかなりの時間が経っているシステムの場合であれば、まずその部分から検討する必要もあるだろう。

図1 今回紹介する開発環境の関係
図1 今回紹介する開発環境の関係

システムの企画・設計の段階においては、まず考慮すべき問題はデータのセキュリティだろう。携帯端末でしばしば発生する、紛失や盗難の際の情報漏えいのリスクを考えた上で、データへのアクセス方法、端末での保存方法などの扱いを含めて設計を進めたい。

また、運用開始後のiPhone 端末の一元管理や、アプリケーションのアップデートの方法といった保守サポートについても、導入するユーザー数に応じて適切なリソースを割り当てることを、あらかじめ考えておく必要がある。

こうした点を踏まえて、iPhoneの企業情報システムとの統合の仕方を考えていくことになる。

以下、企業情報システムのフロントエンドとして、iPhoneを使うための開発環境について具体的にみていこう。


正統派の開発環境 Xcode + iPhoneSDK

図2 iPhone対応版Facebook
図2 iPhone対応版Facebook
facebook [facebook.com]
図3 iPhone対応版OnSheet
図3 iPhone対応版OnSheet
OnSheet [onsheet.net]

iPhone SDKは、Mac OS Xの標準的な統合開発環境(IDE)である「Xcode」にiPhone 開発用のライブラリやテンプレートを追加する開発キットだ。そのため、プロジェクトの管理やインタフェースのデザイン、シミュレータを使ったデバック作業まで、これまでMac OS Xの開発を手掛けたことのある開発者ならそれほど迷うことなくiPhoneの開発を始めることができる。

SDKを使えば、iPhone 付属のアプリケーションと同様のネイティブアプリケーションを開発できる。iPhoneが備えている各種センサやカメラの機能をフル活用するアプリケーションも実装可能だ。

また、iPhoneではデータ保存の仕組みとして、軽量のリレーショナルデータベースである「SQlite」が使えるようになっている。SQliteは、iPhone 本体で完結する簡単なデータ管理のようなアプリケーションとは相性が良い。

また、無線LANを備えているので、iPhoneに入力されたデータはすぐにサーバーに送信できるし、逆にサーバー側の最新情報と内部データを同期する仕組みも実装できる。マイクロソフトの「Exchange Server」との連携が可能になったことで、この機能が一層クローズアップされることになりそうだ。

以上のような機能を使えば、例えばカメラ機能で商品のバーコードを読み取り、在庫を管理するような商品管理システムや、同じく商品のバーコードから商品関連情報を提示するといった情報キオスク端末などにはすぐに使えるだろう。

ただし、Mac OS Xの標準開発言語は「Objective-C」だ。Objective-CはCやC++などと比較すると日本語の資料が少ないなど、Mac OS Xの専門家でもなければ、すぐに使いこなせるというものではない。Objective-Cを習得した開発者からは、「C++に比べると言語仕様がスマートで、学習しやすい」といった好評価の声もあるが、初めて接する言語でいきなり業務アプリケーション全体を構築するのは難しいかもしれない。

そこでこうしたケースでは、UI 部品に近いiPhoneを特徴づけている部分に絞ってObjective-Cを使い、実際の処理部分は書き慣れたCやC++で記述するというような開発スタイルをとった方が良いだろう。


もうひとつのiPhone アプリ HTML + JavaScript

図4 iPhone Development PluginをインストールしたAptana Studio
図4 iPhone Development PluginをインストールしたAptana Studio

冒頭でアップルはもともと、Safari 用のWebアプリケーションを開発することを推奨していたと紹介した。Xcodeのような高度なIDEが用意されているとはいえ、すべてを一から開発してアプリケーションとして仕上げるのはかなりの工数が必要となる。

だが、あきらめる必要はない。最近では、企業情報システムのフロントエンドとしてWebアプリケーションのUIを使う場合が多い。これと同様に、iPhone用のインタフェースをWebアプリケーションとして開発するというアプローチであれば、一気にハードルは低くなる。

こうした場合に有効な選択肢となるのが、アップルがXcodeとともに提供する「Dashcode」だ。Dashcodeを使えば、Webアプリケーションながらも充分にiPhoneらしいインタフェースを構築できる。

Dashcodeはもともと、「ウィジェット」用の開発環境として提供されてきた。ウィジェットはMac OS X 10.4から導入された「Dashboard」という実行環境で動作する、HTMLとJavaScriptで記述した小さなアプリケーション。SDKをインストールした環境では、Dashcodeにはウィジェット用の開発テンプレートに加えて、iPhoneのインタフェースをもったWebアプリケーション開発用のテンプレートが追加される。基本的な開発は、このテンプレートに沿って進めてゆけば良い。

App Store が企業向けアプリを配布する
iPhone SDKにはシミュレータが付属しているので、基本的な開発とデバッグはシミュレータ上で進めることができる。ただし、iPhoneに搭載された各種センサの動作確認は、シミュレータではできないといった制限もある。

そこで、実機での動作確認には、有償のデベロッパプログラムの契約が必要となる(5月末日時点では米国在住のデベロッパが対象)。このプログラムには、年額99ドルのスタンダードプログラムと、年額299ドルのエンタープライズプログラムが用意されている。

このプログラムに申し込むことで、6 月に開始される「App Store」を通してアプリケーションの配布や販売が可能になる。配布にはアップルの審査が必要だが、これはちょうど「iTunes Music Store」を使った音楽配信と似ている。一方、ユーザーから見るとiTunesと同様の使い勝手で、アプリケーションを購入してインストールすることが可能となる。

さて、企業情報システム向けアプリケーションの場合でも、開発したアプリケーションはこのApp Storeを介して社員のiPhoneに配布することになる。だが、その際に不特定多数のユーザーにダウンロードされてしまうと、企業情報システムにとってはセキュリティ上の問題点になってしまう。

前出のエンタープライズプログラムでは、このような場合を想定して、特定のユーザー向けのApp Storeを作成できる。また、システム管理者の負担を下げるため、多数のiPhoneの環境設定を同期させるための機能など、Mac OS Xで育まれたクライアント環境の管理機能も提供される予定だ。iPhoneがマイクロソフトの「Exchange Server」に対応したことに加えて、企業向けの携帯端末としてiPhoneを検討する理由が、またひとつ増えたと言えるだろう。

Dashcodeでは、HTMLとJavaScriptを使って開発してゆくが、Xcodeと同様にシミュレータを介して動作を確認することもできる。JavaScriptのデバッガも使えることから、開発の効率はかなり良い。また、UI 部品も既に定義されコンポーネント化されているため、ボタンの画像を再設定したり、CSSを定義し直すといったことも基本的には必要ない。HTMLやJavaScriptに慣れたデザイナーであれば、あまり抵抗なくiPhone向けアプリケーションの開発に取り組めるだろう。


既存システムのフロントエンドとなるWebアプリケーションの開発環境

HTMLとJavaScriptで開発する方法は、Dashcode 以外にもある。Eclipse 上に構築されJavaScriptのIDEである「Aptana Studio」(図4 参照)に、「iPhone Development Plugin」(iPhone 開発用のプラグイン)をインストールするというやり方だ。この場合、Mac OS Xに加えて、WindowsやLinux 上でも開発を進めることができる。また、iPhoneを象徴する画面の縦横の表示切り替えに対応するなど、β版ではあるものの開発に必要な機能は充実している。今後は、通常のWebアプリケーションの開発時と同様にiPhone 用プロジェクトでもデバッガを使用できる機能の追加なども予定されている。

ただし、付属の表示シミュレータは、SDK付属のエミュレータのようにドラッグで画面をスクロールさせるといったインタラクションについては、まだ対応していないので、この点には注意したい。

Aptana Studioは無償の「コミュニティ版」と、いくつかの機能とサポートが追加された「プロフェッショナル版」が用意されている。iPhone Development Plugin自体は無償で提供されており、どちらのバージョンでも動作する。

Aptana StudioはもともとEclipseベースであるため、JavaやPHPといった企業システムやWebアプリケーションの中核をなす開発言語との親和性が高い。既にこういった言語でシステムを構築している場合には、Dashcodeではなく、こちらも有効な選択肢として検討するべきだろう。

また、Aptana StudioはiPhoneらしい代表的なデザインのUI 部品について、あらかじめ定義したCSSを用意している。そのため、比較的容易にiPhoneらしいUIを構築できる。さらに、簡単にAjaxライブラリをプロジェクトに追加できるようになっているため、iPhone 以外のUI 部品を使って開発を進めることもできる。

なお、前パートで紹介したIBM「Notes」のiPhone 対応も、Dominoサーバー上の情報を読み込むWebアプリケーションとして実装されている。

現在、Webアプリケーションの構築にEclipseを使っている開発者は多い。そのため、EclipseベースのAptana Studioは新しいツールの習得にかかる時間を低減するのに役立つ。この点からも、iPhone 用のWebアプリケーション開発にAptana Studioを使う方法が、現時点で最善の「構築術」と言えるかもしれない。


DESIGN IT! magazine』vol.1の特集「Feature-1」を掲載しています。


関連情報


トラックバック

このページのトラックバックURL
http://www.designit.jp/mt/mt-tb.cgi/1277