ぼちぼち僕も何かiPhone向けに作ろうと思って調べはじめました。
SDKでアプリを作りたいというのはあるんですけど、やっぱりちょっと面倒くさいです。
今からobjective-Cはじめても実際にアプリになるまで時間かかりそうですし、
AppStoreに並んでも埋もれてしまいそうなので、とりあえずiPhoneならではのwebアプリを作りたいと思います。
前回のエントリでUIのことをいろいろと書いた以上は、UIにそれなりにこだわらないといけませんね。
それでiPhoneでもグラフィカルなUIを実現するべく、「canvas」という機能を試しています。ブラウザで画像の処理を行う機能なんですが、Firefix,opera,safariなんかに実装されています。下のmozillaにチュートリアルが乗ってます。
Canvas tutorial - MDC
canvasの機能をいくつか試したんですが、それまでimagemagickとかGDとか使ってやってた処理をcanvasで実現できます。特に画像の合成処理なんかはimagemagickをつかって乗算とか減算したりしていたのですが、canvasでもほとんど変わらない感じで処理してくれてます。これだとクライアント側でプレビュー処理して、最終的な画像ファイルの作成はサーバ側で処理すれば、負荷もかなり軽減できますよね。
canvasが良い点は、javascriptで命令を書くので、他のUIやcssと一緒に扱えることです。webアプリを構成する要素でクライアントに必要な要素は全てjavascriptで扱えるようになります。
あとはグーグルがIE用にcanvasをつかえるようにするjsファイルを配布しています。このスクリプトをインクルードしておくだけで大抵の機能が使えるみたいです。ちょっと試して見ましたがFirefoxと変わりませんでした。
SourceForge.net: ExplorerCanvas
ここに入っているサンプルがまたすごいです。箱を3Dアニメーションで描画したり、白いパーティクルのようなアニメーションとか、一番何気に驚いたのはFirefoxのロゴ画像を回転させています。画像を回転させるって基本的にはjavascriptではできなかったのですが、canvasならこんなことまでできてしまうんですね。
たぶんiPhoneのwebアプリのUIは、canvasを上手く使えるかどうかでダイブ違ってくると思います。