5. C’est quoi javaFX?
‘‘JavaFx, est l'évolution de la plate-forme client Java
conçu pour permettre aux développeurs d'applications
de créer et de déployer facilement des applications
clients riches qui se comportent toujours sur de multiples
plateformes.
,,
7. Pourquoi utiliser JavaFx?
RIAs for all
screens
•
•
•
•
{
Desktop
Navigateur
Mobile
TV
Plateforme client riche
intuitive
Préserver son
investissement
Fonctionnalité crossbrowser
Intégration en entreprise
8. Demonstration
Structure à base d’arbre ‘’Scene graph
•
•
•
Graphe acyclique orienté
Les parents et les fils
Représentation des composants GUI
les principaux nœuds de chaque arbre
sont
•
•
Stage: la fenêtre d'accueil de l'application
Scene: les canevas, où les composants montrent
Tous les composants et éléments
graphiques sont placés dans la scène
Je vais commencer ma présentation par une petite introduction et puis je vais présenter javaFx et elle fait quoi exactement ensuite je vais présenter les différentes API et fonctionnalité de la platefome. Et ses avantages Ensuite je dérouler une démostration pour voir contrairement la façon de coder de JavaFx et à la fin je vais parler de la prochaine release de JavaFx qui est la version 8.
Java supporte le développement des application desktop riche, ça fait un bon moment et cela avec les appletset multi-plateformesEt vous avez peut être tous vu des applications clientes riches construites avec Java.Cependant la création d'une application graphique riche en Java nécessiteà un développeur de travailler avec différentes technologies telles que AWT, Swing, Java2D, JOGL ou Java3D etcCe rend le développement assez complexe et prend du temps en terme de développement.
Javafx simplifie la complexité de la création d'applications client riche assez complexesIl fournit une simple bibliothèque d'API que les développeurs peuvent facilement utiliser pour ajouter des graphiques , des médias, du contenu Web , UI controls , à leurs applications De cette façon, les développeurs n'ont plus à se soucier sur la technologie à utiliser pour une tâche donnée . Au lieu de cela , ils ne peuvent se concentrer sur ce que sur les fonctionnalités dont ils ont besoin et ensuite utiliser l'API JavaFX appropriéDonc on va dire que JavaFX2.0 vient introduire un certain nombre de nouvelles fonctionnalités à la plate-forme Java .
En fait JavaFX est totalement intégré à l'environnement d'exécution Java (JRE) et tire pleinement parti de la la performance de la plate-forme Java.Une Applications JavaFX est exécutée sur n'importe quel système ou navigateur qui exécute le JRE et qui s’intègre aussi facilement à la plate-forme Java, Mobile Edition (Java ME), JavaFXexploite également les autres avantages de la Plate-forme Java, tels que l'orienté objet, l'héritage, le polymorphisme.
Après que avoir fait une petite apperçu sur javaFX on va rentrer un peut dans le détail pour voir de quoi il est capable et ce qu’il fournit comme API et fonctionnalités, le schéma suivant est une vue d’ensemble sur les différentes API et fonctionnalités de la façon dont la plate-forme JavaFX intègre les différentes plates-formes.JavaFXRuntime:,qui représente l’environnement d’executtion et aussi et des bibliothèques de support. pour la plateforme.Common elements: Contient des API et autres runtimes qui fonctionnentsystématiquement sur toutes les plateformes.Desktop Éléments : Contient extensions d'API qui sont spécifiques à la plateforme desktopMobiles Eléments : Contient extensions d'API qui sont spécifiques à la plate-forme mobile.TVÉléments : Contient extensions d'API qui sont spécifiques à la plate-forme de télévision.Application Framework: qui formes en fait le bloc de construction pour le développement des applications.Designer tools: permet aux concepteurs visuels et graphiques de créer des composants graphiques en utilisant des outils de création graphique tels que Adobe Photoshop et Adobe Illustrator et les utiliser dans l'application JavaFXDeveloppertool: qui permet justement au developpeurs la création des application javaFx
Du coup,kesque la plateforme javaFx nous apporte par rapporte ce qui était auparavantJavaFX fournit un modèle développement et le déploiement unifié pour la création de RIA pour le desktop , le navigateur, mobile et TV.Plateforme client riche : JavaFX, il est facile et intuitif à intégrer des graphiques, vidéo, audio, animation et texte riche.on pourra réutiliser lesbibliothèques Java d’un système existantes dans JavaFX et de cette façon la de préserver l'investissement qu’on a déjà fait en Java.JavaFX offre une utilisation uniforme pour tous les navigateurs sur de multiples plateformesAvec JavaFX on pourra bien intégrer une interface utilisateur riche avec une complexe entreprise back-end.
En fait le développement des interface graphique est structurée en arbre , qui s’appelle le scene graphe qui est un graphe orienté avec de parents et des fils ces nœuds font justement la representation des composants graphiquesLes principaux nœuds de chaque arbre est le stage qui est la fenetre principale de l’appli en quelque sorte c’est le Jframe de SwingScene la surface de dessin pour le contenu graphique de l’Application.Eu puis tous les composants graphiques sont placés dans la scenes qui reprensent justement les nœuds de l’arbre .
Si on prend l’exemple d’une interface qui un composant layout de mise en forme anchorPane , un champs de text un button et puis un viewlist
Lescene graph serait comme suit le group root qui est le père par defautEt puis le anchorPane pour la mise en forme de l’interface et ensuite les fils de ce nœuds sui sont
Maintenant je vousmontre ou réside la simplicité et la richesse de javaFX , par le déroulement d’un simple code d’une interface de login .Sa force en fait est dans ce qu’on appelle FXML qui est un langage basé sur XML qui fournit la structure pour la construction d'une interface utilisateur séparée la couche logique et contrôle de l’application.
Je vais commencer par le entry point qui sert à créer le stage, la scène et de charger la template de l’interface qui est le fichier FXMLDans un premier temps on charge la template de l’interfaceEt puis on crée la scene avec les dimension et le nœud ou nous avons charger la templateEnsuite on donne un titre du stage On mis dedans la sceneEt à la fin on affiche la sceneComme ça le fichier template est vide en fait
Comme vous voyer ici la template de l’interface Tout en dessus on fait le lien avec le controleur dans le noued père qui est dans notre cas GridPane pour la mise en forme de l’interface qui est l’equivalent du table de HTML 5.
Ici j’ai rajouté tout simplement un button de logging au fichier fxml , on rajoute dans le contrôleur le code qui manipule l’evennement de click
La derniere tâche c’est effectivement de rendre l’application jolie et intuitive en l’appliquant du CSS
C’est vrai vous me dites que développer l’interface graphique comme ça en dur en XML c’est fastidieuse et couteuse en terme du temps,Oracle à prevu cela et à inroduit un outil qui est assez prtatique et qui permet d’éviter de coder une interface de A à Z.Et qui facilite énormement la tâche de la mise en formes de nos interfaces graphique et à la fin il nous génère les interfaces sous forme des fichier Fxml prêts à utlisations
Les principales fonctionnalités qui sont assez pratique sontLe drag&drop: qui permet de costruire les interface rapidement en glissant les composant et en les mettant sur l’interface sans avoir besoin d’écrire du code Aussi ça fournit en fait une integration facile et efficace avec n’importe quel IDE de Java.Çapermet en fait de visualiser rapidement les modifications de mise en forme de l'interface que vous faites sans la nécessité de compiler. Ces caractéristiques permettent de réduire les temps de développement de l’application. On pourra bien également appliquer du CSS sur l'interface utilisateur et avoir des aperçu sur le look and feel appliqué
Ensemble offre une galerie de plus de 100 exemples d'applications qui couvre pratiquement toutes les fonctionnalités de JavaFX, tels que des graphiques, des contrôles, de l'animation, des graphiques, des médias et WebView. Le code source de chaque échantillon et liens vers la documentation de l'API sont également fournis. Ensemble fournit aux développeurs un outil interactif de référence pour ce qu'ils peuvent construire avec JavaFX.Du coup Enseble est developpé aussi par Oracle est qui est disponible sur le site officiel de Oracle
Whatisnext??La prochaine version qui sera la version javaFX8 , 2.2 vers javaFx8 par rapport en fait la platefomr java La version final sortira prochainement, pas loin, en 18 mars prochain, il y avait déjà la version developperpreview qui sorti déjà en septembre dernier.Donc les plus importantes foncionnalités de la prochaine version est qye , le support de 3D sera amélioré Inroduction de la lambda expresssion qui est plutôt une fonctionnalité rajouté à java et non pas exclusivement à javaFxNouveaux effets avec de nouvelles options à appliquer sur les textesDe nouvelles API CSS qui permettrons de faire beaucoup de choses en ce qui concerne le design des interfaces Swing node qui sera une fonctionalité assez pratique et qui permettra d’introduire des composants swing dans la sceneSupport d’impression sera bien rajouté dans la prochaine version Et bien d’autres composants et controles qui n’existaient pas dans version 2.2
Merci pour votre attention et si jamais vous avez des questions!