たぷつきません

おなかがでてきた。もうたぷついてるやん。

javaMEをiPhone用に6月にSUNが出すということだけど…

 AppleのUIガイドラインに沿えるのだろうか?SWTのようにCocoa touchのラッパークラスをJNIで実装するならともかく*1、タッチスクリーンのジェスチャやローテートなど新たな入力デバイス用のI/Fを追加しなければならないだろうし、画面のエフェクトなども同等のものを用意するのは大変だろうし、困難なんじゃないだろうか。Cocoaを知らないJavaプログラマは諸手をあげて喜ぶかもしれないけど、両方わかっている今の自分から見るとjava要らない感じ。Runtime時の使用メモリ上限の問題もあるのでVM挟む余裕はないなぁと思う*2。私もMac触る前は「Javaで開発したいな〜」「Objective-Cやだな〜」と生温いこと思ってましたが、色々考えるとJavaでのiPhone UIは開発も困難なのが予想されます。iPhone SDKではObjectiveC2.0の機能を幾つか使えるようになってるし、Cocoa touchが唯一標準のフレームワークなので、亜種フレームワークが出て乱立してくるのは好ましくないなぁと思います。それに重要なAPIはすぐ隠蔽されますし標準に従わないのは本当に不利です。この辺の困難さはWindowsLinuxの比じゃないです。*3
 非GUIのサービス層アプリケーションをJavaで作ってUI層のCocoa touchアプリとメッセージ通信させるという手が一番意味のある使い方になりそうです*4

*1:しかしこれも無駄にめんどくさそうな上にメモリも速度も悪化するだけでメリットなさそう。

*2:この辺はアプリの規模次第だけど

*3:メモリ管理だけはマジめんどくさいしいちいち気が休まらないけど

*4:しかしこれさえAppleの規定するプロセス間通信方式に準拠しなければならないので、iPhone JVMでちゃんと提供されないことには始まりません。NDA絡むのでこれ以上書かない方が良さそう