機種依存の強いコンポーネントついての問題

iOS・Android向けアプリの効率的な開発方法として「ハイブリッドアプリ」という方式がある。アプリ自体はネイティブ言語で開発するものの、アプリ内で提供するコンテンツの多くはHTML5ベースで作成し、それを各ネイティブアプリのWebViewを通して操作するという仕組みだ。HTML5を使ったリッチなコンテンツをiOS・Android向けにワンソースで提供できる点は大きな魅力だが、一方でWebViewには現状ではまだまだ機種依存が存在しているという点には注意が必要だ。レンダリングエンジンはwebkitに統一されているようにみえるが、実際にはwebkitのバージョンの違いやメーカーによる独自カスタマイズによる違いがあり、少なくとも現時点ではどの機種のWebViewでも同じように動作させるのはなかなか難しい。

現時点の見解としてはWebViewはシンプルな画面での利用にとどめ、リッチな画面についてはネイティブで開発した方が得策だと考えている。シンプルな画面であれば機種依存による動作の違いが発生する可能性が少なく、またリッチな画面についてはネイティブで開発した方がネイティブアプリらしい操作感を実現できるというのがその理由だ。

WebViewに限らず、機種に依存した問題は検知が難しく、また検知できたとしてもその機種を入手できなければ解決が難しい。Android4.2より、メーカーによるカスタマイズを制限する利用規約が導入されたため、今後は機種依存の問題が改善していくことを期待したい。

まとめ

iOS・Android向けにアプリを提供するポイントについてまとめると次のようになる。

  • 開発においてはiOSの方が端末バリエーションに悩まされることがなく容易
  • Android版は公開までのステップが短く、いつでもバージョンアップできる点が優位