La modalité est la première application WebFX de niveau d'entreprise réelle au monde. Voici quelques wireframes du back-office (WebFX fournira tous les composants requis pour ces UIS):
WebFX ne cible pas uniquement le Web. Les applications WebFX peuvent être compilées pour s'exécuter nativement sur 7 plates-formes à partir d'une seule base de code!
| Plate-forme | JRE 32 ou 64 bits | Natif 64 bits |
|---|---|---|
| Desktops (Windows, MacOS et Linux) | ✅ | ✅ |
| Tablettes et mobiles (Android et iOS) | ✅ | |
| Embed (Raspberry Pi) ~ Pas encore documenté | ✅ | ✅ |
| Web (Chrome, Firefox, Edge, etc ...) |
Vous pouvez consulter les démos pour voir comment un flux de travail GitHub peut générer ces exécutables. Par exemple, voici le flux de travail GitHub pour la démo FX2048 et les exécutables qu'il a générés.
WebFX compile votre application Javafx avec le kit WebFX - une version compatible GWT d'OpenJFX.
Pour plus d'explications, veuillez lire la documentation.
Le guide pour démarrer est inclus dans la documentation.
Bien que le kit WebFX (ce référentiel) soit le cœur même du projet, il existe d'autres référentiels importants qui comprennent ensemble l'écosystème WebFX. Plus d'informations à leur sujet sont données au niveau de l'organisation.
WebFX est toujours en phase d'incubation. Vous pouvez consulter notre feuille de route ci-dessous. À ce stade, nous ne fournissons que des versions d'instantanés et des changements de rupture peuvent se produire jusqu'à la première libération officielle.
webfx.xml ⓵ 100% = pas de 3D, pas de CSS. Javafx 3D ne peut pas être facilement mappé en HTML. Pour CSS, l'approche WebFX consiste à s'appuyer sur HTML CSS, plutôt que d'émuler Javafx CSS dans le navigateur. Voir ⓽ pour plus d'informations sur cette approche.
⓶ WebFX prend en charge l'API générale Javafx-Controls (vous permettant d'écrire des contrôles personnalisés). Jusqu'à présent, les commandes Javafx prises en charge sont: Button, Checkbox, Radiobutton, ContextMenu, Label, HyperLink, Textfield, TextArea, Passwordfield, Progressbar, Slider, ScrollPane, SplitPane & Tabpane.
⓷ FXML s'appuie sur la réflexion, qui n'est pas prise en charge par les transpiles. Alternativement, WebFX pourrait transformer les fichiers FXML en code Java transpilable. Un prototype a été réalisé avec cette approche utilisant Memory Game, un jeu Javafx basé sur FXML (voir la démo de travail).
⓸ Un effort est actuellement fait pour rendre le transpiler WebFX-AGNOSTIQUE. J2CL (successeur de GWT en développement actif) sera bientôt pris en charge. Cette étape à l'épreuve de l'avenir apportera également tous les prochains goodies de J2CL, tels que WebAssembly Target (en plus de JavaScript) et la langue Kotlin (en plus de Java).
⓹ TEAVM est un autre transpiler populaire. Alors que GWT & J2CL sont des transpilaires de source Java, TeAVM est un transpilateur à code d'octets, qui ouvrira la porte à d'autres langages JVM alternatifs tels que Scala. En outre, TeAVM prend en charge Java 21, y compris les expressions record et nouvelles switch .
⓺ Le support JXBrowser offrira une vue Web externe que les développeurs peuvent utiliser pour exécuter, tester et déboguer la version Web de leur application WebFX directement à partir de Java (aucune transpilation requise!). L'IDE exécutera simplement votre application avec le kit WebFX Runtime (au lieu d'OpenJFX) dans le JVM, et le DOM généré par WebFX sera rendu dans JXBrowser (un navigateur basé sur le chrome contrôlé par Java). Cela accélérera considérablement le cycle de développement des applications Web.
⓻ WebFX Extras fournit des fonctionnalités supplémentaires pour WebFX et des contrôles alternatifs plus simples aux contrôles Javafx complexes non encore pris en charge (Ex: Grille de données simple et graphiques).
⓼ WebFX Stack fournit des fonctionnalités supplémentaires au niveau de l'entreprise telles que: UI Router, I18N, Validation, Auth (N / Z) avec prise en charge SSO, ORM côté client, accès DB, bus d'événements basé sur WebSocket (pour la communication du serveur - Focus sur Vect.X) et les fonctionnalités de push Server. WebFx Stack + Vert.x est une solution Java Full-Stack (similaire à React + Node.js).
⓽ WebFX CSS s'appuie sur le double format: JAVAFX CSS & HTML CSS. Les développeurs WebFX devront écrire les deux formats. Bien que ce soit plus de travail, il s'agit de l'approche la plus optimisée (imiter Javafx CSS et charger Caspian.css dans le navigateur serait une approche lourde). WebFX CSS fournira un CSS initial plus léger pour Javafx qui remplacera Caspian, en utilisant un design plat minimaliste moderne.
Certains travaux de refonte sont également nécessaires pour transiter du processus de correction actuel (qui est principalement un patch manuel d'OpenJFX 8) à un processus de correction plus professionnel avec un outillage permettant une rebasing régulière sur OpenJFX.
Pour toute question ou demande d'aide, n'hésitez pas à ouvrir une discussion GitHub ou à utiliser notre canal de chat #Général sur Discord. Vous pouvez ouvrir un problème pour signaler un bogue ou demander une fonctionnalité.
Selon la fréquence à laquelle vous souhaitez recevoir des mises à jour, vous pouvez vous abonner à notre blog (RSS - un trafic bas), suivre @WebFxProject (X - trafic moyen) ou rejoindre notre canal #News (Discord - Traffic plus élevé).
Vous pouvez grandement aider le projet par:
Vous souhaitez également vous impliquer dans le développement? Vous êtes les bienvenus! Veuillez lire notre guide de contribution.
WebFX est un logiciel gratuit et open-source sous licence Apache 2.0