|
SafariでもiPod風にユーザインターフェースを実現しよう PHPの環境設定が終了したら、あとは普通にPHPでプログラムを組めば、iPod touchで自分の好きなアプリケーションが利用できるようになります。 しかし、せっかくiPod touchのSafari上で動作させるのですから、いつもどおりのテキスト主体なものではなく、iPod touch風のユーザインターフェースを実現する「iUI(http://code.google.com/p/iui/)」を使ってみましょう。 「iUI.js」は、Firebugの作者として著名なJoe Hewitt氏によって作られた、iPod touch上のSafariにナビゲーションUIを追加するJavaScriptライブラリです。Safariに最適化されているのでInternet Explorerなどでは動きませんが、簡単にiPod touch風のナビゲーションを実現できます。 実際の動作はiUIの「Music Example(http://iui.googlecode.com/svn/tags/REL-current/samples/ PHPでRSSリーダを作る iPod touchの不満の1つに「Safariにオフラインモードがない」点を上げる人が多いことと思います。これでは外出先や電車の中など、無線LANの届かない範囲で記事を読むことができません。 そこで、今回はこの問題を解消すべく、PHPによって、オフラインモードを持ったRSSリーダを開発し、どこでもRSSのフィードを読める環境をiPod touch上で実現します。 前述のようにPHPをパッケージからインストールした場合、PEARに含まれているRSS関係の便利なライブラリが群が使えません。そこでターゲットを一番メジャーなRSS 2.0に絞ると共に、ソースを単純化するため1つのフィードのみを読み込むようにします。 もし複数のフィードを読みたい場合には「Plagger(http://plagger.org/trac)」や「Yahoo pipes(http://pipes.yahoo.com/pipes/)」を使って、複数のフィードを1つのフィードにまとめるとよいでしょう。
リスト2:RSSを読み込むプログラム「/Library/WebServer/Documents/sample1.php」
<?php
![]() 図2:sample1.phpを実行 リスト3:ローカルファイルのRSSを解析するプログラム「/Library/WebServer/Documents/sample2.php」 ![]() 図3:sample2.phpを実行 RSSを読み込んでローカルに保存しよう 多くのRSSリーダでは、フィードをネットから読み込み解析した結果をデータベースなどに蓄えていると思います。PHP 5からはSQLite3が内蔵されているので、ここに保存させることも考えられます。しかし今回はプログラムを単純にするため、フィードのファイルをダウンロードし、表示する度にXMLを解析することとしました。 そのため、まずはネットからRSSのファイルを読み込む部分から作成します(リスト2)。このプログラムをPC上で作成して「sample1.php」という名称で保存します。その後でscpを使い、ファイルをiPod touchに転送してください。sample1.phpでは指定されたURLのフィードを「/var/root/rss.xml」へダウンロードしています。 このファイルをアップした後、無線LANが繋がっている状態でSafariから「http://127.0.0.1/sample1.php」を開いてください。現状では「真っ白なWebページ」が表示されます(図2)。 次に、受信したRSSを解析し、フィードの名前や記事ごとの名前とURL、説明を取り出します。RSSはXML形式のデータのため、XMLを操作するための「DOM」と「XPath」と呼ばれるライブラリを使用して、解析を行います。DOMとXPathに付いての詳しい説明はここでは行いませんので、詳細はPHPのマニュアル(http://www.php.net/manual/ja/ref.dom.php)などを参考にしてください。 リスト3の解析プログラムをiPod touchに転送し、「http://127.0.0.1/sample2.php」を開いてください。先ほどsample1.phpで読み込んだRSSを解析し、図3のように表示します。Think ITのフィードでは、descriptionが設定されていないものが多いようです。 これで基本的な部分は完成です。無線LANが繋がっている環境で「http://127.0.0.1/sample1.php」を開いてローカル環境にRSSを読み込んでおき、移動中などに「http://127.0.0.1/sample2.php」を開くことで、オフライン環境でもRSSを読めるようになります。 これで基本的な機能は実装しました。次にこれにiUIを使ってiPod touchらしいユーザインターフェースを付加していきます。 |
||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||




