¿Se puede desarrollar una aplicación completa usando JavaFX y ejecutarla en iOS, Android o Windows Phone 8, sin escribir código específico de la plataforma?
¿Se puede desarrollar una aplicación completa usando JavaFX y ejecutarla en iOS, Android o Windows Phone 8, sin escribir código específico de la plataforma?
Respuestas:
La respuesta de Invariant es un buen recurso sobre cómo se inició todo y cuál era el estado de JavaFX en dispositivos integrados y móviles a principios de 2014. Pero mucho ha cambiado desde entonces y los usuarios que se topan 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 la revise primero.
Algunas malas noticias primero:
Ahora, buenas noticias:
Si no eres del tipo de bricolaje, te sugiero que instales el complemento IDE en tu IDE favorito y empieces.
La mayor parte de la documentación sobre cómo empezar se puede encontrar aquí y algunos de los ejemplos se pueden encontrar aquí .
Sí, puede ejecutar la aplicación JavaFX en iOS, Android, escritorio, RaspberryPI (aún sin Windows8 Mobile).
Trabajo en acción:
¡Lo hicimos! Proyecto multimedia JavaFX8 en iPad, Android, Windows y Mac!
Demostración de Android Ensemble8 Javafx8
Mi aplicación JavaFX de muestra que se ejecuta en Raspberry Pi
Mi aplicación de muestra que se ejecuta en Android
Recursos de desarrollo:
Android:
Creación e implementación de aplicaciones JavaFX en Android
iOS:
¡El soporte de NetBeans para JavaFX para iOS está fuera!
Si va a desarrollar aplicaciones serias, aquí hay más información.
Misc:
En la actualidad, para JavaFX, la lista de prioridades de Oracle es Desktop (Mac, Windows, Linux) y Embedded (Raspberry Pi, beagle Board, etc.). Para iOS / Android, Oracle realizó la mayor parte del trabajo duro y las exportaciones de Java de estas plataformas como parte de OpenJFX, pero no no es una JVM de Oracle para ios / android.Community está juntando todo al completar la pieza faltante (JVM) para ios / android, Community hizo un buen progreso en la ejecución de JavaFX en ios ( RoboVM) / android ( DalvikVM ). Si lo desea, también puede contribuir a la comunidad patrocinando ( Conviértase en patrocinador de RoboVM ) o comience a desarrollar aplicaciones e informar problemas.
Editar 23/06/2014:
Johan Vos creó un sitio web para puertos javafx JavaFX en dispositivos móviles y tabletas , verifique esto para obtener información actualizada.
Oracle JavaFX de Java SE solo es compatible con OS X (macOS), GNU / Linux y Microsoft Windows . En estas plataformas, las aplicaciones JavaFX se ejecutan normalmente en JVM desde Java SE u OpenJDK.
También hay un proyecto JavaFXPorts , que es un proyecto de código abierto patrocinado por un tercero . Su objetivo es portar la biblioteca JavaFX a Android e iOS.
En Android, esta biblioteca se puede utilizar como cualquier otra biblioteca de Java; el código de bytes de JVM se compila en el código de bytes de Dalvik . Es lo que la gente quiere decir cuando dice que "Android ejecuta Java".
En iOS, la situación es un poco más compleja, ya que ni Java SE ni OpenJDK son compatibles con dispositivos móviles de Apple. Hasta hace poco, la única opción sensata era utilizar el compilador Java avanzado de RoboVM para iOS. Desafortunadamente, el 15 de abril de 2015, el proyecto RoboVM se cerró .
Una posible alternativa es la de Intel motor Multi-OS de . Hasta hace poco, era una tecnología patentada, pero el 11 de agosto de 2016 era de código abierto . Aunque puede ser posible compilar una aplicación iOS JavaFX usando la implementación JavaFX de JavaFXPorts, no hay evidencia de eso hasta ahora. Como puede ver, la situación está cambiando dinámicamente y, con suerte, esta respuesta se actualizará cuando haya nueva información disponible.
Con Windows Phone es simple: no hay soporte para JavaFX de ningún tipo.
Posible. También puedes conseguir deporte comercial.
JavaFXPorts es el nombre del proyecto de código abierto mantenido por Gluon que desarrolla el código necesario para que Java y JavaFX funcionen bien en hardware móvil e integrado. El objetivo de este proyecto es contribuir en la mayor medida posible al proyecto OpenJFX siempre que sea posible, y cuando no sea posible, mantener el número mínimo 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 integrado. Las compilaciones de JavaFXPorts están disponibles gratuitamente en este sitio web para todos los desarrolladores.