Androidのフラグメンテーション

Chris Lacy氏がAndroidのフラグメンテーションについてGoogle+で語っています。

要点は以下の通り;

  1. フラグメンテーションは無い方が良い。
  2. しかし、フラグメンテーションを受け入れる代わりに、柔軟性と自由と巨大なシェアを獲得できたのである。
  3. 柔軟性と自由と巨大なシェアに比べれば、フラグメンテーションは大きな問題ではない。
  4. 実際、ウェブはめちゃくちゃにフラグメンテーションしている。しかしすごく広がっているし、発展している。

Chris Lacy氏のコメントはもっともです。

ただし一つだけ制限があります。

フラグメンテーションが問題になるのは、最先端のぎりぎりのすごいことをやるときです。例えばウェブで言えば、ブラウザサポートが不十分な最先端のHTML5, CSS3を使うときはフラグメンテーションが大きな問題になります。一方でInternet Explorer 8でもサポートしているような普通のHTMLとCSSだけを使うのであれば、フラグメンテーションは問題になりません。

また細部にこだわったデザインを行うときもしかりです。ウェブで言えば、デザイン性に非常にこだわったウェブサイトは固定幅でデザインされていることが多く、レスポンシブ・ウェブ・デザインはしていません。ブラウザウィンドウのサイズそのものは変更できませんが、ページの大きさそのものを固定して、レイアウトが崩れないようにしています。

実際のどれだけの開発者がここまでこだわったアプリ作りやウェブサイト作りをしているかはわかりませんが、Appleの方針はこだわる人をサポートすることです。可能な限り最高のアプリケーションを開発しようという人、iOSデバイスの新しい可能性をとことん追求しようという人をサポートすることです。理由は簡単です。

Because the ones that are crazy enough to think they can change the world, are the ones who do.

もっと具体的にいえば、Appleが大切にしたい開発者というのは、iOSの限界にチャレンジし、圧倒的に優れたアプリをiOSのためだけに開発し、iOSプラットフォームの差別化に寄与してくれる人たちです。ですから彼らの挑戦をAppleは大切にしています。

普通の開発者にとってはフラグメンテーションは問題にならないかも知れませんが、こだわりのある開発者にとっては問題になるのです。