Apple製品がFlashを採用しない最大の理由は「最大公約数」

AppleのホームページにFlashを排除する理由が記載されている。
http://www.apple.com/hotnews/thoughts-on-flash/
排除する理由としては、オープンでない、セキュリティに問題、消費電力が多いなどがあることが述べてられているが、その中でも、最大の理由としてあげられているのが、Flashクロスプラットフォームであること。これはプラットフォームを提供する側の意見としては至極当然である。
AppleFlashだけでなく、VM(Virtual Machine)をiPhoneなどのデバイスにアプリとして登録することを許可していない。このことからも、Flashだけを追い出そうとしているわけではないことはわかる。
クロスプラットフォームとは、どの端末でも動くアプリを実現するプラットフォームのことだ。例えば、Flashで作ったアプリはPCでも動くし、携帯電話などのデバイスでも動いてきた。
もう少し詳しくFlashが動くデバイスを考えてみる。

  1. PC
  2. 携帯電話
  3. スマートフォンiPhoneAndroidなど)

更に、上記デバイスは搭載するアプリPFによって分類できる。

  1. ブラウザ
  2. iPhoneAndroidなどのアプリPF

これら全てで動作する環境とはどういうものか。それがクロスプラットフォーム
クロスプラットフォームを使うことによるメリットは以下である。

  • 作ったアプリはどの環境でも動く
  • 一つのプラットフォームの知識があれば、どの環境でもアプリを動作させることができる

なるほど、開発者にとっては、クロスプラットフォームを使えば、一つのプラットフォームの知識さえあればたくさんの環境に対応でき、開発効率もあげることが可能になるだろう。
ではデメリットは?

  • どの環境でも動く機能しか使えない

つまり、全てのプラットフォームの「最大公約数」の機能しか持ち合わせないことがクロスプラットフォームの最大のデメリットとなる。これがAppleFlash排除の最大の理由である。
Appleの言うことももっともである。Cocoaの機能をフルに使って、アプリを作ってもらいたいが、Flashなどのクロスプラットフォームが存在してしまえば、それが阻害される。
このような理由により、「最大公約数」を許さないAppleFlashを排除する訳である。
屁理屈もこれだけロジカルにされると、納得してしまいそうになる・・・