example - ¿Es posible ejecutar aplicaciones JavaFX en iOS, Android o Windows Phone 8?
javafx scene builder (5)
¿Se puede desarrollar una aplicación completa utilizando JavaFX y ejecutarla en iOS, Android o Windows Phone 8, sin escribir un código específico para la plataforma?
Escritorio: soporte de primera clase
Oracle JavaFX de Java SE solo es compatible con OS X (macOS), GNU / Linux y Microsoft Windows . En estas plataformas, las aplicaciones JavaFX generalmente se ejecutan en JVM desde Java SE o OpenJDK.
Android: debería funcionar
También hay un proyecto JavaFXPorts , que es un proyecto de código abierto patrocinado por un third-party . Su objetivo es portar la biblioteca JavaFX a Android e iOS.
En Android, esta biblioteca se puede usar como cualquier otra biblioteca de Java; el bytecode de JVM se compila en bytecode de Dalvik . Es lo que las personas quieren decir al decir que "Android ejecuta Java".
iOS: estado no claro
En iOS, la situación es un poco más compleja, ya que ni Java SE ni OpenJDK son compatibles con los dispositivos móviles de Apple. Hasta hace poco, la única opción sensata era usar RoboVM compilador Java por adelantado para iOS. Lamentablemente, el 15 de abril de 2015, se cerró el proyecto RoboVM .
Una posible alternativa es el motor Multi-OS de Intel. Hasta hace poco, era una tecnología patentada, pero el 11 de agosto de 2016 era de open-sourced . Aunque puede ser posible compilar una aplicación JavaFX de iOS utilizando la implementación JavaFX de JavaFXPorts, no hay evidencia de eso hasta el momento. Como puede ver, la situación cambia dinámicamente, y esperamos que esta respuesta se actualice cuando haya nueva información disponible.
Windows Phone: sin soporte
Con Windows Phone es simple: no hay soporte de JavaFX de ningún tipo.
Fondo
La respuesta de Invariant es un buen recurso para cómo se comenzó todo y cuál era el estado de JavaFX en incrustado y móvil a principios de 2014. Sin embargo, muchas cosas han cambiado desde entonces y los usuarios que tropiezan con este hilo no obtienen la información actualizada.
La mayoría de mis puntos están relacionados con la respuesta de Invariant, por lo que sugeriría que primero lo revise.
Estado actual de JavaFX en dispositivos móviles / integrados
Algunas malas noticias primero:
Ahora, algunas buenas noticias:
- JavaFX todavía se ejecuta en Android, iOS y la mayoría de los dispositivos integrados
- JavaFXPorts SDK para Android, iOS y dispositivos integrados se puede descargar desde here
- El proyecto JavaFXPorts todavía está prosperando y es más fácil que nunca ejecutar JavaFX en dispositivos móviles, todo gracias a los complementos IDE que se encuentran en la parte superior de estos SDK y le permite comenzar en pocos minutos sin la molestia de instalar ningún SDK.
- JavaFX 3D ahora es compatible con dispositivos móviles
- GluonVM para reemplazar RoboVM permitiendo el soporte de Java 9 para desarrolladores móviles. Sí, has escuchado bien.
- Mobile Project ha sido lanzado por Oracle para soportar JDK en todas las principales plataformas móviles. También debería ser compatible con JavaFX;)
Cómo empezar
Si no eres del tipo de bricolaje, te sugiero que instales el complemento IDE en tu IDE favorito y comiences.
La mayoría de la documentación sobre cómo comenzar se puede encontrar here y algunas de las muestras se pueden encontrar here .
- sí, puedes ejecutarlo en iOS y Android (¡Win8 no es compatible!
- ninguna implementación como aplicación web no funciona
Posible. Puedes hacer deporte comercial también.
JavaFXPorts es el nombre del proyecto de fuente abierta mantenido por Gluon que desarrolla el código necesario para que Java y JavaFX funcionen bien en el hardware móvil y embebido. El objetivo de este proyecto es contribuir tanto al proyecto OpenJFX siempre que sea posible, y cuando no sea posible, mantener la cantidad mínima de cambios necesarios para habilitar los objetivos de JavaFXPorts. Gluon toma el código fuente de JavaFXPorts y lo compila en binarios listos para su implementación en iOS, Android y hardware incrustado. Las compilaciones JavaFXPorts están disponibles de forma gratuita en este sitio web para todos los desarrolladores.
Sí, puede ejecutar la aplicación JavaFX en iOS, Android, escritorio, RaspberryPI (aún sin Windows8 móvil).
Trabajo en acción:
¡Lo hicimos! ¡Proyecto multimedia JavaFX8 en iPad, Android, Windows y Mac!
Ensemble8 Javafx8 Demo de Android
Mi aplicación JavaFX de muestra que se ejecuta en Raspberry Pi
Mi aplicación de ejemplo se ejecuta en Android
Recursos de Dev:
Android:
Construyendo y desplegando aplicaciones JavaFX en Android
iOS:
¡El soporte de NetBeans para JavaFX para iOS está disponible!
Desarrolle una aplicación JavaFX + iOS con RoboVM + e (fx) herramientas de recorte en 10 minutos
Si vas a desarrollar aplicaciones serias aquí hay más información
Misc:
En la actualidad, la lista de prioridades Oracle de JavaFX es Desktop (Mac, Windows, Linux) y Embedded (Raspberry Pi, Beagle Board, etc.). Para iOS / android orracle realizó la mayoría de los trabajos de javafxports de estas plataformas como parte de OpenJFX. no hay JVM de RoboVM) / Android. La DalvikVM está reuniendo todos los datos al completar la pieza faltante (JVM) para iOS / Android. La comunidad hizo un buen progreso al ejecutar JavaFX en RoboVM) ( RoboVM) / android ( DalvikVM ). Si lo desea, también puede contribuir a la comunidad mediante el patrocinio ( Conviértase en un patrocinador de RoboVM ) o comience a desarrollar aplicaciones e informe problemas.
Editar 23/06/2014:
Johan Vos creó un sitio web para javafx ports JavaFX en dispositivos móviles y tabletas , verifique esto para obtener información actualizada.