Il y a ces deux projets similaires:
Zepto est une bibliothèque JavaScript minimaliste pour les navigateurs modernes avec une API largement compatible avec jQuery.
jQuery 2.0 beta: Voici votre goût du futur, un jQuery qui peut être plus rapide et plus petit sans qu'il soit nécessaire de prendre en charge IE 6, 7 ou 8. C'est un excellent choix pour une plate-forme spécifique. Applications HTML.
S'agit-il uniquement de performances ou suivent-ils des approches différentes?
La principale différence entre Zepto.js et jQuery réside dans la taille de leurs fichiers respectifs, soit environ 20 Ko (minified, pas gzipped) de Zepto.js au lieu de ~ 80 kb pour jQuery, et environ 10 kb (minified, Gzipped) au lieu de jQuery. De plus, le support de Zepto pour les navigateurs tels que IE<10
est soit manquant, soit non garanti, ses plates-formes cibles sont:
jquery 2 est ~ 30kb et zepto est ~ 10kb lorsque les deux sont compressés et minifiés. Non compressé mais minifié, jquery 2 fait environ 80 Ko et zepto fait environ 30 Ko.
Utilisez un programme d'analyse pour vérifier l'audience de votre site. Si un nombre important de vos utilisateurs utilise IE9, vous avez besoin de jquery et zepto ne volera pas. Si plus de quelques pour cent utilisent IE8 ou une version antérieure et que vous ne pouvez pas les laisser bloqués sans votre site, vous devrez utiliser jQuery 1. Si vous visez ce dernier, je suis désolé - beaucoup de nouveaux jouets brillants ne fonctionnera pas pour vous.
Si vous construisez une application html5 pour Android/ios/phonegap, etc., vous ciblez principalement webkit, zepto vous permet donc d’économiser de grandes tailles. La principale idée et raison d'être de zepto est que, lorsqu'elles sont exécutées sur des plates-formes Webkit, de nombreuses solutions de contournement multiplateformes de jquery sont tout simplement inutiles.
Zepto ajoute également quelques gestionnaires d’événements tactiles pour l’aide au développement mobile, mais c’est surtout le support entre le poids de la page et la plate-forme auquel vous devez penser.
C'est une question un peu ancienne, mais je voudrais ajouter des performances. D'après ce que j'ai entendu, Zepto a mieux performé que jQuery.
Ce jsPerf montre des résultats différents. Je peux utiliser la sélection de classe de jQuery (d'un seul élément) 137% aussi souvent que celle de Zepto. Pour la sélection des identifiants, je peux utiliser 285% de jQuery aussi souvent.
C'est un gros problème compte tenu de la plupart des applications: les interactions DOM sont la seule statistique de performance qui compte (autres que les demandes réseau).
En regardant également ce perf, je peux voir que je pourrais faire document.getElementsByClassNAme 8326% aussi souvent que jQuery, nous devrions donc tous les laisser de côté si possible :-)
Zepto ne dispose pas de l’API différée/promise que jQuery propose. Il existe un module complémentaire, Simply Deferred, qui corrige ceci: https://github.com/sudhirj/simply-deferred .
Je pense que jamais utilisé zepto pour la transition rapide vers le Web n'a été jeté. Regardez au fond de sa grotte glacée, le sage et puissant Yeti a entendu des gens demander: "Où est passé Zepto?" À l'époque de la création de Foundation 4, nous sommes passés à Zepto (avec une option jQuery) pour sa taille de fichier réduite et son temps de chargement plus court.
Mais au fil du temps, nous avons constaté qu'une taille de fichier plus légère ne se traduisait pas par de meilleures performances globales. Bien sûr, Zepto téléchargé rapidement. Mais une fois chargé, ce n'était pas aussi rapide que jQuery. JQuery, et non pas Zepto, n'a pas été aidé par de nombreux plugins tiers. En fait, nous avons constaté que certains JavaScripts tiers étaient en conflit avec Zepto.
Maintenir différentes bases de code n'a pas été facile pour nous non plus. Par exemple, Zepto ne dispose pas d’une fonction de calcul de hauteur appropriée, ce qui rend certains calculs de grille difficiles.
Pour résoudre tout cela, la réponse était claire: un ciel de printemps de l'Himalaya: Foundation 5 utilise jQuery 2. Outre une vitesse et une acceptation accrues de l'industrie, jQuery 2 bénéficie également d'une meilleure documentation et d'un meilleur support. jQuery est compatible avec l'API.
**
Mais nous avons supposé que Zepto serait plus rapide que jQuery. Nous ne voulions pas faire deux fois la même hypothèse, nous avons donc testé Zepto par rapport à jQuery 2. Résultat: jQuery 2 a plus d'opérations par seconde. Cela donne à Foundation 5 de meilleures performances, ce qui se traduit par une meilleure expérience pour tous les utilisateurs.
**
En fin de compte, nous voulons aider les utilisateurs à concevoir plus rapidement d’excellents produits - et cette fois-ci, il s’agit de donner un coup de fouet au framework front-end le plus réactif du monde.
D'après ce que j'ai lu, les gens semblent se pencher fortement vers Zepto. Le raisonnement le plus courant derrière cela est la taille du fichier, mais jQuery 2 est en réalité plus rapide que Zepto après son chargement. En outre, vous ne trouverez pas beaucoup de support pour Zepto car la plupart des gens se développent autour de jQuery. Je ne suggère pas que vous ne devriez pas utiliser Zepto, mais vous devriez chercher à savoir pourquoi vous voulez l'utiliser et si d'autres bibliothèques JavaScript que vous utilisez supportent/sont en conflit avec lui.
Je dirais que cela dépend de votre projet. Pour un usage personnel ou limité, Zepto peut être la meilleure option. Cependant, jQuery est beaucoup plus pris en charge par d'autres bibliothèques et si la taille du fichier est la seule chose qui détermine votre raison, il est donc erroné. JavaScript doit être chargé après le chargement de la page. Par conséquent, le temps de chargement de votre page ne sera pas gêné dans les deux cas.
Ici est un test de performance incluant jQuery 1.7.2, Zepto 1.0rc1 et jQMobi 1.03.