75 votes

Pourquoi devrais-je utiliser jQuery au lieu de GWT ?

Je dois décider entre jQuery et GWT pour mon nouveau projet.

Je n'ai pas programmé en JavaScript depuis un moment, et j'ai été à la recherche dans GWT pour les derniers jours. Il a l'air assez génial, la production de toutes les différentes JS pour les différents navigateurs et tous, cependant:

  • développement en Java prend plus de temps que la même chose à l'aide de jQuery (au moins pour ce projet)
  • la documentation est pauvre (par exemple, comment dois-je savoir à quels éléments devrais-je utiliser lors de la conception de la page? - il n'y a pas assez de documentation pour cet)

J'ai été en utilisant jQuery pour la plupart de mes projets et c'est très bon.

Je veux convaincre le client que jQuery est mieux adapté pour ce projet et j'ai besoin de plus d'arguments à l'appui.

63voto

chris Points 2186

Je voudrais aller avec JQuery.

Une fois, j'ai maintenu un projet GWT qui finalement m'a forcé à le ré-écrire deux fois. D'abord comme une refonte de GWT application, deuxième en JQuery.

Je n'ai pas touché Javascript sérieusement pour un temps très long. La dernière fois, c'était à propos de 2002. Je suis un développeur Java donc ma première impression de GWT était génial. Mais c'était juste une impression.

Les problèmes que j'ai trouvé avec GWT:

  1. Il vous oblige à suivre son client/serveur de la structure. Au final, tout ce que je veux c'est de l'AJAX et de ces bons widgets. GWT est les widgets en lui-même ne semble pas que la recherche de bonnes. Esthétiquement, je préfère Adobe Flex! Mais pour garder la comparaison la plus proche, JQuery UI, c'est mieux que GWT. En outre, vous avez ce merveilleux Thème du Rouleau de support de JQuery.

  2. J'ai essayé de FINITION. C'est génial. Il est beaucoup plus facile à activer AJAX dans votre code Java à l'aide DWR que GWT.

  3. Si vous êtes en utilisant GWT, vous finirez par être obligés d'apprendre le JavaScript. Arjen de SpringSource a dit une fois à propos de XML et SOAP (mais pas la citation exacte): "Comment pouvez-vous développer des Services web et de ne pas savoir XML? Le SAVON est le XML. Vous ne pouvez pas l'éviter". Même chose avec GWT. C'est encore le Javascript à la fin.

  4. De façon réaliste, Javascript n'est pas difficile à apprendre vs Java. Plus de gens connaissent Javascript que Java. Même les concepteurs web le savent. Vous êtes un programmeur, et vous avez peur de Javascript?

  5. Retour au projet je l'ai réécrit. Quand j'ai réécrit notre application GWT il m'a fallu presque deux mois pour le réécrire. Avec JQuery, il m'a fallu deux semaines, et je suis rouillé avec JavaScript.

  6. Avec JQuery, vous n'avez pas vraiment écrire hardcorde JavaScript. C'est pourquoi vous utilisez JQuery, en premier lieu. Mise à jour du code avec GWT est horrible. Vous voulez voir les dernières modifications que vous avez faites dans le code... allez compiler... attendre pour GWT... 5 minutes... rincer... et de répétition et d'espoir, il ne renvoie pas d'erreur. Si c'est le cas, vous serez en recompilant de nouveau, et en attente pour un autre 5 minutes. Rincer et répéter. Avec JQuery modifier une ligne, d'actualisation de votre navigateur. Fait.

Je sais que je suis pas objectif, mais je suis juste partage de mon expérience :) La morale est de ne pas avoir peur de Javascript. Google utilise Javascript de toute façon

56voto

Justin Johnson Points 16243

Je vous recommande d'utiliser GWT pour les équipes avec des gens qui ne comprennent pas le JavaScript, mais sont (peut-être) plus à l'aise avec Java. Avec GWT, vous êtes susceptible de vous sauver vous-même des jours, voir des semaines dans les tests de compatibilité, et permet d'éviter beaucoup de communes de JavaScript pièges que de nouvelles personnes à la langue smash. GWT a également un grand emballage pour les sprites CSS, de données incorporée, et plus.

Toutefois, si vous de connaître et de comprendre le JavaScript, je voudrais utiliser JavaScript, quel que soit votre bibliothèque de choix peut-être. Bien que je n'ai pas eu la chance d'inspecter GWT du code généré de trop près, j'ai vu quelques exemples au Google I/O, et elle a regardé tous les bonbons et les étincelles, vous êtes susceptible de créer plus élégant du code JavaScript de le faire de la même ol' de façon traditionnelle.

15voto

Andreas Köberle Points 16453

Tout d'abord la comparaison de GWT avec jQuery n'a pas beaucoup de sens. Alors que jQuery a été créé pour faire de la croix-navigateur de travail avec le DOM beaucoup plus facile, GWT est de bâtir de créer de grandes applications web.

Donc, si vous avez un tas de statique côtés avec des widgets, comme le calendrier, curseur et ainsi de suite, jQuery est assez. Si vous voulez construire single page app, avec peut-être une grande équipe, GWT est la meilleure façon de faire. GWT a beaucoup de bien de la conception de l'architecture sous le capot, en particulier la construction dans le modèle MVP, UI-Classeur système de template, support i18n etc.

Donc, en tant que développeur JavaScript de travail de plus d'un an, sur une grande application GWT, je vous recommande de ne jamais construire une single page app seulement avec jquery cause, il n'était pas construit pour. Si vous voulez utiliser JavaScript prendre un coup d'oeil à la colonne vertébrale, colonne vertébrale, knock-out ou dojo.

Btw, aussi bon le GWT de l'architecture, vous aurez beaucoup de JAVA généraux. Donc, si votre projet est en croissance, le temps de compiler votre code css et i18n propriétés viendra ennuyeux.

10voto

Russ Cam Points 58168

"Les chevaux pour les Cours"

Choisissez celui qui fait le plus de sens pour le projet. Certaines choses à considérer

  • Respecter des délais très serrés et plus familier avec l'un sur l'autre
  • La vitesse et la facilité de maintenance pour les autres développeurs à utiliser l'outil choisi. La prévalence de l'un sur l'autre peut avoir des répercussions ici aussi
  • Toute code qui peut être utilisé déjà dans le projet, par exemple des plugins, des utilitaires, des fonctions, etc.

Sans connaître les détails au sujet de ce que le projet est sur, quel est votre expérience et comment ouvrir le client est à l'aide de différentes technologies/cadres, il n'y aura pas de réponse décisive ici.

Faire la liste des arguments convaincants pour l'un sur l'autre, que j'ai commencé ici et de discuter avec d'autres personnes impliquées sur le projet de venir à une conclusion.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X