移植を視野に入れたウェブアプリ開発

2009年 8月 06日

「移植性を無視して最新のハード向けにばりばりのネーティブコードを書きたかったらiPhone向けのアプリをObjective Cで作り、さまざまなデバイスへの移植性が重要ならHTML5+Javascriptでインタラクティブなアプリを作ってiPhone上のSafariでテストしておく」というのが現時点でのスマートフォン向けの開発投資の仕方としては、最も賢い選択肢だと考えている私である。

引用元: Life is beautiful: GoogleのAndroid向けのアプリビジネスはなぜ魅力的ではないか?.

選択肢にした経験から気をつける点が2つ思い当たる。1つ目は iPhone で Canvas が使い物にならないと感じたことだ。具体的には読み込みに時間を必要とし利用者の精神的負荷となる可能性がある。ポジションカードアプリで描いているボードの絵柄は当初 Safari 3 上の Canvas で検証し問題が無いことを確認していたが、実テストに於いて第二世代 iPod touch で且つ OS が v2 だったことを考慮しても、起動に7秒前後を要した。ゲームのようにローディングで対応するということも思いついたが、ユーティリティの部類では難しいと判断した。

2つ目はスコアボードアプリの開発に於いて実践し学んだことで、こちらは manifest ファイルを記述したウェブアプリ版を先行して公開していたのだが、それら2つの機能差に明確な優位性が無かったことから販売台数は伸び悩んでいる。結果として無計画になってしまった理由は Apple の開発者向け戦略が勇み足だったというか、iPhone SDK 公開の流れでお分かり頂けると思う。

さらに、この方法を後発のポジションカードアプリ開発に適用しなかったのはこのような外的要因に加え、上述したような場合に、水平モードに固定できず Safari のツールバーが邪魔をして描画領域を確定できなかったことが挙げられる。これらの問題がクリアできれば車輪を再開発することなく移植はもちろん、ウェブアプリとして無料版に仕立てることも可能だと思う。

実際に手を動かす視点では ActionScript を使えれば OpenGL も楽しいだろうと思う反面、ビジネス的にはクラウドネットワークについて考えてしまうので SQLite を直接扱える JavaScript を選択し iPhone 市場に参入した次第だが、そんな技術話よりも米国の顧客からはブラックベリーや Facebook といった別プラットフォームへの移植の需要があるのは確かだ。しかし開発環境が無いからと断っているのは、競合が皆無でロングテール(素麺代稼ぎ)を楽しんでいるという反省すべき点がある。;-)

最後にウェブ開発者という視点で見ると、重い Parallels を使った貧そな UI を持つ IE の動作確認から逃れ、ミドルウェアを使わずにデータを入出力できる新しい技術を試す興奮や楽しさを得られたと思う。日本の自称ウェブ業界スーツ民達に技術の理解が浸透し、仕事として回り出すのはいつのことになるのだろうと思ったが、広報の方法が変化するように、案件が降りてくるのを待つよりも昨年の不況が転換期のような気もするので、日々精進あるのみと再度自省する。

P.S. Interview with Neil Mix of Pandora – iPhone Audio Streaming, Memory Management, and More も JavaScript を iPhone に利用する面白い例だと思うので参考迄。