Java кроссплатформенная мобильная разработка
Почему мобильное приложение JavaFXPorts/Gluon лучше, чем Codename One, JUniversal или Tabris. Google показывает эти три решения, которые заставляют меня задуматься, были ли эти решения недостаточно хорошими? Особенно, когда Codename One утверждает, что он быстрее, чем нативный код. И почему бы начать новый проект, а не, например, сотрудничать с существующими решениями?
1 ответ
Кодовое название One предшествовало большинству других, но пошло по другому пути. На самом деле происхождение Codename One предшествует JavaFX, насколько я знаю.
Codename One была запущена мобильными парнями, и поэтому виртуальная машина не пытается предложить полный JDK. Это маленький проворный и AOT с нуля. Весь набор инструментов был разработан для мобильных устройств, как описано в их проекте VM: https://github.com/codenameone/CodenameOne/tree/master/vm
Gluon основан на JavaFX, поэтому ему нужна полная виртуальная машина, которая в свое время опиралась на RoboVM. Ребята из Codename One объяснили, почему они не пошли с этим в ссылке выше. Gluon теперь использует OpenJDK, который является интерпретатором и, вероятно, не лучшим подходом для чего-то, что уже слишком медленное на iOS.
FX был разработан настольными людьми, а Codename One - мобильными людьми, разница в мышлении огромна.
Tabris - это серверное решение, а JUniversal - исследовательский проект Microsoft, который вышел гораздо позже. Это цели неясны.
Вы пропустили J2ObjC, целью которого является переносимость библиотеки и Avian, которая является интересной виртуальной машиной. Насколько мне известно, в прошлом у Codename One был порт, который не давал результатов.