Quelle est la différence entre Zepto et jQuery 2?

Il y a ces deux projets similaires:

Zepto.js

Zepto est une bibliothèque JavaScript minimaliste pour les navigateurs modernes avec une API largement compatible avec jQuery.

jQuery 2.0

jQuery 2.0 beta: Voici votre goût du futur, un jQuery qui peut être plus rapide et plus petit sans avoir besoin de prendre en charge IE 6, 7 ou 8. C’est un excellent choix pour les applications HTML spécifiques à la plate-forme.

Est-ce seulement une question de performance ou suivent-ils des approches différentes?

La principale différence entre Zepto.js et jQuery sont leurs tailles de fichiers respectives de ~ 20kb (minified, pas gzipped) de Zepto.js au lieu de ~ 80kb de jQuery, et ~ 10kb (minifié, Gzipped) de Zepto.js au lieu de ~ 30kb de jQuery. De plus, le support de Zepto pour les navigateurs tels que IE<10 est soit inexistant, soit non garanti, ses plates - formes cibles sont:

  • Safari 5+ (bureau)
  • Chrome 5+ (bureau)
  • Mozilla Firefox 4+
  • iOS 4+ Safari
  • Navigateur Android 2.2+
  • Autres navigateurs / runtimes basés sur WebKit
  • Navigateur webOS 1.4.5+
  • Navigateur BlackBerry Tablet OS 1.0.7+
  • Amazon Silk 1.0+
  • Opera 10+
  • Internet Explorer 10+

jquery 2 est ~ 30kb et zepto est ~ 10kb quand les deux sont compressés et minifiés. Non gzipé mais minifié, jquery 2 est ~ 80kb et zepto est ~ 30kb.

Utilisez un programme d’parsing pour vérifier l’audience de votre site. Si une partie importante de vos utilisateurs utilise IE9, vous avez besoin de jquery et zepto ne volera pas. Si plus de quelques pour cent utilisent IE8 et moins et que vous ne pouvez pas les laisser sans votre site, vous devrez utiliser jquery 1. Si vous ciblez ce dernier, je suis désolé – beaucoup de nouveaux jouets shinys ne fonctionnera pas pour vous

Si vous construisez une application html5 pour Android / iOS / phonegap, etc., vous visez principalement webkit, alors zepto vous permet de faire des économies de taille. La principale raison d’être de zepto est que lors de l’exécution sur des plates-formes webkit uniquement, de nombreuses solutions de contournement multiplates-formes de jquery sont tout simplement inutiles.

Zepto ajoute également quelques gestionnaires d’événements tactiles pour aider au développement mobile, mais c’est principalement le support du poids de la page par rapport à la plate-forme auquel vous devez penser.

C’est une question un peu ancienne, mais j’aimerais append de la performance. D’après ce que j’ai entendu, Zepto s’est mieux comporté 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% plus souvent que celle de Zepto. Pour la sélection des identifiants, je peux utiliser les 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 (autre que les requêtes réseau).

En regardant aussi ce perf, je peux voir que je pourrais faire document.getElementsByClassNAme 8326% aussi souvent que jQuery, donc nous devrions tous tous abandonner si possible 🙂

Zepto ne dispose pas de l’API différée / prometteuse utilisée par jQuery. Il y a un add-on, Simply Deferred, qui remédie à ceci: https://github.com/sudhirj/simply-deferred .

Je pense que jamais utilisé zepto pour une transition rapide vers le web jette un coup d’oeil Au fond de sa caverne glacée, le puissant et puissant Yeti a entendu des gens demander: “Où Zepto est-il allé?” À l’époque de la conception de Foundation 4, nous sums passés à Zepto (avec une option jQuery) pour sa taille de fichier réduite et son temps de chargement plus rapide.

Mais au fil du temps, nous avons constaté que la taille de fichier allégée 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. Cela n’a pas aidé que beaucoup de plug-ins tiers aient besoin de jQuery, pas de Zepto – en fait, nous avons constaté que certains scripts JavaScript étaient en conflit avec Zepto.

Maintenir des bases de code différentes n’a pas été facile non plus. Zepto, par exemple, ne dispose pas d’une fonction de calcul de hauteur appropriée, ce qui rend certains calculs de grid difficiles.

Pour résoudre tout cela, la réponse était claire: le ciel himalayen du spring: Foundation 5 utilise jQuery 2. Outre une meilleure rapidité et une meilleure acceptation de l’indussortinge, jQuery 2 bénéficie également d’une meilleure documentation et d’un meilleur support. jQuery est compatible avec les API.

**

Mais nous avons supposé que Zepto serait plus rapide que jQuery. Nous n’avons pas voulu faire deux fois la même hypothèse, nous avons donc testé Zepto vs jQuery 2. Le résultat: jQuery 2 a plus d’opérations par seconde. Cela donne à la Fondation 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 gens à concevoir plus rapidement de superbes produits – et cette fois, cela signifie qu’il faut accélérer la mise en place du cadre frontal le plus réactif au monde.

D’après ce que j’ai lu, les gens semblent s’appuyer fortement sur Zepto. Le raisonnement le plus courant 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 soutien pour Zepto puisque 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 regarder pourquoi vous voulez l’utiliser et si d’autres bibliothèques JavaScript que vous utilisez supportent / entrent en conflit avec elle.

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 les autres bibliothèques et si la taille du fichier est la seule chose qui détermine votre raison, alors il est défectueux. JavaScript doit être chargé après le chargement de la page, ce qui ne gêne pas le temps de chargement de la page dans les deux cas.

Voici le test de performance incluant jQuery 1.7.2, Zepto 1.0rc1, ainsi que jQMobi 1.03.