Je commence tout juste à apprendre JavaScript et je suis tombé sur nderscore.js et jQuery . Underscore a l'air vraiment cool mais je me demande si jQuery ne fournit pas déjà des fonctions similaires à Underscore. Alors, vaut-il la peine d'utiliser les deux?
Extrait du site souligné :
C'est la cravate pour aller de pair avec juxery's Tux et Backbone.js's bretelles.
Underscore est plus adapté à la manipulation de données et apporte de nombreuses méthodes Ruby à JavaScript. Il existe un certain croisement, mais pas assez pour les rendre mutuellement exclusives.
Underscore fournit un total de 60 fonctions pour le traitement des données/code. Il est convenu que de nombreuses fonctionnalités sont présentes dans d'autres bibliothèques comme jQuery, Prototype ou script.aculo.us. Par exemple, des fonctions comme each, map, find, filter ou toArray sont présentes dans jQuery. Ce sont également dans Underscore. Il s'agit de rendre la bibliothèque indépendante de jQuery.
Quand utiliser Underscore?:
Actuellement, il est largement utilisé avec Backbone.js pour utiliser l'architecture MVC pour créer une application Web Javascript d'une page. La capacité la plus importante de underscore.js est la capacité de création de modèles (ce que jQuery ne peut pas faire). Cette bibliothèque possède de nombreuses autres fonctions utiles, indépendantes des autres bibliothèques Javascript.
Vous trouverez ci-dessous une liste des fonctions fournies par Underscore:
Collections: chacune, mapper, réduire, réduireDroite, rechercher, filtrer, rejeter, tout, tout, inclure, invoquer, cueillir, max, min, sortBy, groupBy, sortedIndex, shuffle, toArray, size
Array: first, initial, last, rest, compact, flatten, without, union, intersection, difference, uniq, Zip, indexOf, lastIndexOf, range
Fonction: bind, bindAll, memoize, delay, defer, throttle, debounce, once, after, wrap, compose
Object: clés, valeurs, fonctions, extend, valeurs par défaut, clone, tap, isEqual, isEmpty, isElement, isArray, isArguments, isFunction, isString, isNumber, isBoolean, isDate, isRegExp, isNaN, isNull, isUndefined
titity: noConflict, identité, times, mixin, uniqueId, escape, template
Si vous êtes préoccupé par le chevauchement et n'avez pas besoin de choses comme JQuery AJAX, vous pouvez envisager d'utiliser uniquement le moteur de sélection JQuery, nommé Sizzle.
Notez que ce n'est pas pour tous les projets, en utilisant Sizzle et Underscore, vous perdrez certaines fonctionnalités JQuery (comme AJAX), vous devez considérer ce dont vous avez vraiment besoin pour votre application spécifique.