俺とプログラミング

某IT企業でエンジニアをしてます。このブログではプログラミングに関わることを幅広く発信します。

RoboVM開発終了するらしい

RoboVMの開発を2017年4月までに完全に終了することが決定されたようです。

Javaによるモバイル開発の完全な景色を眺めた上で、RoboVMの開発を徐々に終了していくことが決定されました。
すでに出品されているアプリに関しての影響はありません。今現在動いているアプリは、アップルがiOSに大幅な変更を加えない限り、動き続けます。

  • いまRoboVMで開発しているアプリはどうすればよいですか?

開発がどの段階かにもよりますが、いくつかの代替案が考えられます。Xamarin, IntelのマルチOSエンジンなどです。


これを受けて、iOS出力はRoboVMだよりだったlibGDX開発者のMarioさんは声明を発表しています。

RoboVMは死んだ、どうなる?

もしすでにRoboVMを使ったアプリがあったなら、ライセンスが切れるまでは使うことができます。もし新しくアプリを作るなら、RoboVMは選択肢に入りません。どちらのケースでも、なるべく早く代替案へ移行するべきです。

代替案は?

RoboVMに対する数多くの代替案があります。しかし、RoboVMに極めて近いものは現在ありません。他の選択肢を考察してみましょう。

  • Mobile OpenJDK 9

オラクルはOpenJDK9において、iOSAndroidをサポートすることを発表しました。こちらはとても魅力的に見えるけれど、まだまだ先の話なので今の段階では代わりにはなりません。

  • Xamarin + IKVM

IKVM.NETはMono及び.NET Framework上で実装された、Java仮想マシンを含むJavaの実装です。しかし、java.netのように実装がないクラスライブラリがあることが問題です。

Multi-OS Engine はRoboVMにもっとも近いです。
実はすでにMulti-O Engineのバックエンドコードは書かれています。こちらがlibGDXのロードマップです:

  1. Multi-OSのバックエンドを一掃し、libGDX Setup UIと統合し、ドキュメンテーションをアップデートします。こちらは現状95%まで完了しています。
  2. 来週には、新しいバージョンのlibGDXをリリースし、こちらは新しいlibGDXプロジェクトにおいて、Multi-OS EngineをデフォルトのiOSバックエンドに起用しています。
  3. 有名なサードパーティiOSライブラリのバインディングを作りはじめます。コミュニティの皆さんにはこちらに飛び込んでほしいです。
  4. 期限が切れるまで(2017年4月17日)はRoboVMでのバックエンドをキープします。バックエンドのバグを修正することにベストを尽くします。しかし、RoboVM自身のバグを修正することはできません。

まあ、なんだかよくわかりませんが、libGDXでは新しい方法でiOS出力を実現してくれる模様です。

Copyright © 2016 ttlg All Rights Reserved.