web-dev-qa-db-fra.com

prototype.js ou jQuery pour les nouveaux projets?

Devrais-je utiliser prototype.js ou jQuery pour un nouveau projet? Rails est livré avec prototype.js mais jQuery semble être la bibliothèque de choix pour le reste du monde. Prototype.js est-il toujours en développement actif? Cela semble un peu poussiéreux ...

7
Aaron

C'est surtout une question de préférence. Certaines personnes n'aiment pas la manière dont Prototype étend les objets, mais pour une utilisation de base, elles sont assez équivalentes.

Le prototype est toujours en cours de développement - ils ont publié une version candidate pour la prochaine version il y a quelques mois à peine.

6
Matthew Shanley

Rien contre le prototype mais il n’a pas le nombre de plug-ins ou presque la taille d’une communauté comme jQuery.

Pour jQuery, il existe déjà un plug-in pour presque tout, je rédige donc beaucoup moins de js.

8
corymathews

Les raisons pour lesquelles jQuery est utilisé par rapport à une autre bibliothèque:

Rapide et léger
jQuery continue d’augmenter les performances de sa bibliothèque, même dans les versions de niveau de révision mineure. Lors de la publication de la version 1.4.2, la vitesse de la bibliothèque a été considérablement accrue, même à partir de la version 1.4.1, comme le montre un billet de blog Ajaxian concernant sa publication. L’évaluation de la performance de 1,4 par rapport à 1,3 a été effectuée par l’équipe de jQuery dans annonce de la version de 1,4 , montrant que la version 1.4 avait été fortement optimisée dans les domaines suivants: son utilisation la plus fréquente et cette performance a également augmenté dans tous les domaines.

Populaire
jQuery est desservi par 48 des 2 000 premiers sites Web du répertoire Alexa, par rapport aux sites de Prototype 6, MooTools 3 et Dojo 1.

Construit avec Javascript Distrobution indiquent que jQuery est utilisé par plus de 40% des sites indexés. Construit avec Statistiques d'utilisation de jQuery affiche 32% des 10 000 premiers sites , 23% des 100 000 premiers , et 15% des 1 000 000 premiers sites de leur index utilisant jQuery. Compare this to Prototype = 5%, 4% et 2% respectivement dans ces catégories. Notez également que même si les utilisations de jQuery sont toutes à la hausse, celles de Prototype sont toutes à la baisse.

Développé activement (et intelligemment)
En mars, jQuery a publié sur son blog Microsoft étendra sa collaboration avec la communauté jQuery . De la poste:

Le projet jQuery est heureux d'annoncer que Microsoft étend sa prise en charge de la bibliothèque JavaScript jQuery par le biais de nouvelles initiatives, pour inclure des contributions de code, l'intégration de produits et l'allocation de ressources supplémentaires.

...

Microsoft fournira également une version actuelle de la bibliothèque JavaScript jQuery dans Visual Studio 2010 et ASP.NET MVC, tout en continuant à héberger les versions actuelles de la bibliothèque sur le CDN de Microsoft.

Microsoft est maintenant inclus dans la communauté des contributeurs actifs à la base de code jQuery. Microsoft a des développeurs très intelligents . Microsoft contribue également financièrement à jQuery. Microsoft a beaucoup d'argent. Ils offrent également une exposition instantanée à jQuery à tout développeur utilisant Visual Studio. Microsoft travaille également sur ASP.NET plus spécifiquement améliore l’intégration de jQuery :

Découvrez également comment ASP.NET AJAX a été conçu pour fonctionner de manière transparente avec jQuery, comment créer des contrôles ASP.NET AJAX directement à partir de jQuery et comment utiliser la bibliothèque jQuery dans ASP. NET AJAX code.

Vous trouverez plus d'informations sur l'utilisation de jQuery par Microsoft dans l'article de blog ASP.NET de Scott Guthrie jQuery et Microsoft .

le code source de jQuery est hébergé publiquement sur GitHub. C'est un avantage pour moi personnellement, car je préfère Git à d'autres systèmes SCM.

le moteur de sélection de jQuery Sizzle est excellent. Et c'est génial parce que jQuery ne travaille pas seul. Dans un billet de blog annonçant la sortie de la v1. au début de l’année dernière, ils ont essentiellement déclaré: "Nous savons que nous ne sommes pas plus intelligents que tout le monde et que nous sommes plus intéressés par la promotion de la communauté en travaillant avec smart. les gens que de dire que nous sommes meilleurs qu’ils ne le sont ".

Une chose est devenue très évidente lors du développement du nouveau moteur: nous voulions pouvoir collaborer avec d’autres bibliothèques et développeurs. Nous avons vu une opportunité de collaboration solide avec certains des meilleurs développeurs JavaScript - ce qui aidera les utilisateurs de toutes les bibliothèques. Pour cette raison, nous nous sommes assurés que Sizzle était capable de fonctionner de manière totalement autonome (sans dépendance).

De plus, en signe de bonne foi et de volonté de collaborer, nous avons communiqué le code source à Sizzle, à la Fondation Dojo. Nous voulions un lieu de rencontre commun où tout le monde serait capable de travailler ensemble et sous lequel il y aurait un détenteur de copyright clair à long terme.

Nous travaillons actuellement avec Prototype, Dojo, l’interface utilisateur Yahoo, MochiKit et TinyMCE (et bien d’autres) sur Sizzle, en le peaufinant à la perfection.

Assistance mobile
Dans le podcast YayQuery, Episode 18 (mp3) , John Resign décrit les plans du support mobile de jQuery. La philosophie est que la bibliothèque jQuery principale doit être compatible avec les périphériques mobiles, au lieu d'écrire une version mobile dédiée. L'un des nombreux avantages de cette solution réside dans le fait que, si votre bibliothèque principale est utilisée sur des sites Web généraux ou mobiles, elle risque davantage d'être mise en cache, et les sites Web spécifiques aux mobiles peuvent utiliser la même version en cache que les sites Web non mobiles. John explique également quels téléphones et systèmes d'exploitation sont prévus pour le support.

jQuery peut être utilisé avec PhoneGap pour créer des applications natives utilisant les technologies Web pour les appareils mobiles. Il possède également un plugin nommé JQTouch pour la création d'applications Web de type natif pour l'iPhone et d'autres navigateurs mobiles. Cela signifie que tous les raccourcis que vous avez avec jQuery sont traduits vers d'autres plates-formes, ce qui réduit la courbe d'apprentissage.

Actif dans la communauté de développement
John Resig est un actif locuteur . Il inclut non seulement les principales conférences et événements, mais aussi est appar sur des podcasts tels que YayQuery . Il a également écrit deux livres: Javascript Ninja et Pro Javascript, les deux sur des compétences en Javascript pur ne sont pas dédiées à jQuery.

3
Bryson

Utilisez celui qui correspond le mieux à vos spécifications. jQuery est une excellente bibliothèque en cours de développement actif, suivie par une grande (et une grande) communauté. C'est ma bibliothèque personnelle de choix, mais ne vous laissez pas dissuader d'utiliser Prototype s'il s'agit du bon outil pour le poste.

2
Jason

C'est vraiment une question de préférence. J'ai tendance à jQuery, personnellement. Il est bien documenté, contient beaucoup de bons plugins et me facilite grandement la vie. J'ai entendu certaines plaintes de la part des responsables de Prototype concernant sa taille et ses performances (désolé, je ne me souviens pas de leur problème spécifique), mais ces deux aspects sont de mieux en mieux.

Je voudrais essayer les deux et voir lequel est un meilleur ajustement pour vous.

2
tghw

Cela dépend vraiment de ce que vous préférez. Cependant, jQuery semble avoir un plus grand nombre de suiveurs, donc les ressources pour cela pourraient être faciles à trouver.

Je pense que vous pouvez héberger à la fois les serveurs de Google et jQuery à partir des serveurs de MS, ce qui peut entrer en ligne de compte.

1
Macha

Je crois que jQuery hébergé via Google CDN ouvre les deux.

0
Maslow

C'est une question de préférence évidemment. J'ai trouvé que jQuery est un peu, mais plus difficile à comprendre pour les débutants, car l'enchaînement n'est pas vraiment intuitif, en particulier lorsque des conditions de concurrence asynchrones se produisent. Cependant, jquery a certainement plus de plugins, mais cela peut aussi être un désavantage quand trop de plugins sont chargés automatiquement.

0
txwikinger

En apparence, cela dépend de vos préférences. Envisagez de consulter les bibliothèques, les plug-ins et les exemples d'éléments que vous souhaitez utiliser avec jQuery ou Prototype. Par exemple, avec un nouveau projet Rails, tout AJAX est exécuté à l'aide de prototype par défaut. Aussi, si vous voulez utiliser jQuery UI ou jQTouch (mobile), je vous recommanderais jQuery.

0
Steve Tranby