[javascript] Pourquoi devrais-je utiliser jQuery au lieu de GWT?


Answers

Je suggère d'utiliser GWT pour les équipes avec des personnes qui ne comprennent pas JavaScript mais qui sont (peut-être) plus à l'aise avec Java. Avec GWT, vous êtes susceptible de vous épargner des jours, voire des semaines, dans les tests de compatibilité, et vous éviterez beaucoup de pièges JavaScript courants que les nouveaux utilisateurs de la langue peuvent rencontrer. GWT propose également d'excellentes fonctionnalités de packaging pour les sprites CSS , les données intégrées et bien more .

Cependant, si vous connaissez et comprenez JavaScript, j'utiliserais JavaScript , quelle que soit la bibliothèque de votre choix. Bien que je n'ai pas eu la chance d'inspecter le code généré de GWT de trop près, j'ai vu quelques exemples sur Google I / O, et bien qu'il ait l'air de tout bonbons et étincelles, vous créez probablement du code JavaScript plus élégant. façon.

Question

Je dois choisir entre jQuery et GWT pour mon nouveau projet.

Je n'ai pas programmé en JavaScript depuis un moment, et je regardais GWT ces derniers jours. Il semble assez génial, générant tous les différents JS pour différents navigateurs et tous, cependant:

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

J'ai utilisé jQuery pour la plupart de mes projets et c'est plutôt bien.

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




Tout d'abord comparer GWT avec jQuery n'a pas beaucoup de sens. Alors que jQuery a été conçu pour faciliter le travail croisé avec le DOM, GWT est conçu pour créer de grandes applications Web.

Donc, si vous avez un tas de côtés statiques avec des widgets indépendants, comme le calendrier, le curseur et ainsi de suite, jQuery est suffisant. Si vous voulez construire une application d'une seule page, peut-être avec une grande équipe, GWT est le meilleur moyen. GWT a beaucoup d'architecture de conception sous le capot, en particulier le modèle MVP, le système de template UI-Binder, le support i18n, etc.

Donc, en tant que développeur JavaScript travaillant plus d'un an sur une grande application GWT, je recommande de ne jamais créer une seule application de page uniquement avec jquery car elle n'a pas été construite. Si vous voulez utiliser JavaScript, jetez un coup d'œil à la colonne vertébrale, à la colonne vertébrale, au knock-out ou au dojo.

Btw, aussi bien que l'architecture GWT est construite, vous aurez beaucoup de frais généraux JAVA. Donc, si vous projetez est en croissance, le temps de compiler vos propriétés css et i18n viendra ennuyeux.




La réponse n'est pas facile. La réponse est "ça dépend":

GWT:

  • si vous connaissez et aimez Java
  • Si votre code serveur est également écrit en Java, écrire du code client en Java permet d'utiliser le même code sur le client et le serveur
  • si vous aimez les choses fournies par des langages fortement typés: vérification de type à la compilation, refactoring automatisé, génération automatique de code (Ctrl + 1 dans Eclipse), complétion de code (Ctrl + Espace)
  • si vous aimez la programmation orientée composants (ex: MenuBar crée un menu)
  • si la complexité de GWT (par rapport à jQuery) n'est pas un problème pour vous
  • si le gros code généré n'est pas un problème pour vous

jQuery:

  • si vous connaissez et aimez JavaScript
  • vous n'avez pas besoin d'utiliser le même code sur le client et le serveur (par exemple client - JS, serveur - Java ou PHP)
  • si vous n'avez pas besoin de vérification de type à la compilation, de refactoring automatisé, etc.
  • si vous n'avez pas besoin de programmation orientée composants (pour créer un composant complexe dans jQuery, vous devez créer une série de divs, et appeler $ ("the divs"). makeXXXXControl ())
  • si vous aimez la simplicité (jQuery est plus simple que GWT)
  • si vous avez besoin d'un code très petit (par exemple pour accélérer le chargement du site)

Personnellement, je recommanderais GWT pour la plupart des projets, mais jQuery a aussi des avantages et certaines personnes peuvent préférer jQuery.







Le groupe d'utilisateurs actifs et la récente popularité croissante indiquent clairement que jQuery est le gagnant.




Je pense que GWT est trop abstrait. Javascript est en fait un langage puissant. Vous pouvez écrire du code orienté objet et utiliser des espaces de noms. Avec une bibliothèque comme jQuery, vous n'aurez pas à vous inquiéter des problèmes de compatibilité du navigateur pour la plupart de vos activités. Avec tous les grands outils de développement de navigateur disponibles (comme Firebug) dans tous les principaux navigateurs, il est maintenant très facile de travailler avec javascript. Quand une erreur javascript se produit, je peux facilement identifier où cela s'est passé dans mon code. Je peux regarder les variables et savoir tout ce qui se passe en détail parce que je travaille contre le code que j'ai écrit (contrairement à GWT).




GWT est un compilateur (Java to JavaScript) et jQuery est un framework. Vous n'avez pas à choisir l'un sur l'autre. Vous pouvez utiliser l'un d'entre eux, les deux ou aucun.

Par exemple, vous pouvez coder en Java si vous voulez ou avez du code source existant et ensuite utiliser jQuery pour d'autres choses. Il y a des wrappers disponibles, mais GWT peut appeler JavaScript (et vice versa) voir http://svenbuschbeck.net/wordpress/2012/06/how-to-use-jquery-in-gwt/




Links