ご存じの通り、iPhoneでもiPadでも、Flashは使えません。しかもアップルは、アップル独自の開発環境でしかiPhoneアプリの開発ができないようにしようとしているのです。
この場合のアップルの敵は、主にアドビだと考えられます。他にももちろん犠牲者はいるはずですが。アドビが発売予定のCreative Suite 5に含まれるPackager for iPhoneでは、Flash(厳密には、アドビのネイティブスクリプト言語のActionScript 3)での開発ができ、なおかつそれをスタンドアロンのiPhoneアプリとしても使えるようクロスコンパイルできるようにしているのです。
つまり、Packager for iPhoneを使った場合、ActionScriptに親しんだデベロッパーなら、iPhoneのネイティブ開発言語であるObjective-Cを新たに学ばなくてもiPhoneアプリを作れるのです。もちろんネイティブ開発言語と比べてパフォーマンスは下がるかもしれませんが、十分です。
続きで実際に例を出して考えてみました。
たとえば上のゲーム「THAT ROACH GAME」は、元はFlashで作られていますが、このツールを使ってiPhoneアプリとして提供されています。このゲーム自体は、あるレビュアーによれば「アニメーションとかフェードが手計算かと思うような...デベロッパーは夜間クラスでも行った方がいい」というようなものです。逆に言うと、それくらい簡単にiPhoneアプリができる、とも言えます。
iPhone OS 4のライセンス契約によると、アップルは、iPhoneアプリ開発にどの言語を使うべきか厳密に定めているようです。
でも、最終的にObjective-C(またはC言語やC++)になっているなら、元の言語が何だったかアップルにはわからないのでは? Flashのデベロッパーで、ActionScriptで開発中のiPadアプリをあきらめるかもしれない人に聞いてみました。すると、多くのクロスコンパイラは一連の統合ライブラリを使っているので、iPhoneアプリになっていてもすぐにわかってしまうという答えでした。
つまりアップルは、競合であるアドビのプラットフォームを使わないよう、既存の多くのデベロッパーに強制しようとしているのです。ただし、すでにApp Storeに登録されているアプリで、こうしたツールを使っているものが登録抹消されるところまで徹底するのかは不明です。
FTC(連邦取引委員会)が出て来るほどのことじゃないのかもしれませんが、この囲い込みっぷりはどうなんでしょうか?
Joel Johnson(原文/miho)