La modalidad es la primera aplicación WebFX de nivel empresarial del mundo real en desarrollo. Aquí hay algunos marcos de alambre de la oficina de back-office (WebFX proporcionará todos los componentes requeridos para estas UI):
WebFX no se dirige solo a la web. ¡Las aplicaciones WebFX se pueden compilar para ejecutarse de forma nativa en 7 plataformas desde una sola base de código!
| Plataforma | JRE de 32 o 64 bits | Nativo de 64 bits |
|---|---|---|
| Desktops (Windows, MacOS y Linux) | ✅ | ✅ |
| Tabletas y móviles (Android e iOS) | ✅ | |
| Incrustar (frambuesa pi) ~ aún no documentado | ✅ | ✅ |
| Web (Chrome, Firefox, Edge, etc ...) |
Puede consultar las demostraciones para ver cómo un flujo de trabajo GitHub puede generar estos ejecutables. Por ejemplo, aquí está el flujo de trabajo GitHub para la demostración FX2048 y los ejecutables que generó.
WebFX compila su aplicación Javafx junto con el kit WebFX, una versión compatible con GWT de OpenJFX.
Para obtener más explicación, lea la documentación.
La guía para comenzar se incluye en la documentación.
Aunque el kit WebFX (este repositorio) es el corazón del proyecto, existen otros repositorios importantes que juntos comprenden el ecosistema WebFX. Se proporciona más información sobre ellos a nivel de organización.
WebFX todavía está en la fase de incubación. Puede consultar nuestra hoja de ruta a continuación. En esta etapa, proporcionamos solo lanzamientos de instantáneas, y los cambios de ruptura pueden ocurrir hasta el primer lanzamiento oficial.
webfx.xml ⓵ 100% = sin 3D, sin CSS. Javafx 3D no se puede asignar fácilmente a HTML. Para CSS, el enfoque WebFX es confiar en CSS HTML, en lugar de emular Javafx CSS en el navegador. Vea ⓽ para obtener más información sobre este enfoque.
⓶ WebFX admite la API general de Javafx-Controls (lo que le permite escribir controles personalizados). Hasta ahora, los controles Javafx compatibles son: botón, casilla de verificación, radiobutton, contextmenu, etiqueta, hipervínculo, textfield, textAREA, contraseña, campo de progreso, control deslizante, scrollpane, splitpane y tabpane.
⓷ FXML se basa en la reflexión, que no es compatible con los transpiladores. Alternativamente, WebFX podría transformar los archivos FXML en código Java transpilable. Se ha hecho un prototipo con este enfoque usando Memory Game, un juego Javafx basado en FXML (ver demostración de trabajo).
⓸ Actualmente, se está haciendo un esfuerzo para hacer WebFX Transpiler-Agnóstico. J2Cl (sucesor de GWT en desarrollo activo) pronto será apoyado. Este paso a prueba de futuro también traerá todas las próximas golosinas de J2CL, como WebAssembly Target (además de JavaScript) y Kotlin Language (además de Java).
⓹ Teavm es otro transpilador popular. Mientras que GWT y J2CL son transpiladores de fuente Java, TEAVM es un transpilador de código de bytes, que abrirá la puerta a otros idiomas JVM alternativos como Scala. Además, TEAVM admite Java 21, incluidos record y nuevas expresiones switch .
⓺ El soporte JXBrowser ofrecerá una vista web externa que los desarrolladores pueden usar para ejecutar, probar y depurar la versión web de su aplicación WebFX directamente desde Java (¡no se requiere transpilación!). El IDE simplemente ejecutará su aplicación con el tiempo de ejecución del kit WebFX (en lugar de OpenJFX) en el JVM, y el DOM generado por WebFX se representará en JXBrowser (un navegador basado en cromo controlado por Java). Esto acelerará considerablemente el ciclo de desarrollo de las aplicaciones web.
⓻ WebFX Extras proporciona características adicionales para WebFX, y controles alternativos más simples a los complejos controles Javafx aún no es compatibles (ex: cuadrícula y gráficos de datos simples).
⓼ WebFX Stack proporciona características adicionales de nivel empresarial, como: UI Router, I18N, Validation, Auth (N/Z) con soporte SSO, ORM del lado del cliente, acceso DB, bus de eventos basado en WebSocket (para la comunicación del servidor, enfóquese en vert.x) y funciones de empuje del servidor. WebFX Stack + vert.x es una solución de pila completa Java (similar a React + Node.js).
⓽ WebFX CSS se basa en formato dual: Javafx CSS y HTML CSS. Los desarrolladores de WebFX deberán escribir ambos formatos. Aunque es más trabajo, este es el enfoque más optimizado (emular Javafx CSS y Cargar Caspian.CSS en el navegador sería un enfoque pesado). WebFX CSS proporcionará un CSS inicial más ligero para Javafx que reemplazará a Caspian, utilizando un diseño plano minimalista moderno moderno.
También es necesario un trabajo de rediseño para transitar desde el proceso de parcheo actual (que es principalmente un parche manual de OpenJFX 8) a un proceso de parcheo más profesional con herramientas que permite una rebaja regular en OpenJFX.
Para cualquier pregunta o solicitud de ayuda, no dude en abrir una discusión de GitHub o usar nuestro canal de chat #General en Discord. Puede abrir un problema para informar un error o solicitar una función.
Dependiendo de la frecuencia con la que desea recibir actualizaciones, puede suscribirse a nuestro blog (RSS - Bajo tráfico), seguir @WebFXProject (X - Tráfico medio) o unirse a nuestro canal #News (discordia - tráfico más alto).
Puede ayudar enormemente al proyecto por:
¿Quieres involucrarte en el desarrollo también? ¡De nada! Lea nuestra guía contribuyente.
WebFX es un software gratuito de código abierto con licencia bajo la licencia Apache 2.0