WebFX – Java a JavaScript
WebFX ofrece una nueva forma de desarrollar aplicaciones Java modernas basadas en la web con ricas interfaces gráficas similares a las de un escritorio. ¿Cómo es esto posible?
Esto es posible porque WebFX es un renderizador de aplicaciones JavaFX respaldado por GWT que puede convertir una aplicación JavaFX en una aplicación web de JavaScript puro independiente tradicional que no requiere complementos ni servidores para ejecutarse en el navegador.
Esto significa que si usted es responsable de una aplicación JavaFX heredada o está desarrollando bajo JavaFX actualizado como Openjfx, ahora puede migrar su aplicación a la web sin tener que volver a escribirla.
Por supuesto, esto se debe a la magia del transpiler. Exploramos este concepto en el “Campo de escritura del editor”.
Otro ejemplo es el evento Typescript, que se escribe estáticamente y actúa como un mejor superconjunto, agregando escritura opcional a Javascript (asegúrese de consultar Sorbet – Statically Typing Ruby sobre este tema). Un compilador de TypeScript analiza y compila el código de TypeScript en JavaScript para ejecutarlo en cualquier navegador.
Fable es otro conversor de X a Javascript. Tale transfiere F# a ES2015 JavaScript para que el código escrito en F# se ejecute en cualquier lugar donde se ejecute JavaScript: navegador, Node. js, Electron, React Native o V8 en general.
De esa manera, puede convertir programas e idiomas aparentemente incompatibles.
En el corazón de WebFX se encuentra la suite WebFX, una versión modificable de OpenJFX. Esto se logra parcheando la capa superior de OpenJFX (que contiene las funciones y la API principales de JavaFX) para que sea compatible con GWT y reemplazando la capa inferior (la canalización de representación de gráficos) con un mapeador DOM de gráfico de escena (el DOM finalmente se representa). por el navegador).
Por supuesto, al eliminar la barrera de Javascript, puede concentrarse en escribir su aplicación en Java puro. ¿A qué me recuerda esto? Ah, sí. . . lo prometes
Vaadin utilizó inicialmente GWT para compilar código Java a JavaScript. Ya no. Desde la versión 10, se ha compilado en componentes web y su motor de JavaScript del lado del cliente pasa eventos al lado del servidor, que decide cómo proceder en el lado del navegador, como cambiar el DOM; es decir, Vaadin proporciona una aplicación del lado del servidor y este servidor. un esfuerzo secundario se conoce con el nombre de Vaadin Flow. Mantenga ese pensamiento por un momento, porque hay una razón para celebrarlo.
WebFX no requiere un servidor, y esta es una de sus mayores ventajas; El paquete JS independiente estándar es un modelo de ejecución más simple, escalable y confiable.
Otra de sus ventajas es que es multiplataforma. Además de la plataforma web, la aplicación WebFX también puede ejecutarse en computadoras de escritorio y teléfonos móviles con cadenas de herramientas Gluon para producir ejecutables nativos.
La capacidad de crear aplicaciones para diferentes plataformas me recordó a Jetpack Compose Multiplatform, una extensión del marco de trabajo de la interfaz de usuario de JetBrains JetBrains que le permite crear interfaces de usuario web, de escritorio y de Android a partir de la misma base de código. Se ejecuta sobre Kotlin Multiplatform, un SDK para el desarrollo multiplataforma proporcionado por JetBrains, una tecnología que admite el uso compartido de código.
Sin embargo, para desarrollar ejecutables nativos con WebFx, necesita Gluon y la extensión GraalVM. Al usar complementos de GluonFX (para Maven y Gradle) en una aplicación JavaFX, los desarrolladores usan Gluon Substrate, que les permite crear imágenes nativas para proyectos Java y JavaFX que pueden dirigirse a todas las plataformas (escritorio, móvil e integradas). Debajo del capó, Gluon Substrate utiliza el proyecto GraalVM.
Dado que el proyecto aún se encuentra en etapa de incubación, existen algunas limitaciones; Cobertura limitada de JavaFX, errores en WebFX, errores de compilación de GWT, etc. Pero a pesar de las limitaciones, ahora puede desarrollar aplicaciones reales. Por ejemplo, el sitio web del proyecto se desarrolló utilizando WebFX, presentando la tecnología a través de una serie de tarjetas de animación.
Los programas de terceros también aparecen a su vez. por ejemplo “Modalidad” un sistema de reservas gratuito, de código abierto y orientado a la hospitalidad impulsado por WebFX, pero con un servidor backend; Vert. x para la interfaz entre las aplicaciones cliente y los servicios back-end que sirven al SPA.
WebFX es, por supuesto, de código abierto. Entonces, en el repositorio de Github puede encontrar todo el código relevante y el código de las demostraciones.
Detalles
Artículos relacionados
Campo de secuencias de comandos del compilador
Regístrese para recibir notificaciones de nuevos artículos sobre I Programmer boletín semanal, suscribir RSS Feed y síguenos Gorjeo, Facebook o LinkedIn.
Comentarios
o envíe su comentario por correo electrónico a: comentarios@i-programmer.info