20091006 dev forum fr 001introduction à gwt en utilisant appcase sdk

19
http://www.greenivory.com Jean-Marc Prevost, développeur java, [email protected] Introduction à GWT en utilisant AppCase SDK Strasbourg, 8 octobre 2009

Upload: greenivory

Post on 30-Jun-2015

2.070 views

Category:

Business


1 download

DESCRIPTION

Nous parlerons dans un premier temps de GWT et GXT qui permettent de créer des interfaces web riches à partir de code Java, puis nous nous intéresserons plus précisément à un produit réalisé à partir de ces deux technologies : le portail AppCase de Greenivory et son SDK. Jean-Marc Prevost (GreenIvory)

TRANSCRIPT

Page 1: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

http://www.greenivory.comJean-Marc Prevost, développeur java, [email protected]

Introduction à GWT

en utilisant AppCase SDK

Strasbourg, 8 octobre 2009

Page 2: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

Plan

• Présentation

• GWT

‣ Présentation

‣ Création d’un projet

‣ Internationalisation

• GXT

‣ Présentation

‣ Les widgets

‣ Passage du projet GWT en projet GXT (+ déploiment de l’application)

• AppCase SDK‣ Présentation

‣ Passage du projet GXT en Greendget

‣ Communication entre UI et serveur

‣ Quelques widgets

Page 3: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

Présentation

• Jean-Marc Prevost (28 ans)

‣ Développeur Java, chez GreenIvory depuis le début de l’année

‣ Développeur Web depuis 2002 (ASP - PHP)

• GreenIvory – Haguenau

‣ Présent en France et aux Etats-Unis

‣ Équipe de 12 personnes

‣ Domaine d’activité : e-marketing, mashup, e-réputation, réseaux sociaux, portails collaboratifs…

‣ Advanced Business Partner d’IBM, Jeune Entreprise Innovante

Page 4: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GWT – Présentation (1/2)

• Qu’est-ce que GWT ?

‣ Google Web Toolkit

‣ Compilateur JAVA => JS/HTML

‣ Apache License, v. 2.0

‣ http://code.google.com/intl/fr/webtoolkit

Page 5: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GWT – Présentation (2/2)

• Avantages

‣ 1 langage : Java (aucune connaissance en html, Ajax, Javascript)

‣ Développement d’une application Web riche en utilisant un environnement de développement solide.

‣ Pas de soucis de compatibilité entre navigateurs (GWT s’en occuppe)

• Inconvénient principal

‣ Prise en compte difficile par les moteurs de recherche (Ajax)

Page 6: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GWT – Création d’un projet

• Préparation de l’environnement

• Création du projet

mkdir com.greenivorylabs.devforum.ui

cd com.greenivorylabs.devforum.ui

C:\Users\Jean-Marc\workspace\com.google.gwt\webAppCreator com.greenivorylabs.devforum.ui.Demo

Page 7: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GWT – i18n (1/2)

‣ Créer le package “i18n” dans notre projet Eclipse

‣ Dans le fichier “Messages.properties”, insérez les différentes traductions

‣ Dans le projet GWT, ajouter cet objet :

‣ Emploi d’une traduction :

‣ Il faut ensuite générer la classe, en lançant le fichier : “Messages-i18n.launch”

C:\Users\Jean-Marc\workspace\com.google.gwt\i18nCreator -eclipse com.greenivorylabs.devforum.ui -

createMessages com.greenivorylabs.devforum.ui.client.i18n.Messages

private static Messages messages = GWT.create(Messages.class);

messages.welcome("DeveloperForum")

Page 8: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GWT – i18n (2/2)

‣ Ajout d’une nouvelle langue, ajouter un fichier “Messages_fr.properties” contenant les mêmes clés

et traduire les valeurs et les paramètres. Relancer le fichier launch (actualiser le fichier java ainsi

généré).

‣ Il faut ensuite ajouter la prise en charge des langue au projet GWT, dans le fichier

“Demo.gwt.xml”, ajouter les deux lignes suivantes :

‣ Pour appeler une autre langue, il faut renseigner une variable dans le querystring :

<extend-property name="locale" values="fr" />

<extend-property name="locale" values="en" />

http://localhost:8888/Demo.html?locale=fr

Page 9: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GXT - Présentation

• Qu’est-ce que GXT ?

‣ Ext GWT

‣ Commercial License ou Open Source License

‣ http://www.extjs.com/products/gxt/

Page 10: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GXT – Les Widgets (1/3)

• Quelques widgets

‣ http://www.extjs.com/examples/#overview

Boutons

Tableau éditable paginé Graphiques

Page 11: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GXT – Les Widgets (2/3)

• Quelques widgets

‣ http://www.extjs.com/examples/#overview

Menu en accordéon

Tableau lié à un formulaire

Page 12: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GXT – Les Widgets (3/3)

• Quelques widgets

‣ http://www.extjs.com/examples/#overview

Boîte de dialogue

Menu en onglets

Menu en arbre

+ menu contextuel

Page 13: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GXT – Un exemple (1/2)

‣ Ajouter le jar gxt dans le le buildpath du projet

‣ Copier les ressources gxt dans notre projet (feuille de style par défaut, boutons, …)

+ ajout de la feuille de style dans “Demo.html”

‣ Suppression des fichiers inutiles

‣ Modification des fichiers web.xml et Demo.gwt.xml

‣ Modification du fichier build.xml

‣ Code de l’application

‣ Lancement du projet

Page 14: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

GXT – Un exemple (2/2)

‣ Traitement d’un événement : click sur un bouton

‣ Ajout d’un template sur une combobox

‣ Modification du css

‣ Compilation – fichier war

‣ Déploiement

Page 15: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

AppCase - Présentation

• Qu’est-ce que AppCase ?

‣ Portail Greenivory

‣ Greendget

‣ AppCase SDK

Page 16: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

AppCase – Premier Greendget

• Reprenons le formulaire pour en faire un greendget

‣ Ajout du package : “gi-pp-sdk-ui-2.0.0.jar” au buildpath

‣ Modification des fichiers suivants :

“Demo.gwt.xml” et “build.xml”

‣ Ajout de la frame permettant de gérer les boutons précédents et suivants du navigateur dans le fichier

Demo.html

‣ Modifications de “Demo.java”, et voilà, nous avons notre premier greendget !

Page 17: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

AppCase – Communication Serveur

• Modification de l’environnement

‣ Création du package http

‣ Greendget ModelWritter

‣ Modification du formulaire :

- passage en ModelForm

- modifications des types des champs

‣ Simulation serveur - Flux Json

Page 18: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

AppCase – Quelques widgets du SDK

• Wizard

‣ Widget permettant de créer rapidement un enchaînement de formulaires

• Master / detail

‣ Liaison entre une liste d’items et un formulaire d’édition

• Shopping

‣ Widget de gestion de panier

Page 19: 20091006 Dev Forum Fr 001Introduction à GWT en utilisant AppCase SDK

Merci

•Jean-Marc Prevost

[email protected]