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 :

xhtml et gwt


Sujet :

GWT et Vaadin Java

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut xhtml et gwt
    Bonjour,

    je debute actuellement sur gwt ( depuis 1 petite semaine), je dois reprendre un projet deja developpe sous gwt et le faire évoluer.
    Ils ont utilisé une flexTable pour placer les elements de la page mais ca genere du code avec des <table> et compagnie et ca j'en veux pas ! c'est plus utilisé depuis une dizaine d'année, est ce que l'on peut utiliser gwt en faisant du code propre avec des fichiers xhtml aux normes (balise div et css pour placer les elements) ?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Par défaut
    Pour éviter les Flextable, j'ai déjà utilisé une combinaison de DockPanel, VerticalPanel et HorizontalPanel mais c'est beaucoup plus facile avec une FlexTable !
    Sinon tu as aussi les Grid mais il génère comme les FlexTable.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    en gros t'es entrain de me dire que l'api gwt de google qui date de meme pas 2 ans genere un code completement obsolete et qui alourdit considerablement les pages et qu'on y peut rien ? surprenant quand meme non ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Par défaut
    En Fait le seul code HTML que tu vois dans GWT est tout simple, après le reste c'est juste du javascript dont tu n'as pas à te soucier donc je comprends pas pourquoi tu dis que le code est pas compatible !
    tu peux donner un exemple ?

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    le code html genere par gwt se base sur la methode des tableaux et c'est ..comment dire...de la mer..

    donc je voulais savoir si y avait pas un moyen de faire un truc + aux normes
    tu as deja regarde le code source de ta page genere ?

  6. #6
    Membre expérimenté

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Par défaut
    Tu peux éventuellement utiliser les Id, mais c'est moins pratique.
    Tu écris ton HTML comme tu veux en déclarant les ID et dans ton code gwt quand tu veux ajouter tes composants tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     RootPanel.get("monId1").add(widget1);
     RootPanel.get("monId2").add(widget2);

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Par défaut
    Citation Envoyé par mikees Voir le message
    donc je voulais savoir si y avait pas un moyen de faire un truc + aux normes
    tu as deja regarde le code source de ta page genere ?
    Si tu regardes le code source affiché sur le navigateur sur cet exemple : http://gwt.google.com/samples/Mail/Mail.html

    On ne prend pas en compte le code généré. C'est la face cahée de GWT dont on ne s'occupe pas !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html>
    	<head>
    		<title>Mail App</title>
    	</head>
    	<body>
    		<script language='javascript' src='com.google.gwt.sample.mail.Mail.nocache.js'></script>
    	<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script><script type="text/javascript">_uacct = "UA-2494387-1";urchinTracker();</script></body>
     
    </html>

  8. #8
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    oui mais justement , essaye de voir le code source genere ( grace a la web developper sous firefox) et tu verras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <html><head><title>Mail App</title>
     
     
    	<link rel="stylesheet" href="http://gwt.google.com/samples/Mail/Mail.css"></head><body style="margin: 0px; overflow: hidden;">
    		<script language="javascript" src="com.google.gwt.sample.mail.Mail.nocache.js"></script><iframe style="border: medium none ; position: absolute; width: 0pt; height: 0pt;" id="com.google.gwt.sample.mail.Mail" src="http://gwt.google.com/samples/Mail/F7EB25ECF6E86F47ADCCBE59DE36C143.cache.html"></iframe><script>com_google_gwt_sample_mail_Mail.onInjectionDone('com.google.gwt.sample.mail.Mail')</script>
    	<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script><script type="text/javascript">_uacct = "UA-2494387-1";urchinTracker();</script>
    	<table style="width: 100%;" cellpadding="0" cellspacing="4">
    		<tbody>
    		<tr><td colspan="2" style="vertical-align: top;" align="left" height="" width="">
    		<table style="width: 100%;" class="mail-TopPanel" cellpadding="0" cellspacing="0">
    			<tbody><tr><td style="vertical-align: top;" align="left"><img class="gwt-Image" src="http://gwt.google.com/samples/Mail/clear.cache.gif" style="background: transparent url(http://gwt.google.com/samples/Mail/B9DA8B0768BAD7283674A8E1D92AD03D.cache.png) no-repeat scroll -116px 0px; width: 140px; height: 75px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" border="0"></td><td style="vertical-align: top;" align="right">
    			<table cellpadding="0" cellspacing="0"><tbody><tr><td style="vertical-align: top;" align="right"><div class="gwt-HTML"><b>Welcome back, foo@example.com</b></div></td></tr><tr><td style="vertical-align: top;" align="right">
    				<table class="mail-TopPanelLinks" cellpadding="0" cellspacing="4"><tbody><tr><td style="vertical-align: top;" align="left"><div class="gwt-HTML"><a href="javascript:;">Sign Out</a></div></td><td style="vertical-align: top;" align="left"><div class="gwt-HTML"><a href="javascript:;">About</a></div></td></tr></tbody>
    				</table></td></tr></tbody>
    			</table></td></tr>
    		</tbody>
    		</table></td></tr><tr><td rowspan="1" style="vertical-align: top;" align="left" height="" width="">
    vraiment decu par google sur ce coup...

    --> ChristopheJ

    c'est ce que je pensais faire mais c'est assez penible effectivement, une autre astuce ? Toutes les personnes qui developpent sous gwt utilisent donc la methode des tableaux qui est "depreciee" ??

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Par défaut
    Citation Envoyé par mikees Voir le message
    Toutes les personnes qui developpent sous gwt utilisent donc la methode des tableaux qui est "depreciee" ??
    Oui moi j'ai utilisé sur 2 projets des FlexTable et aucun problème de compatibilité avec Firefox et IE6 et IE7.

    Sinon essaye de poster sur le forum GWT, tu auras peut être une meilleure réponse : http://groups.google.com/group/Google-Web-Toolkit

  10. #10
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    Citation Envoyé par wynfo.net Voir le message
    Oui moi j'ai utilisé sur 2 projets des FlexTable et aucun problème de compatibilité avec Firefox et IE6 et IE7.

    Sinon essaye de poster sur le forum GWT, tu auras peut être une meilleure réponse : http://groups.google.com/group/Google-Web-Toolkit
    ce n'est pas un probleme de compatibilité que je parle mais le fait de faire du code html qui n'est plus du tout d'actualité, cela fait bientot 10 ans qu'il ne faut plus utilise les tableaux pour faire de la mise en page, ca alourdit considerablement le code donc la performance ( regarde les liens que j'ai mis)

    je vais poster sur le forum gwt de google merci

  11. #11
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Mettre ça sur le dos de Google est un peu abusé. A la base, GWT est censé être compatible avec tous les navigateurs pas trop obsolète, IE6 compris.

    Cette compatibilité est ENCORE nécessaire, et je me doute que google n'avait pas envie de développer un système de div, et un autre de table.
    Quand ils auront du temps, certainement.

  12. #12
    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
    Une petite mise au point s'impose.

    1) Quand on fait des applications GWT, je pense qu'on ne devrait pas se soucier du code généré par les widgets GWT sinon on n'en sort plus !
    GWT, c'est fait pour faire des applis web sans se préoccuper du JS et de l'HTML généré, on laisse ça aux spécialistes.
    Car sinon, bientôt, certains viendront nous dire qu'ils veulent modifier le JavaScript généré !
    Pour ceux qui font leur propres widgets GWT, là, ok, c'est différent et il faut réfléchir et utiliser le code HTML sous jacent le plus adapté.


    2) Cela m'énerve un peu ce combat envers les tables html.
    C'est comme tout, il faut trouver un juste milieu et utiliser les choses à bon escient.
    Parfois, les tableaux HTML sont mal/trop utilisés et parfois non.
    Mettre des liens en référence n'y changera rien ! Il y a ce qu'on devrait faire et ce qu'on fait. Il faut être pragmatique.

    Et Google est pragmatique. Il faut être compatible multi-navigateur et sans les tables HTML, vu le support HTML de certains navigateurs, c'est pas gagné !

    Tout ça, c'est il faut bien le dire de la faute à IE et son interprétation CSS foireuse.
    Cela a été corrigé dans IE6 et pour des raisons de compatibilités, on a deux modes d'interprétation (quirk mode = ancien mode pourri de IE, et standard mode = W3C).
    Le pire dans l'histoire, c'est que comme a l'époque, IE6 était le navigateur prédominant, les autres navigateurs ont dû également implémenter les deux modes ! (pour afficher les sites limité IE et pas optimisé IE comme on peut lire)

    Au passage, on fera remarquer
    • qu'une implémentation de layout par TABLE est probablement plus performante que passer par des DIV redimensionné à coup de fonctions javascript !
    • et que le composant FlexTable a tous son sens si l'on souhaite faire une table HTML via GWT. Que je sache, les tables sont adaptés à l'affichage de données, on reproche la sur-utilisation des TABLE hors de leur contexte (layout par exemple par manque d'homogénéité entre navigateurs), GXT poussant le truc à son paroxysme (une TABLE pour leur bouton !).


    3) Ceci dit, il faut voir un peu plus loin que certains intégristes (je ne désigne personne ici mais il n'en manque pas sur le web).
    Les développeurs de Google sont conscient de ce que tu cites. Quand ils ont sortit GWT, ils ont fait des choix (l'élégance du code HTML n'était pas un critère plus fort que celui de l'interopérabilité entre navigateurs)
    Avec la version 2 de GWT, ils ont repensé le système de Layout pour préférer les DIV/CSS aux TABLES ou DIV/Javascript ! (Cf livre de Sami Jaber )
    Seulement, ceci a une contrepartie : Cela ne fonctionne que sous les navigateurs qui interprètent correctement le mode standard et les CSS !
    Le doctype du fichier HTML du module de GWT a son importance car c'est lui qui détermine le mode de rendu.
    Dans GWT 1, par défaut, l'absence de doctype impliquait le quirck mode.
    Dans GWT 2, par défaut c'est l'inverse, le doctype est un doctype HTML 5 pour utiliser le standard mode.

Discussions similaires

  1. Contribuez à la FAQ HTML/DHTML/XHTML
    Par Community Management dans le forum Contribuez
    Réponses: 14
    Dernier message: 22/02/2008, 01h53
  2. [XSD] Utilisation de groupes de balises xhtml
    Par Kehel dans le forum Valider
    Réponses: 7
    Dernier message: 30/01/2004, 09h55
  3. Schema Perso + Schema XHTML
    Par Kehel dans le forum Valider
    Réponses: 5
    Dernier message: 08/01/2004, 14h21
  4. Template XHTML
    Par Sylvain James dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 16/06/2003, 21h45

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