RoboVM — проект, позволявший запускать Java‑код на iOS, — закрылся. Под ударом оказались все, кто использовал LibGDX для мобильных игр. Замену нашли быстро: LibGDX будет использовать Multi‑OS Engine от Intel. Тем не менее это хороший повод обсудить зависимости в библиотеках.
15 апреля пользователи RoboVM получили «письмо счастья»: проект закрывается. Судя по объяснению в блоге проекта, основная причина закрытия — действия Microsoft с Xamarin. В том, что теперь кроссплатформенную мобильную разработку на Java ждут трудные времена, не поспоришь. Xamarin — действительно отличная альтернатива.
Проблема в том, что значительная часть пользователей LibGDX выбрали эту библиотеку отчасти из‑за возможности портировать игры на iOS. Этой возможности их лишили. Ребятам из Badlogic Games пришлось быстро искать альтернативу (badlogicgames.com/wordpress/?p=3925). Более или менее подходит Intel Multi‑OS Engine (software.intel.com/en-us/multi-os-engine). Для нормальной работы нужно ещё сделать очень много, но это уже что‑то.
Закрытие RoboVM — не повод выкидывать LibGDX из списка возможных технологий для следующего проекта, но хороший повод задуматься над критериями выбора.
Я, когда выбирал, на чём делать игру, во главу угла ставил ориентированность на программиста. В этом смысле LibGDX остаётся лучше многих альтернатив. Да и цели были образовательные. Так что мой выбор не мог изменить даже RoboVM.
Для коммерческой разработки я бы её уже не стал использовать. Портирование на одну из основных платформ делается не родными средствами, с использованием сторонних инструментов. Это повод посмотреть на другие варианты:
- Cocos2d‑x;
- Unity (да, он требует значительных ресурсов, но обеспечивает стабильную сборку под основные платформы);
- Unreal Engine (аналогично Unity — ресурсоёмкий, но даёт стабильную сборку под ключевые платформы).
Эти альтернативы хоть и «выжигают дыру в столе» моим ноутбуком, зато позволяют стабильно собирать игры под основные платформы.