64 votes

Prototype VS jQuery - Forces et faiblesses ?

Je ne veux pas ouvrir un autre " Encore un autre Js VS Js " fil.

Je suppose qu'en fin de compte, Prototype et jQuery sont tous deux des JS et possèdent presque les mêmes méthodes et fonctions et nécessitent presque les mêmes lignes de code pour des tâches identiques.

Pour un véritable Application Internet riche quels sont les forces réelles et ce que le faiblesses dans Prototype vs. jQuery ?

105voto

Graza Points 3474

J'ai d'abord aimé l'idée d'étendre les éléments de Prototype avec des méthodes nouvelles ou modifiées.

Cependant, j'ai découvert un certain nombre de raisons pour lesquelles c'est un mauvaise chose (TM)

Faites quelques recherches sur Google et vous trouverez probablement d'autres raisons, mais la raison principale est que Prototype ne peut pas être garanti pour "jouer gentiment" avec d'autres cadres ou bibliothèques, car les autres bibliothèques s'attendent à ce que le comportement des éléments et des méthodes soit "standard", et en raison des choses que Prototype fait, vous pouvez trouver un certain nombre de choses qui sont cassées par lui.

L'exemple le plus récent que j'ai découvert est celui de Prototype s'amusant avec JSON et stringify. J'utilisais EasyXDM, et il ne fonctionnait tout simplement pas dans certains cas où la bibliothèque prototype.js était chargée. Comme j'étais en train d'écrire un framework destiné à être utilisé par autres Comme je n'avais pas de contrôle sur le contenu de la page, j'ai dû créer et faire tout dans un IFRAME afin de m'assurer que des éléments tels que prototype.js ne viennent pas perturber ce que j'essayais de faire.

...donc jQuery l'emporte haut la main pour moi, parce que je ne pense pas qu'il soit juste qu'un framework modifie automatiquement le comportement standard du DOM et de javascript. VOUS devriez avoir le contrôle de ces choses, Prototype vous enlève une partie de ce contrôle....

45voto

Nick Craver Points 313913

J'utilise également jQuery plutôt que le prototype, il suffit de regarder en haut de cette page pour comprendre pourquoi :

Questions sur les tags jquery : 531,752
prototype étiqueté question : 2,465
Mis à jour le 22/09/2014, le 14/12/2011 jQuery - 135,641 / prototype - 2,327

jQuery est un code très laconique et concis. Je trouve Prototype beaucoup plus verbeux, bien que souvent équivalent dans de nombreux domaines de fonctionnalité. Cependant, si vous avez besoin d'aide pour démarrer, vous voulez la plus grande communauté. Plus de support, plus de réponses aux mêmes questions que vous vous posez déjà et faciles à trouver sur Google, et plus de plug-ins, le code que vous recherchez probablement pour faire quelque chose... déjà écrit.

Pour les mêmes raisons, plus la communauté est grande, plus il y a de code, plus il y a d'argent. complexe Il est probable que si vous écrivez une application très riche, vous allez rencontrer des questions ou des situations assez compliquées... il existe davantage de ressources pour vous aider à gérer cela.

Encore une fois... pour la même raison de taille de communauté, plus de déficiences dans le cadre ont été trouvées et les lacunes comblées, parce qu'une plus grande communauté l'examinait. Cela signifie que lorsque vous rencontrez un problème, il y a de fortes chances que quelqu'un d'autre l'ait fait aussi, et qu'une méthode ou une option ait été ajoutée pour vous permettre d'avancer, et non de rester bloqué parce que vous avez rencontré quelque chose que le framework ne pouvait pas faire.

19voto

Mark Points 33086

Je suis en train de réécrire de gros blocs d'une application pour passer de Prototype à jQuery. Pourquoi ? Les plugins, les plugins, les plugins, en particulier les widgets d'interface utilisateur. Les éléments d'interface utilisateur de Prototype sont plutôt fragmentés et très fragmentaires, alors que jQuery possède un ensemble très riche d'éléments d'interface utilisateur. "éléments "standard .

13voto

fdreger Points 5910

JQuery a été conçu pour faciliter l'ajout d'effets fantaisistes aux pages. Il a atteint un succès de 100%.

Étant donné que l'ajout d'animations et d'appels ajax occasionnels est ce dont les gens ont généralement besoin et ce qu'ils exigent d'une bibliothèque Javascript, JQuery a une grande communauté. La devise de JQuery est "J'ajoute un peu d'éclat et je m'efface", ce qui est exactement ce dont nous, développeurs, avons souvent besoin.

Néanmoins, Prototype excelle dans la plupart des autres cas d'utilisation. Il dispose d'un cadre stable pour la POO basée sur les classes (résolvant uniformément des problèmes tels que l'héritage des constructeurs), et d'un bon ensemble d'abstractions d'usage général pour traiter les données.

9voto

Mickel Points 3923

J'ai choisi jQuery plutôt que Prototype car :

  • le "faire plus, écrire moins..."
  • la communauté jQuery est plus importante (donc, plus de plugins et de ressources)

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