Le blog de Fabien DUMINY

Un blog utilisant WordPress

Skip to: Content | Sidebar | Footer

Paris JUG – conférence sur GWT

16 novembre, 2008 (17:35) | Evènement, Java, Paris JUG | By: fabien

Mardi 4 novembre 2008, je suis allé à la conférence sur GWT organisée par Paris JUG, un groupe d’utilisateurs JAVA basé sur la région parisienne. Cela m’a permis d’en savoir plus afin de développer un bureau virtuel pour JNode basé sur GWT , comme me l’a suggéré un collègue.

Première partie : GWT

Le présentateur commence à nous parler du cas d’un jeu très simple qu’il a développé en seulement quelques heures sur PC/Windows et testé sur la Wii (dont le navigateur est opera) puis nous invite à consulter les blogs sur ongwt.

Exemples d’applications/librairies basées sur GWT :

  • Google earth
  • contact office : un logiciel de bureautique en ligne
  • myERP : un ERP (progiciel de gestion intégrée) complet en GWT
  • GWT Window Manager : un gestionnaire de fenêtre
  • GWT Desktop Framework : une librairie basée sur une architecture HMVC pour gérer des formulaires avec vérification des saisies
  • GWT designer : un plugin eclipse permettant d’être rapidement opérationnel avec GWT
  • Google Gears : permet de gérer (par l’intermédiaire du navigateur) une application en mode déconnecté avec le serveur et la base de données installé coté client. De plus, il permet de rendre le javascript multithreadé (ce qu’il n’est pas à la base) !
  • et plein d’autres …

Principes de GWT :

  • Après chargement initial des pages, GWT peut aussi fonctionner en mode déconnecté (cad sans aucune connection réseau)
  • Coder des applications web en java (pas de javascript ou de html) : on utilise avant tout la syntaxe JAVA et un bonne partie des APIs (mais pas toutes)
  • Compiler en javascript : 1 fichier par browser, optimisé pour celui-ci + code compacte (mais il existe un mode ‘pretty’ pour un code formatté et lisible)
  • Un simple serveur statique suffit en général, Apache par exemple
  • Peut encapsuler une librairie javascript existante : pour cela le mot clé ‘native’, combiné à un format de commentaire, permet de définir la fonction javascript à utiliser lors de la phase de compilation
  • Fournit une API pour gérer l’historique du navigateur. Cela permet aussi de rendre les applications ‘bookmarkable’ malgré le fait que, par définition, une application GWT est une page unique.
  • Gère l’internationalisation => la compilation génère donc un fichier javascript par navigateur et par langue
  • Compatible avec JUnit pour le coté traitement métier et (presque compatible) avec Selenium pour le côté IHM
  • Support de java 5 depuis la GWT 1.5

Avantages :

  • s’intègre bien dans un écosystème existant, d’autant plus que c’est la syntaxe java
  • Ajax (et donc gwt) permet de décharger le serveur : la charge est reportée sur le client (browser), notamment parce qu’il n’y a pas de stockage de sessions sur le serveur.

produits concurrents :

Remarque : Comme les applications GWT sont représentées par une page unique, il faut repenser l’ergonomie IHM des applications web traditionnelles.

Deuxième partie : Restlet-GWT

  • REST définit complètement une architecture web et se base sur des choses existantes, par exemple le protocole http (avec ses requêtes GET, POST, PUT, DELETE). Pour plus d’informations, consulter l’article sur le journal du net ou celui sur wikipedia. Avantage : Une application Swing et GWT peuvent partager une grande partie du backend grâce à REST
  • Restlet : c’est une implémentation open source de REST en java. La version 1.1.0, appelée Restlet-GWT, est la première version stable du portage vers GWT
    • API unifiée coté serveur et coté client : cela permet de ne pas apprendre/utiliser plusieurs APIs (javamail, http, jdbc, …)
    • indépendant des servlet mais peut s’intégrer dans ce type de conteneur. Il existe aussi un  déploiement en mode standalone mais cela reste toujours du client/serveur.
    • expose des ressources (par une uri) et adapte la représentation au client. Ainsi, en http, on utilise la négociation de contenu pour savoir quel type de représentation est supportée par le client. Exemple : Firefox indique qu’il préfère le html ou sinon le xhtml.

Pour plus d’informations, allez voir sur le site de paris JUG

Be Sociable, Share!
Share and Enjoy

Write a comment





If your website is claim enabled, it will be notified that you have posted here.

MySQL query error