IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

Intégration GWT avec Framework


Sujet :

GWT et Vaadin Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Par défaut Intégration GWT avec Framework
    Bonjour,

    Je fais une étude de faisabilité GWT et j'ai bien du mal à trouver mes réponses.

    Je souhaite simplement savoir SI et COMMENT intègrer des composants GWT à mon framework déjà existant ... C'est un framework "maison" qui utilise des briques bien connues (hibernate entre autres ...)

    Comme tout frameworks, j'ai une gestion de composants (crées de toutes pièces) et de classes faisant le rendu des composants dans ma page web lorsqu'elle se construit.

    Est-il possible d'utiliser GWT pour uniquement le RENDU des composants ?

    Exemple :
    - J'ai une gestion de "selectbox" que j'ai implémenté, et dessiné (rendu) ...
    - Est-il possible de remplacer mon rendu par celui de GWT (complet) ?
    - Si oui la seule chose qui restera sera le traitement des diverses "actions" comme validation, récupération de valeurs, etc ...

    J'espère que ma question est claire, je vous remercie d'avance pour vos lumières !

    PS : Je ne souhaite pas changer de framework pour utiliser GWT, Gilead, Vaadin, etc ... Juste profiter des composants GWT ...

  2. #2
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    La plupart des framework classiques sont "server side", soit par action (struts, ...) soit par composants (jsf, wicket, ...)

    GWT lui est "client side".


    Dans le cadre des composants construit serveur, c'est une représentation textuelle qui est envoyé au client (html, css, javascript) et affiché par le navigateur.

    Dans le cadre des composants gwt, les composants sont construit directement par le navigateur via javascript, css, ...


    Ceci dit, au final, on a la même chose, de l'html/css modifié par le DOM et Javascript.
    Il est donc possible de faire une architecture server centric avec GWT et d'avoir des composants qui peuvent être rendus en GWT.
    Par exemple, dans mon framework maison, je crée mes composants de vues via des interfaces et des fabriques. Par exemple, pour l'interface Button, j'ai une SwingFactory qui me fabrique un SwingButton et une GWTFactory qui me fabrique un GWTButton.
    L'inconvénient de cette approche, c'est que le client GWT devenant un "méta viewer", il doit embarquer le code pour créer tous les composants. L'avantage, c'est qu'ensuite, la taille du code javascript ne dépend plus du nombre ou de la compléxité des vues.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Par défaut
    Merci de la réponse ...

    J'ai bien compris cela, et donc en théorie, je devrais pouvoir faire ce qui suit dans mon framework maison :
    - Intègrer la lib GWT à mon framework
    - Créer une classe java bouton surchargeant GWTButton
    - Dessiner mon bouton grâce à GWT dans mon renderer (en faisant un GWT.draw() par exemple pour récupèrer le code JS de mon bouton)
    - Récupèrer les actions du bouton fournies par GWT, et les catcher/processer dans mon framework perso.

    Je suis à coté de la plaque ou non ?

    Je pense que c'est faisable, mais le soucis est que je ne trouve as comment !

    ------------

    Exemple, j'ai récement intègrer OpenFlashChart 2 à mon Framework ...
    J'ai intègré la lib javascript dans mon framework, j'ai créé des composants avec les ropriétés que je voulais gèrer, et ensuite j'ai fait un renderer qui envoie dans mon code HTML de rendu un appel au JS avec l'objet JSON qu'il faut. J'ai aussi gèré les clicks grâce au remplissage du JSON avec mes valeurs d'action listener.
    Résultat : NICKEL !!!

    C'est pour cela que je me dit que GWT étant client side, ca devrait le faire pareil !

    Merci encore d'avance...

  4. #4
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Il y a quand même une petite nuance avec GWT.


    Premièrement,
    A moins de bidouiller avec le framework, tu ne peux pas simplement récupérer le code javascript qui correspond à GWTButton par exemple. Et même si tu y arrivais, ça reviendrai à réécrire GWT
    GWT n'envoi au client que le code Javascript nécessaire après sa phase de compilation.

    Deuxièmement, parce que le GWTButton (par ex.) n'est qu'une façon d'écrire en Java du code javascript, tu ne peux pas faire un rendu côté serveur car les composants GWT manipulent directement le DOM (qui est disponible uniquement côté client)

    Ce que j'ai fait : des composants Java qui adaptent les composants GWT (pattern Adapter) avec attribut "transient" pour le transfert RPC par GWT.

    Une fois arrivé sur le client, je les construit et le tout est joué.
    Pour l'interaction, mes objets GWT captent les évènements et les envoient au serveur via des commandes (pattern Command)

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Par défaut
    D'accord, merci pour les précisions ...

    Donc pour arriver à mes fins, ma seule solution est donc d'utiliser les "pattern" pour finalement dériver le fonctionnement.

    Je vais essayer de trouver des exemples ...

    Subsidiaire : N'existe t'il pas une version de GWT qui serait juste une lib client qui correspondrait à mes besoins ?

    Merci encore ... Je suis assez embêté car je pensais que GWT pouvais simplement s'intègrer dans mon framework ...

  6. #6
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Salut,

    Tu devrais regarder du côté des sources de Vaadin, j'ai bien compris que tu ne veux pas l'utiliser mais leur code pourrait t'inspirer.
    Dans les précédentes versions (ça s'appelait IT Mill Toolkit), il n'utilisait pas GWT.

Discussions similaires

  1. [DHX] DHTMLX-Gii : une intégration Gii avec le framework PHP Yii
    Par vermine dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 11/05/2015, 12h42
  2. Intégration de GWT avec Hibernate
    Par developpCathy dans le forum GWT et Vaadin
    Réponses: 8
    Dernier message: 05/10/2011, 22h15
  3. Les objets COM avec Framework 2.0
    Par SOPRA-Eherve dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 06/03/2007, 22h22
  4. Connexion TelNet avec FrameWork
    Par BenGlut dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 21/02/2006, 15h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo