2008年7月11日,日本を含む世界各国でiPhone 3Gが発売された。それからおよそ半年が経ち,AppStoreにも日本語のアプリケーションが数多く登場している。発売当初こそ個人が作成した趣味的なアプリケーションが多かったが,最近では企業が作った完成度の高いアプリケーションや,Webアプリケーションをうまく利用したものなども増えてきている。iPhoneアプリケーションの構築市場は,着々と盛り上がりを見せ始めている。

 読者の方の中にも,そろそろiPhoneアプリケーションの構築に踏み出したい…と考えている方も少なくないのではなかろうか。本連載では,iPhone上でのアプリケーション開発に踏み出せずにいる開発者や開発会社に向けて,iPhone上の開発を難しくする要因を回避するための知識や,アプリケーションの構成,開発の手順といった流れを一通り紹介していく。

 最初に,様々なiPhoneアプリケーションを紹介しながら,iPhoneの世界を概観する。その後,アプリケーションの開発・リリースを行っていく際の手順や,実際にアプリケーションの構成外観を紹介しながら,コード・レベルまで解説していき,iPhoneアプリケーションの構築を行うのに必要な流れを一通り触れていく。読者がiPhone開発に踏み出せるだけの情報を提供することを目標としたい。

独特なiPhoneアプリケーションの世界

 iPhone上のアプリケーションは,今までのPCやモバイル上で実現されてきたどんな環境とも異なる性質のものだ。単純にリストの操作インタフェースだけを見ても,ほぼすべての操作をタッチパネルで行うのに最適化された形になっている。デザイン性も高いものが求められる。そういった全く新しい世界観こそが,iPhoneの大きな武器でもあり,同時にアプリケーションの開発・設計を難しくしている要因でもある。

 そのため,これからiPhone上でのアプリケーション開発を行っていくのであれば,iPhone上でどのようなインタフェースが実現できるのか,といったことを知っておく必要があるだろう。まずは,いくつかのiPhoneアプリケーションを紹介していきながら,iPhone上でどういったことができるのか,といった世界観を見ていく。

 現在リリースされているiPhoneアプリケーションに見られる一つの傾向は,Webアプリケーションのフロントエンドとして作成されたものが非常に多いことだ。iPhoneにはWeb用のブラウザとしてsafariが付属しているのだが,それに頼らず自前のクライアント・アプリケーションを用意しているのだ。

 感覚としては,iPhoneに最適化した「お気に入りブックマーク プラスα」といったところだろう。Ajaxなどを駆使すれば,Safariでもある程度は動きのあるインタフェースを作れるが,iPhoneが持つ魅力を引き出すには,それだけでは不十分というわけだ。

画面1●RSSの閲覧や管理を支援する「LDR touch」
[画像のクリックで拡大表示]

 そのような,Webアプリケーションと同期して利便性を提供しているアプリケーションとして,代表的なものに「LDR touch」がある(画面1)。

 LDR touchは,livedoorが提供するWeb RSSリーダー「livedoor reader」と,そのオープンソース版「Fast Radder」のAPIを利用したiPhoneアプリケーション。ログインIDとパスワードを登録しておくと,livedoor readerと連動してRSSの管理を行うことができる。

 アプリケーションを起動すると,livedoor readerから自分のアカウントのRSSフィード一覧が表示され,それぞれのフィードの記事数/未読数が分かる。また,フィードごとのエントリ一覧から各記事のサマリーや本文を閲覧したり,気になった記事にピン(お気に入りのクリップ機能)を立てておいたりできる。

 これらの既読/未読管理やピン機能はWeb側とも連動している。LDR Touchで立てておいたピンを後で一気にPCから読む,ということも可能だ。次の記事,次のエントリなどと遷移していくための操作も移動ボタン一発で済み,いちいち一覧に戻らずに遷移できるよう考慮されているなど,細かいところも使いやすい。

 RSSリーダーのURLは設定によって変更可能で,livedoor readerだけでなく自分で設置したFast RadderのURLを指定することもできる。全体的にシンプルだが操作性もよく,スタンダードなアプリケーションの典型だろう。

 このアプリケーションで利用されているインタフェースは,大枠に使われている部分の多くがiPhoneアプリケーションのフレームワークである「iPhone SDK」の中で提供されているものだ。フィードのリスト表示や遷移,戻り操作,ヘッダー/フッター部分などは一通り用意されており,タッチパネルの特性を生かしたインタフェースの実現を容易にしてくれる。

 RSSフィードの取得やXMLのパースも,少ない労力で実装できるフレームワークが用意されており,使い方に慣れてしまえば難なくRSSを処理できる。細かいところの凝った表示などはそれなりに労力がかかるが,アプリケーションの基本的な機能はSDKの提供する機能によって容易に実現できる。