RoboVM переносит Java в iOS


RoboVM только что достиг версии 0.0.14, и это начинает выглядеть очень жизнеспособным способом запуска Java на iOS.

Если вы не слышали о проекте RoboVM, идея достаточно проста — позволить людям писать код на Java, а не на Objective C или Swift. Чтобы быть более точным, поскольку это байт-код для компилятора ARM, который может кодировать на любом языке, предназначенном для JVM. Это, конечно, означает, что приложения, которые вы создаете с его помощью, должны работать быстро.

Следующий очевидный вопрос: как получить доступ к платформе iOS из Java?

Ответ заключается в том, что существует мост Java-Objective-C, который позволяет вам вызывать любые API-интерфейсы нативной инфраструктуры, которые вам нужно использовать. Объекты Objective-C можно использовать так же, как если бы они были объектами Java. Остальная часть времени выполнения предоставляется Android Framework за вычетом всего, что связано с пользовательским интерфейсом.

Плохая, но неизбежная новость в том, что вам все еще нужен Mac и XCode для использования RoboVM. Поскольку среда разработки — это Eclipse или командная строка, вы, вероятно, могли бы использовать другую систему для кодирования своего приложения, но если вы хотите запустить скомпилированный код, вам понадобится Mac. Вы можете запустить свое приложение на симуляторе или на реальном устройстве.

Последняя версия была обновлена для использования последних классов среды выполнения Android — KitKat 4.4.3 — и Xcode beta 2 с поддержкой бета-версии iOS 8. Есть несколько незначительных изменений и привязок для новых фреймворков Cocoa Touch — GameKit, MultipeerConnectivity, ExternalAccessory и GameController.

RoboVM — это возможный способ использовать свои знания Java или другого языка виртуальных машин для создания приложений iOS и, следовательно, избежать необходимости изучать Objective-C или недавно выпущенный Swift.

Однако, учитывая, что он также может создавать скомпилированный код x86, возможно, он имеет еще больше применений? Почему не версия для Android, которая компилирует байт-код в собственный код ARM или x86?

Интересный проект, заслуживающий вашей поддержки, и все с открытым исходным кодом.


Добавить комментарий