Formation JavaFX 8 Développer une application de gestion avec JavaFX 8 Référence : JAVAFX8-03 Durée : 3 jour(s) Présentation Le développement de front-end est un domaine d'ingénieurie en constante mouvance. Il est parfois difficile de savoir quelle technologie / framework correspond le mieux à notre besoin, c'est un milieu fortement concurrenciel où l'obsolescence frappe durement les mauvais choix. A l'heure où le développement Web se standardise sous l'impulsion de HTML5 et JavaScript, il est important de souligner qu'il ne peut répondre seul à tous les besoins que l'on peut trouver dans les applications de gestion entreprise; en particulier les besoins de type client lourd, de performances, de maintenabilité et durabilité. Java 8 vient tout juste de sortir et avec lui de nouvelles possibilités de développement d'IHM sont disponibles : JavaFX 8 est la toute dernière technologie frontend livrée avec tout JRE et JDK d'Oracle permettant de développer des front-ends très polyvalents, multi-supports et robustes. JavaFX 8 est l'évolution directe de JavaFX 2, ce toolkit représente le remplaçant officiel de Swing, Applet et AWT. Son cycle de développement est couplé à celui du JDK, JavaFX est conçu pour durer ! Apprenez dès maintenant à tirer profit de ce nouveau toolkit aux multiples facettes! Objectifs - Créer des écrans de gestion avec JavaFX via API Java et/ou FXML Maîtriser le développement orienté composant avec databinding Choisir un découpage en mode MVC ou MVP en fonction de vos affinités et besoins Intégrer JavaFX et Spring: une entrée facile dans le monde Java et ses nombreuses technologies Evaluer les choix possibles d'intégration d'un front-end JavaFX à une architecture n-tiers Répartition: 50% Théorie, 50% Pratique Public: Architecte, Développeur, Chef de projet Pré-requis: Connaissance de Java Programme Présentation de JavaFX - Le successeur de Swing - Solution pour client lourd et client riche déployable sur le Web ou par installeur - Un runtime puissant tirant profit du hardware actuel - Conçu pour être multi-plateforme - Description des différentes solutions de déploiements: JAR exécutable, WebStart, natif Edition d'écran - Présentation des composants de base - Les différents layouts de composants - Le langage déclaratif FXML - Le support CSS - L'outil WYSIWYG SceneBuilder - Rapide aperçu des autres langages disponibles: VISAGE, ScalaFX, ClojureFX, GroovyFX - Intégration avec SceneBuilder - Limitations Architecture - Découpage en Model View Controller Découpage en Model View Presenter Null Object pattern et databinding Exemple d'intégration à une architecture n-tiers Présentation de Granite Data Services Outillage - Intégration usine logicielle avec Maven JavaFX plugin Définir une bonne testabilité d'une IHM Réaliser des tests avec JemmyFX, MarvinFX ou TestFX ? Imprimer des vues JavaFX Support dans les IDE: NetBeans, E(fx)clipse et Intellij Graphisme Multi-support avec JavaFX - - JavaFX 8 sous Java SE Embedded 8 et limitations - Présentation de JavaFX Ports le projet de portage JavaFX sous Android - Présentation de l'intégration JavaFX avec RoboVM sous iOS Gestion de TimeLine et animations Introduction aux API 3D fournies Créer des effets personnalisés paramètrables par CSS Présentation de l'API Canvas Databinding - Description du système de binding via Property - Déclaration de binding en FXML - Ecouter des changements à partir d'une Property - Implémentation de bindings personnalisés - Utilisation de la librairie JFXtras avec l'API BeanPathAdapter Concurrence - Description du fonctionnement des threads JavaFX - Utilisation de l'API Task et de l'API Service - Paramètrage d'un ThreadPoolExecutor Interfaçage avec Swing - Intégrer JavaFX dans une application Swing avec JFXPanel - Intégrer un composant Swing dans une application JavaFX via SwingNode - Gestion des threads Swing et JavaFX : séparés ou mergés - Limitations Intégration avec Spring - Injection de contrôleurs et composants - Utilisation de Spring Events - Traitement des tâches asynchrones Tel: +33(0)1 45 26 19 15 Fax : +33(0)1 75 43 49 92 Email : [email protected]