RoboVM開発終了するらしい
RoboVMの開発を2017年4月までに完全に終了することが決定されたようです。
Javaによるモバイル開発の完全な景色を眺めた上で、RoboVMの開発を徐々に終了していくことが決定されました。
すでに出品されているアプリに関しての影響はありません。今現在動いているアプリは、アップルがiOSに大幅な変更を加えない限り、動き続けます。
- いまRoboVMで開発しているアプリはどうすればよいですか?
開発がどの段階かにもよりますが、いくつかの代替案が考えられます。Xamarin, IntelのマルチOSエンジンなどです。
これを受けて、iOS出力はRoboVMだよりだったlibGDX開発者のMarioさんは声明を発表しています。
RoboVMは死んだ、どうなる?
もしすでにRoboVMを使ったアプリがあったなら、ライセンスが切れるまでは使うことができます。もし新しくアプリを作るなら、RoboVMは選択肢に入りません。どちらのケースでも、なるべく早く代替案へ移行するべきです。
代替案は?
RoboVMに対する数多くの代替案があります。しかし、RoboVMに極めて近いものは現在ありません。他の選択肢を考察してみましょう。
- Mobile OpenJDK 9
オラクルはOpenJDK9において、iOSとAndroidをサポートすることを発表しました。こちらはとても魅力的に見えるけれど、まだまだ先の話なので今の段階では代わりにはなりません。
- Xamarin + IKVM
IKVM.NETはMono及び.NET Framework上で実装された、Java仮想マシンを含むJavaの実装です。しかし、java.netのように実装がないクラスライブラリがあることが問題です。
- Intel Multi-OS Engine
Multi-OS Engine はRoboVMにもっとも近いです。
実はすでにMulti-O Engineのバックエンドコードは書かれています。こちらがlibGDXのロードマップです:
- Multi-OSのバックエンドを一掃し、libGDX Setup UIと統合し、ドキュメンテーションをアップデートします。こちらは現状95%まで完了しています。
- 来週には、新しいバージョンのlibGDXをリリースし、こちらは新しいlibGDXプロジェクトにおいて、Multi-OS EngineをデフォルトのiOSバックエンドに起用しています。
- 有名なサードパーティのiOSライブラリのバインディングを作りはじめます。コミュニティの皆さんにはこちらに飛び込んでほしいです。
- 期限が切れるまで(2017年4月17日)はRoboVMでのバックエンドをキープします。バックエンドのバグを修正することにベストを尽くします。しかし、RoboVM自身のバグを修正することはできません。
まあ、なんだかよくわかりませんが、libGDXでは新しい方法でiOS出力を実現してくれる模様です。