Introduction à GWT -Partie 2- Préparation de l'environnement de travail

Leave a Comment
Article précédent : Introduction à GWT - Partie 1 - Présentation de GWT.

Avant d'entrer dans le vif du sujet et mettre la main dans le cambouis nous allons rapidement nous doter des bons outils.

De quels outils avons-nous?

  • Un SDK Java : Pour vérifier si vous avez un SDK sur votre plateforme lancez une invite de commande et tapez javac. Si aucun SDK Java n'est installé sur votre système vous aurez un message similaire au suivant :
    C:\Users\nouhoum>javac
    'javac' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.

    Téléchargez et installez le SDK de Java.
  • GWT: Nous allons maintenant installer Google Web Toolkit. Téléchargez GWT à partir d'ici. Extrayez le contenu du fichier téléchargé à l'endroit de votre choix sur votre machine. Examinons le contenu du répertoire d'installation avant d'aller plus loin.
    • La documentation : le dossier doc contient de la documentation sur l'API de GWT (la javadoc).
    • Les bibliothèques de GWT: Les fichiers archive Java (JAR) contenus dans le dossier d'installation contiennent les classes du toolkit GWT. gwt-user.jar est particulièrement important pour le développeur d'applications GWT. Il contient les classes relatives à l'interface graphique (les widgets), à l'internalisation etc. gwt-dev contient le code des outils utilisés lors du développement notamment le compilateur GWT chargé de transformer le code Java en code Javascript. Et gwt-servlet contient quant à lui les API nécessaires au développement de services RPC (Remote Procedure Call).
    • Des fichiers de commande (des scripts): GWT vient également avec un certain nombre de scripts utilitaires. Nous reviendrons dans cette partie sur l'usage de certains de ces scripts.
    • Des exemples de projets GWT: Des exemples de projets de GWT dont vous pourrez vous inspirer pour vos propres projets.
  • Eclipse : Nous différons l'installation d'Eclipse à plus tard car je souhaite que nous fassions d'abord connaissance avec GWT et son outillage.
Maintenant place à un peu de pratique! Dans la section suivante nous allons créer notre premier projet Google Web Toolkit.

Créons notre premier projet GWT?

Le script webAppCreator localisé à la racine du dossier d'installation de GWT permet de créer une application en ligne de commande. Voici comment l'utiliser :


C:\Users\nouhoum>webappcreator
Missing required argument 'moduleName'
Google Web Toolkit 2.0.3
WebAppCreator [-overwrite] [-ignore] [-out dir]
[-junit pathToJUnitJar] moduleName

where
-overwrite  Overwrite any existing files
-ignore     Ignore any existing files; do not overwrite
-out        The directory to write output files into (defaults to current)
-junit      Specifies the path to your junit.jar (optional)
and
moduleName  The name of the module to create (e.g. com.example.myapp.MyApp)


Relançons la commande en lui fournissant comme option -out HelloGWT et pour le nom du module com.nouhoum.gwt.HelloGWT.
Voici la commande complète pour créer l'application HelloGWT.
#webAppCreator -out HelloGWT com.nouhoum.gwt.HelloGWT
Not creating tests because -junit argument was not specified.

Created directory HelloGWT\src
Created directory HelloGWT\war
Created directory HelloGWT\war\WEB-INF
Created directory HelloGWT\war\WEB-INF\lib
Created directory HelloGWT\src\com\nouhoum\gwt
Created directory HelloGWT\src\com\nouhoum\gwt\client
Created directory HelloGWT\src\com\nouhoum\gwt\server
Created directory HelloGWT\src\com\nouhoum\gwt\shared
Created directory HelloGWT\test\com\nouhoum\gwt
Created directory HelloGWT\test\com\nouhoum\gwt\client
Created file HelloGWT\src\com\nouhoum\gwt\HelloGWT.gwt.xml
Created file HelloGWT\war\HelloGWT.html
Created file HelloGWT\war\HelloGWT.css
Created file HelloGWT\war\WEB-INF\web.xml
Created file HelloGWT\src\com\nouhoum\gwt\client\HelloGWT.java
Created file HelloGWT\src\com\nouhoum\gwt\client\GreetingService.java
Created file HelloGWT\src\com\nouhoum\gwt\client\GreetingServiceAsync.java
Created file HelloGWT\src\com\nouhoum\gwt\server\GreetingServiceImpl.java
Created file HelloGWT\src\com\nouhoum\gwt\shared\FieldVerifier.java
Created file HelloGWT\build.xml
Created file HelloGWT\README.txt
Created file HelloGWT\.project
Created file HelloGWT\.classpath
Created file HelloGWT\HelloGWT.launch
Created file HelloGWT\war\WEB-INF\lib\gwt-servlet.jar

Que s'est-il passé là?

En fait le script webAppCreator a généré notre application HelloGWT avec tous les fichiers nécessaires pour l'importer dans Eclipse.

Installation d'Eclipse
  • Téléchargez et installez Eclipse à partir du site d'Eclipse.
  • Rendez-vous ici pour récupérer l'URL du plugin de Google pour votre version d'Eclipse. Par exemple la version 3.6 d'Eclipse l'URL du plugin est : http://dl.google.com/eclipse/plugin/3.6
  • L'installation du plugin se fait en lançant Eclipse et en allant au menu Help/Install New Software... Il suffit ensuite de suivre les différentes étapes. 
 
Importation du projet dans Eclipse

Allez au menu File/import d'Eclipse puis choisissez l'option General et cliquez sur Existing Projects into Workspace. Ceci importe le projet dans votre espace de travail Eclipse. Maintenant que le projet est importé dans Eclipse pour l'exécuter il suffit de faire un clic sur le fichier de lancement HelloGWT.launch situé à la racine du projet et de cliquer sur Run as et hop!

Création d'un nouveau projet avec Eclipse

Vous pouvez, au lieu de passer par le script WebAppCreator, utiliser Eclipse pour créer votre application GWT. Voici comment procéder:
  • File > New > Web Application Project
  • Fournissez les informations demandées puis cliquez sur Finish pour créer le projet.


Dans les prochains articles nous nous pencherons sur la structure d'un projet GWT en nous basant sur notre exemple d'application HelloGWT puis nous modifierons son code et vous verrez combien c'est facile d'écrire une application Ajax avec GWT.
Article suivant: Anatomie d'un projet GWT.

Introduction à GWT - Partie 1 - Présentation de GWT

Leave a Comment
Cet article est le premier d’une série d’articles d’introduction à Google Web Toolkit – GWT. Je vous propose lors de cette série d’explorer le développement d’applications Ajax avec GWT. Dans un premier temps nous verrons des exemples simples qui nous permettrons de prendre en main l’outil. Ensuite nous verrons des cas plus complexes se rapprochant de ce qu’on peut rencontrer dans le « monde réel ».

Développement d’applications Ajax

Le monde avant GWT


Les applications Ajax ont connu une grande popularité depuis quelques années. Elles constituent une rupture avec les applications Web traditionnels et offrent une meilleure expérience aux utilisateurs. Le socle technologique d’Ajax est composé de (X)HTML, de DOM, de Javascript et de XML.
Afin de faciliter le développement d’applications Ajax de nombreux frameworks Javascript ont vu le jour. Malgré tous les apports de ces frameworks les caractéristiques du langage Javascript (typage dynamique, ….) et les incompatibilités des navigateurs quant au support de ce langage font que développer une application Ajax est, pour les développeurs, un véritable parcours du combattant.

En résumé cela donne:
  • Javascript est un langage puissant mais mal maîtrisé
  • Typage dynamique en Javascript (difficile de détecter les erreurs telles que des fautes de frappe avant l’exécution du script de l’application)
  • Incompatibilité des navigateurs : Le développeur doit traiter à la main les incompatibilités entre les différents navigateurs lors du développement de son application.
L’approche GWT

L’approche de GWT pour développer des applications est pour le moins originale et peut se résumer en résumer en une phrase : Traiter le Javascript comme l’assembleur l’est par les langages de programmation haut niveau tels que le C++. Un autre langage, en occurrence Java, est utilisé pour écrire le code applicatif et GWT se charge de générer le code Javascript pour les plateformes cibles : les navigateurs. Quelles sont les implications d’un tel choix ? C’est ce que nous allons voir sans tarder.

  • Apports du langage Java
Java est un langage très populaire (peut-être le plus populaire) disposant d’une très large communauté et d’un écosystème riche d’outils et de méthodologies éprouvées rendant ainsi le développement d’applications Ajax très productif.
En écrivant son application Ajax directement en langage Java le développeur tire pleinement profit des avantages de la programmation orientée objet : conception modulaire, réutilisation de codes. L’utilisation d’un IDE Java tel qu’Eclipse et les possibilités offertes par celui-ci, à savoir l’auto-complétion, le débogage, le refactoring, et d’outils de tests unitaires (JUnit notamment) permettent de détecter un grand nombre d’erreurs dès la phase de développement de l’application et de gagner en productivité.

  • Apports du compilateur de GWT

En plus du Java et de son écosystème GWT tire indéniablement sa force de son compilateur chargé de générer le code Javascript de l’application à partir de classes Java.
  1. Génération du code Javascript de l’application : Le framework GWT arrive avec un compilateur qui est chargé de générer le code Javascript de l’application à partir des classes Java écrites par le développeur.
  2. Prise en charge des incompatibilités entre navigateurs : Le développeur n’écrivant pas le code de son application en Javascript il ne s’occupe plus du traitement des incompatibilités des navigateurs quant au support de Javascript. La gestion de ces incompatibilités est laissée à la charge du compilateur Java-Javascript de GWT. Ce compilateur génère le code Javascript adéquats pour les principaux navigateurs du marché : Firefox, Chrome, Safari, IE, Opera.
  3. Optimisation du code Javascript généré : Le compilateur GWT ne limite pas à une simple génération de code Javascript mais il opère des optimisations importantes sur le code généré.

L’ensemble de ces éléments contribue à rendre productif et moins complexe le développement d’applications Ajax performantes.

Nous arrivons à la fin de ce premier article. Dans le prochain article nous préparerons notre environnement de travail et créerons notre première application GWT.


Article suivant: Préparation de l'environnement de travail 

Pourquoi il faudrait se mettre à Scala

Leave a Comment
  • La JVM (la machine virtuelle de Java) comme une plate-forme : La maturité de la JVM et la richesse de l'écosytème Java font naître une floraison de nombreux nouveaux langages basés sur la JVM dont Groovy et Scala. Je suis entièrement nouveau aux mondes de ces nouveaux langages mais je compte y mettre fin en explorant le plus vite possible Scala. Mais avant de prendre cette décision j'ai mené une petite enquête dont voici le résultat en quelques points.
  • Une autre façon de concevoir des applications concurrentes: Scala promet de vous faciliter la conception d'applications concurrentes grâce notamment à modèle de concurrence basé sur les Acteurs (Actors) prêté d'Erlang. Cette promesse est d'autant plus tentante que le développement d'applications concurrentes avec Java peut être difficile et demander une certaine expertise.
  • Le fonctionnel sur la JVM! : Scala apporte à Java le paradigme de la programmation permettant ainsi aux applications écrites en Scala de bénéficier de la complémentarité entre les paradigmes des programmations fonctionnelle et orientée objet.
  • Mettre une autre corde à son arc et miser sur l'avenir: Une autre raison de se mettre à Scala est que cela vous poussera à voir le monde autrement.
  • Ecrire du code plus concis grâce à l'expressivité de Scala (attention ceci peut avoir un revers : la lisibilité de votre code)
  • S'éclater (pour les geeks hardcore ça ;-) )
  • Mettez votre raison
Voila pourquoi j'ai décidé de me mettre à Scala. J'espère qu'au moins l'une de ces raisons pourra vous convaincre de vous mettre à votre tour à Scala. A bientôt pour les retours sur votre aventure Scala au cas où vous déciderez de vous y mettre.

Et la release 05 de Guava fut!

Leave a Comment

La release 05 du projet Guava, une librairie java utilisée dans beaucoup de projets Java chez Google, est sortie. Elle fournit notamment une extension au framework Java Collections. Notez au passage que la librairie Google Collections doit être abandonnée au profit de cette release de Guava. Ce projet vaut vraiment le coup que vous y jetiez un coup d’œil. La page du projet est par là! Très pressé de jouer un peu plus avec Guava ;-).


© Nouhoum TRAORE.. Fourni par Blogger.