iPhone OS 4、最大のアップデートは「Flash潰し」。これは、おかしなことになりそうだ。
iPhone OS4.0が発表されて数日たちましたが、どうもその論点は「機能」じゃなくて、「規約」に絞られてきたみたいです。
もちろん「マルチタスクだ!」「APIがたくさん使える!」とかの機能は興奮するんですが、Apppleが独自運営する広告プラットフォームの「iAd」あたりからちょっと微妙な雰囲気に。
この「iAd」は、まあ、広告プラットフォームで、動画とかも配信できるわけですが、全部HTML5で書いてね、となっている。
今のFlashの資産は使えないわけで、めんどくさいなあ、、と思う所なんですが、ついこないだまで救いはあったわけです。
それが、AdobeのCreative Suite 5に搭載予定のPackager for iPhone。
これ、Flash開発社だったら、つくったものをボタン一発でiPhone用のアプリ(Cでかかれた)としてコンパイルしてくれる機能で、こりゃ便利です、と思うわけですが。。
あ、つまり、FlashのActionScriptで開発したゲームも、一発でiPhoneアプリにできるという感じで便利なんです。
もちろんiPhone上ではFlashとして動くわけでなくC++やObjectCのアプリとして動くんです。
が、これは、iPhone OS4のSDKで禁止されちゃったからたいへん。
禁止しているのは利用規約3.3.1条項で以下のようなもの。。
3.3.1:Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
以前は、以下の感じだったんですが、大幅な改訂です。
3.3.1:Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.
超訳すると
「Objective-C, C, C++, or JavaScriptで書け。あと、クロスコンパイラとか使うな!」
というもので、明らかにFlashからiPhoneアプリへのコンパイルを禁止してるんですね。
もちろん、開発社側からは批判続出。
Speaking purely for myself, I would look to make it clear what is going through my mind at the moment. Go screw yourself Apple.
Appleは、自分自身で、自分を台無しにしたぞー!ってことか??
まあ、Appleの戦略も分からんでもないです。
キーはマルチタスク、ということで。
今回、マルチタスクに対応するとなると、いかにメモリを独占するようなバギーなアプリをなくすか?
というのが結構きもになっていて、ここ開発環境をオープンにすると管理できないわけです。
で、いろんなメモリ管理を邪魔するアプリがでてきて、iPhoneが落ちまくり。→iPhoneつかえねえ、となるわけにはいかんのでしょう、たぶん。
その証拠に最近、ジョブスは言っているのです。「クラスプラットフォーム開発って、結局ろくなモノができないし、本来のプラットフォームの進化もダメにしちゃうんだよね。」
We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.
iPhoneOSがApple純正のiPhoneとiPadでしか動かないように、開発もApple純正の環境でないと開発できない。
品質を維持するために、この体制を維持するApple。
なんか、まだまだこじれそうです。

