Article complet: Google App Engine - 4 - Critiques du plugin

16/05/2009

[Eclipse][Java][Web] Google App Engine - 4 - Critiques du plugin

Désarmons tout de suite les fanboys de google, je n'utilise pas le mot critique dans son sens de reproche. Je veux seulement faire état de ce que j'ai apprécié ou non dans ce plugin.

N'hésitez pas à exprimer votre opinion dans les commentaires, surtout si vous êtes en désaccord ;o)
S'il est vrai que parfois, certaines choses sont fait "à la va vite" et pourraient être améliorées, d'autre fois, les choix du développeur ne se comprennent qu'après coup lorsqu'on découvre une contrainte insoupçonnée.

Commençons par un petit tour et voyons ce qu'il apporte à eclipse ...

[Suite:]

La première chose visible, ce sont les 3 nouvelles icones placées dans la barre de menu :

Figure 1

  • La première vous permet de créer un projet d'application web (GWT et/ou GAE)
  • La deuxième de compiler un projet GWT
  • La troisième de déployer un projet GAE

Remarquons que le plugin sert à la fois pour GWT et GAE, qu'ils soient utilisés conjointement ou non. Si cela peut déstatibiliser ceux qui n'utilise que GWT ou que GAE, cela reste cohérent car ces deux technos sont complémentaires. De plus, Google permet ainsi d'améliorer la visibilité de ses offres. Des développeurs GWT ont peut être découvert GAE à cette occasion et inversement.

Avant de se pencher plus en avant sur chacune d'elles, regardons du côté des paramètres généraux

1) Préférences (Window / Préférences / Google)

Il y a juste :

  • Une case à cocher indiquant si vous voulez être informé des mises à jours
  • Le paramétrage du chemin du kit de développement (SDK) du App Engine
  • Le paramétrage du chemin du kit de développement (SDK) du Web Toolkit

2) Créer un projet d'application web Google

Créer un Projet

Les données classiques et deux liens pointant sur le paramétrage des chemins des SDKs évoqués en 1)

Remarquons que vous ne pouvez pas utiliser de '-' dans le nom de projet. Cela peut paraître un détail mais je ne comprend pas pourquoi c'est interdit ???
J'ai déjà créé des projets GWT/GAE en dehors du plugin avec des - et cela ne pose pas de problème.
Et si on peut "feinter" après coup en renommant le projet eclipse, vous ne pouvez plus utiliser le plugin pour déployer et ça c'est pas terrible !

Remarquons également que le projet créé n'est pas un projet web dynamique au sens eclipse et je trouve ça un peu embêtant !
Dès lors, la perspective Java EE n'a aucune valeur ajoutée pour un projet Google !
Et même si je ne l'utilise pas (car je n'aime pas sa présentation dépliée des packages même lorsqu'on a choisi l'option hierarchique), cela a un autre défaut selon moi.
Le gros avantage d'un projet web dynamique au sens eclipse, c'est d'avoir simplement à déposer une librairie dans le dossier WEB-INF/lib pour qu'elle soit automatiquement dans le classpath. Rien de tel avec la webapp google, il faut à la fois la mettre dans le dossier WEB-INF/lib et l'ajouter au classpath. Je pourrai essayé d'ajouter une nature web à mon projet google et ajouter le conteneur web dans mon classpath mais après l'échec de ma feinte précédente, je suis refroidi.

Ceci dit, ce choix est peut être compréhensible si on considère que google a peut être voulu que son plugin fonctionne sur un simple eclipse Java.
Et puis non, je pense qu'ils pouvaient faire autrement. Eclipse Java ou Java EE restent au fond des eclipses (il suffisait de rajouter les fonctionnalités manquantes) et un classpath (où les entrées sont définies explicitement) pouvait sûrement être généré.
Un point à améliorer.

3) Compiler un projet GWT

Compiler un projet GWT

Enfin quelque chose qui manquait à GWT. Là, c'est plus convivial et on peut changer la sortie de compilation facilement suivant que l'on debug (PRETTY) ou que l'on déploie (OBFUSCATED).
La seule petite critique que je ferai, c'est qu'on ne peut pas appeler l'entry point d'un module d'un autre projet (projet lié par eclipse au projet courant bien entendu) ou ajouter des arguments supplémentaires à la JVM (comme -Xss16M) car ceux que l'on voit, ce sont les paramètres du compilateur GWT.
Du coup, je ne l'utilise pas et je passe par un script Ant.

4) Déployer un projet GAE

Déployer un projet GAE
App Engine Parameters

Là encore, c'est rudimentaire mais pratique.
La deuxième fenêtre, c'est celle qui s'affiche quand vous cliquez sur le lien App Engine project settings... de la première.
Vous pouvez alors saisir l'identifiant de votre application GAE et son numéro de version.

La seule petite critique que je ferai, c'est qu'on est obligé de saisir son password à chaque fois.
Pour cette raison, je passe par un script Ant mais comme leur tâche Ant a également un défaut, je mixe les deux :

  • Parce que leur wizard met en cache les identifiants, j'utilise la tâche ant pour faire mes déploiement car je n'ai alors plus rien à saisir
  • Parce que leur tâche Ant ne prends pas en paramètres les identifiants, j'utilise le wizard pour les saisir à chaque fois qu'ils ont expirés du cache

Il est dommage que le plugin n'offre pas une option pour enregistrer nos identifiants GAE, et c'est d'autant plus incompréhensible qu'il les met bien quelque part dans un cache (où ?).
Il est également dommage que la tâche Ant ne les prends pas en paramètres (Pourquoi ce choix ?)

Je reconnais que c'est du détail car on n'est pas sensé déployer plusieurs fois d'affiler ...
... sauf quand votre application fonctionne bien en local et pas en déploiement mais c'est une autre histoire.

Social Bookmarking:

                                     

Commentaires, Pingbacks:

Connectez-vous pour vous abonner à cet article:

Flux de commentaires pour cet article : Atom 1.0  RSS 2.0
Commentaire de: zeth696 [Membre]
on pourrait dire que je suis un fanboy google.
tes remarques sont tout à fait justifié, j'espère que dans une future mise à jour du plugin ces problèmes n'existeront plus.

merci d'avoir partagé ton expérience
Permalien 16/05/2009 @ 17:21
Commentaire de: benwit [Membre]
Oui, j'espère aussi.
Ce que j'aime dans google, c'est leur moteur à innover ...
Vivement que google rachète oracle qui a racheté sun ! lol
Permalien 16/05/2009 @ 20:28
Commentaire de: lunatix [Membre]
interessant cette serie de blogs. (enfin du vrai blog sur dvp :D )
faut que je teste le Gae avec Grails : depuis la version 1.1.1, il est compatible avec.

Permalien 17/05/2009 @ 10:44
Commentaire de: benwit [Membre]
Merci pour vos commentaires. Cela motive à continuer ...
Permalien 17/05/2009 @ 14:22

Vous devez être identifié pour poster un commentaire.

Liste des blogs

public Blog<Benwit> monblog;

Sur ce blog, je vais vous parler de ma veille technologique, de mon expérience, de mes coups de cœur et de mes coups de gueule.

Catégories


Rechercher

<  Février 2012  >
Lun Mar Mer Jeu Ven Sam Dim
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29        

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web