Apple製品がFlashを採用しない最大の理由は「最大公約数」
AppleのホームページにFlashを排除する理由が記載されている。
http://www.apple.com/hotnews/thoughts-on-flash/
排除する理由としては、オープンでない、セキュリティに問題、消費電力が多いなどがあることが述べてられているが、その中でも、最大の理由としてあげられているのが、Flashがクロスプラットフォームであること。これはプラットフォームを提供する側の意見としては至極当然である。
AppleはFlashだけでなく、VM(Virtual Machine)をiPhoneなどのデバイスにアプリとして登録することを許可していない。このことからも、Flashだけを追い出そうとしているわけではないことはわかる。
クロスプラットフォームとは、どの端末でも動くアプリを実現するプラットフォームのことだ。例えば、Flashで作ったアプリはPCでも動くし、携帯電話などのデバイスでも動いてきた。
もう少し詳しくFlashが動くデバイスを考えてみる。
更に、上記デバイスは搭載するアプリPFによって分類できる。
これら全てで動作する環境とはどういうものか。それがクロスプラットフォーム。
クロスプラットフォームを使うことによるメリットは以下である。
- 作ったアプリはどの環境でも動く
- 一つのプラットフォームの知識があれば、どの環境でもアプリを動作させることができる
なるほど、開発者にとっては、クロスプラットフォームを使えば、一つのプラットフォームの知識さえあればたくさんの環境に対応でき、開発効率もあげることが可能になるだろう。
ではデメリットは?
- どの環境でも動く機能しか使えない
つまり、全てのプラットフォームの「最大公約数」の機能しか持ち合わせないことがクロスプラットフォームの最大のデメリットとなる。これがAppleのFlash排除の最大の理由である。
Appleの言うことももっともである。Cocoaの機能をフルに使って、アプリを作ってもらいたいが、Flashなどのクロスプラットフォームが存在してしまえば、それが阻害される。
このような理由により、「最大公約数」を許さないAppleはFlashを排除する訳である。
屁理屈もこれだけロジカルにされると、納得してしまいそうになる・・・