Qt は死んだ。Java ME も死んだ

NokiaWindows Phone を採用することを発表した。あわせて、これまで NokiaSymbian 携帯でアプリケーション開発フレームワークとして利用されてきた Qt は、Nokia 製の Windows Phone には載らないことが判明している。

Nokia to developers: no Qt for Windows Phone development (米 Engadet のニュース記事)
http://www.engadget.com/2011/02/11/nokia-notifies-developers-that-qt-is-out-for-windows-phone-devel/
Letter to Developers about Today’s News (Nokia の開発者向け blog 記事)
http://blogs.forum.nokia.com/blog/nokia-developer-news/2011/02/11/letter-to-developers

さよなら Qt

Nokia は上記の blog 記事で「Qt は Symbian 用のフレームワークとして使い続けるし、Symbian 端末もまだ出すよ。MeeGo でも使うし」と書いているが、Windows Phone をメインにする以上 Symbian/MeeGo 向けの投資は当然削減されていくわけで、同じ blog 記事の後半にも「Microsoft のツール使いやすいよ。これで安心だね」的なことが書かれている。
Qt にはデスクトップ版もあり KDE で使われているので、地球上から即座に Qt が姿を消すわけではない。KDE コミュニティが自力で Qt 開発を継続していくことも可能ではある。しかし、Nokia が Qt 開発に充てていた人員を減らせば、今までと同じペースで改善していくわけにもいかないだろうから、最悪、今回の動きをきっかけにして KDE 自体の開発が停止に向かう可能性もあるのではと、個人的には思っている。
Qt が使われている例は日本ではあまり聞かないけど、僕自身 Linux Zaurus で Qt Embedded/Qtopia のお世話になったし、昨年には日本語の公式 blog も開設された。

Qt Labs Japan
http://qt-labs.jp/

軽快な開発環境も用意されていて、「Qt 意外といいな。ちょっと勉強してみようかな」と思っていた矢先だったので、正直残念だ。

そして Java ME も……

Nokia の blog 記事には、1 ヶ所だけ Java についての言及がある。今後も引き続き Java に対応するよ、という内容だが、今までと同じレベルでというわけにはいかないだろう。開発者側から見たって、「.NET/XNA ベースで、すべての Windows Phone に対応可能なアプリ」を作らずに「Java ME ベースで、Windows Phone のうち Nokia 端末のみ対応可能なアプリ」を作る意味がない。
そもそも Java ME、とくに MIDP/CLDC は、仕様の更新も遅々として進まず、NokiaMotorolaSony Ericson がオプション API を提案するくらいしか動きがなかった。Android 登場時に Java ME ではなく Java SE のサブセットが採用されたことから「携帯向けだからといって Java ME じゃなくていいんだ」「今の端末は高性能だから、Java SE でも使い物になるんだ」ということが開発者にも「バレて」しまっている。
MotorolaSony Ericson はすでに Android 端末に注力しているわけだから、残る NokiaWindows Phone に移行する以上、少なくとも欧米の開発者にとって、今後は Java ME でアプリ開発を行う理由がなくなってしまった。
日本国内限定で考えるなら、Java ME がすでに普及しきっており、これから数年の範囲で考えるなら、Java ME ベースのアプリがパタリと使われなくなることはなさそうだ。とはいえ、国内向けの端末だって性能が着実に上がっていくわけで、「i アプリと Android アプリの両方に対応しました」なんて端末もそう遠くないうちに実現可能になるだろう。そう考えると、国内のキャリアがこのまま Java ME ベースの API を延々と進化させていくとは思えない。