Programmation:Google app GWT

De MacodaWiki.
Aller à : Navigation, rechercher

Sommaire

Introduction

L'objectif de cette page est de tracer ce que j'ai compris et retenu pour pouvoir le refaire dans x semaines, quand j'aurais tout oublié ;-)

Pré-requis

Information

  • Attention, il faut d"abord télécharger MyLyn (voir cette page). Attention, dans l'URL, il faut remplacer le XY par les valeurs en vigueur. Regardez le contenu de la page.

Ajax via Python

Ce code permet de faire des appels "AJAX" depuis GWT vers un code python tournant sur Google App Engine. Voir http://daily.profeth.de/2008/04/google-app-engine-eclipse-pydev.html pour une explication.

Developpement

Utilisation de CyPal

  • Créer un projet => File->New->Project
  • Choisir Web -> Dynamic Web Project
  • Nom : EssaiCypal
  • Project Content : Use Default
  • Configuration : Cypal Studio for GWT (1.4 or earlier)


  • Générer un exemple Google : File->New->Examples->GWT->Samples.
  • Choisir Hello
  • Lancer le programme
  • Run->Open Run Dialog/Open Debug Dialog
  • Double-click sur "Gwt Hosted Mode Application".
  • Choisir son module
  • Cliquer sur "Run"


Utilisation code GWT sur Google Engine

  • Compiler l'exemple Hello de GWT
Lancer C:\Program Files\Google\GWT15\samples\Hello\Hello-compile.cmd
  • Copier le résultat vers le répertoire Google Engine
Répertoire C:\Program Files\Google\GWT15\samples\Hello\www\
vers
Répertoire C:\Program Files\Google\google_appengine\hello\gwt
  • Modifier le fichier C:\Program Files\Google\google_appengine\hello\app.yaml
application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /
 static_files: gwt/Hello.html
 upload: gwt/Hello.html
 
- url: /(.*)
 static_files: gwt/\1
 upload: gwt/(.*)

# - url: /.*
#  script: helloworld.py
  • Lancer l'exemple c:\python25\python.exe dev_appserver.py hello\
  • Se connecter sur le serveur local http://localhost:8080/
Un bouton "Click me" doit apparaître.

Utilisation de l'exemple pgr (lib python / GWT / Ajax)

  • Télécharger et décompacter pgr-example.zip dans C:\Program Files\Google\google_appengine\pgr-example

A la main

Preparer le code GWT

  • Créer le fichier "PgrExample-compile.cmd" dans le rep pgr-example

Mettre tout sur une seule ligne

@java -Xmx256M -cp "%~dp0\src-gwt;%~dp0\bin;
C:/Program Files/Google/GWT15/gwt-user.jar;
C:/Program Files/Google/GWT15/gwt-dev-windows.jar"
com.google.gwt.dev.GWTCompiler 
-out "src-py\gwt" %* pl.simpatico.pgrexample.PgrExample


  • Créer le fichier "PgrExample-shell.cmd" dans le rep pgr-example

Mettre tout sur une seule ligne

@java -Xmx256M -cp "%~dp0\src-gwt;
%~dp0\bin;C:/Program Files/Google/GWT15/gwt-user.jar;
C:/Program Files/Google/GWT15/gwt-dev-windows.jar"
com.google.gwt.dev.GWTShell
-out "src-py\gwt" %* pl.simpatico.pgrexample.PgrExample/index.html


  • Lancer le programme PgrExample-compile.cmd
  • Puis le programme PgrExample-shell.cmd
Le navigateur intégré de GWT doit se lancer avec trois boutons.
On peut cliquer sur les boutons, mais il y a un message d'erreur.

Utilisation code Google Engine et GWT

  • Modifier le fichier app.yaml
application: kpch
version: 1
runtime: python
api_version: 1

handlers:

- url: /
  static_files: gwt/pl.simpatico.pgrexample.PgrExample/index.html
  upload: index.html

- url: /(.*\.(gif|png|jpg|html|js))
  static_files: gwt/pl.simpatico.pgrexample.PgrExample/\1
  upload: (.*\.(gif|png|jpg|html|js))  

- url: /services
  script: pgr-example.py 
  • Pour lancer le tout :
c:\python25\python.exe dev_appserver.py pgr-example\src-py\

Avec utilisation d'Eclipse

  • Lancer Eclipse et choisir "File => Import => General => Existing Projects into Workspace"
  • Choisir le répertoire de décompression comme "root directory"
Ne pas cocher "Copy files into workspace"
  • Ensuite changer les propriétés du projets
  • Java Build Path -> Libraries
  • Add Variable => GWT_HOME/gwt-servlet.jar
  • Add Variable => GWT_HOME/gwt-user.jar
  • Remove les deux foireux
  • Configuration pour lancement de la partie GWT
  • Sélectionner le projet dans le "project explorer"
  • Run AS => Java Application
  • Cliquez sur la petite feuille en haut à gauche pour créer une nouvelle config
Nommez la configuration "Lancement de la partie GWT"
Main
Nom : pgr-example2 (déjà rempli)
Main Class : com.google.gwt.dev.GWTShell
Arguments
Program Arguments : -out src-py\gwt pl.simpatico.pgrexample.PgrExample/index.html
VM Argument : -Xmx256M
Classpath
Cliquer sur "User Entry"
=> "Add external JAR" - Choisir "C:\Program Files\Google\GWT15\gwt-dev-windows.jar"
=> "Advanced" => Add Folder - Choisir src-gwt dans pgr-example
Classer dans l'ordre : src puis default classpath puis gwt-dev
  • Cliquez sur "Apply" puis sur "Run"


  • Configuration pour la COMPILATION de la partie GWT
Même chose que pour le lancement, sauf :
Main Class : com.google.gwt.dev.GWTShell
qui devient
Main Class : com.google.gwt.dev.GWTCompiler
Program Arguments : -out src-py\gwt pl.simpatico.pgrexample.PgrExample/index.html
qui devient
Program Arguments : -out src-py\gwt pl.simpatico.pgrexample.PgrExample


  • Configuration pour le lancement de la partie Google Engine
  • Sélectionner le projet dans le "project explorer"
  • Run AS => Open Run Dialog
  • Choisir "Python Run"
  • Cliquez sur la petite feuille en haut à gauche pour créer une nouvelle config
Main
Project : pgr-example2 (le choisir avec Browse)
Main module : C:\Program Files\Google\google_appengine\dev_appserver.py
Arguments
Program Arguments : "C:\Program Files\Google\google_appengine\pgr-example\src-py/" (avec les guillemets)
  • Cliquez sur "Apply" puis sur "Run"



En cours

A VOIR

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils