11 bibliothèques JavaScript à connaître en 2019

L’article d’aujourd’hui liste les 11 bibliothèques Javascript à connaître en 2019.
Je tiens à préciser que cet article est une traduction de l’article anglais “11 Javascript Utility Libraries you Should Know in 2019”. L’article de base a été écrit par Jonathan Saring sur médium.

D’après stackoverflow, le JavaScript reste le langage de programmation le plus populaire et le plus utilisé en 2019.
Par conséquent, l’écosystème autour du langage s’enrichit et se développe.

Les fonctionnalités standard de Javascript sont resté basique. Pour combler ce manque, de nombreuses bibliothèques populaires se sont développées sur GitHub au cours des dernières années. Voici une courte liste de bibliothèques utiles et hautement maintenues.

1. La base : Underscore & Lodash

La plupart d’entre vous les connaissent probablement déjà. Underscore est créé pour apporter des fonctions utiles aux tâches courantes du Javascript.
Lodash, le package le plus téléchargé et le plus dépendant de NPM, a été conçu pour offrir une prise en charge plus cohérente des itérations pour les tableaux, les chaînes, les objets, etc… .
Lodash est depuis devenu un sur-ensemble d’Underscore.
Les deux bibliothèques sont gérés par les mêmes contributeurs, et devraient être dans votre stack.

2. Ramda

Avec plus de 12 000 étoiles, cette bibliothèque JS est conçue pour la programmation fonctionnelle, ce qui facilite la création de pipelines fonctionnels qui ne muent pas les données utilisateur. Les fonctions sans immuabilité et sans effets secondaires sont au cœur de sa philosophie de conception. Toutes les fonctions sont chaînés automatiquement, et les paramètres passés sont arrangés en conséquence pour une facilité d’utilisation.

3. MathJS

Math.js est une vaste bibliothèque mathématique pour JavaScript et Node.js compatible avec la bibliothèque mathématique intégrée de JavaScript. La bibliothèque contient un analyseur d’expression flexible, est capable d’effectuer des calculs symboliques et est fournie avec un grand ensemble de fonctions et de constantes intégrées. Vous pouvez même l’étendre vous-même.

4. La gestion des dates : Moment/date-fns

Moment.js est une bibliothèque de manipulation de date et heure JavaScript pour l’analyse, la validation, la manipulation et la mise en forme des dates. Moment a été conçu pour fonctionner à la fois dans le navigateur et dans Node.js. À partir de la version 2.10, le code est écrit dans les modules ECMAScript 6.

Date-fns est une bibliothèque de manipulation temporelle de plus en plus populaire avec 11 000 étoiles et plus d’un demi million de téléchargement par semaine sur NPM.
De nombreux développeurs choisissent cette bibliothèque pour remplacer moment.js. Elle offre plus de 130 fonctions permettant de manipuler les dates dans le navigateur et le noeud js.
Date-fns est construit en utilisant des fonctions et garde les choses immuables sans changer les instances de date passées. Il fonctionne bien avec des bundles tels que webpack, Browserify ou Rollup, et prend en charge l’arborescence.

5. Sugar

Sugar est une bibliothèque Javascript permettant de travailler avec des objets natifs. Les versions personnalisées et les packages npm modularisés vous permettent d’utiliser uniquement ce dont vous avez besoin. Les utilisateurs peuvent définir des méthodes ou utiliser des plug-ins pour gérer des cas d’utilisation spécialisés. Cela vaut la peine de vérifier.

sugar.js en action

6. Lazy

lazy.js est une bibliothèque utilitaire fonctionnelle pour JavaScript avec un moteur lazy qui « s’efforce de faire le moins de travail possible » tout en restant suffisamment flexible. La bibliothèque n’a pas de dépendances externes.
Voici une démonstration en direct du test des événements DOM en tant que séquence. Voici la documentation de l’API pour commencer.

7. CollectJS

collect.js est un wrapper très prometteur et sans dépendance pour travailler avec des tableaux et des objets en Javascript avec des dizaines de fonctionnalités utiles dans et une API qui est (presque) identique aux Collections de Laravel 5.5. La bibliothèque est activement entretenue et elle mérite d’être surveillée.

8. ChanceJS

Chance est un générateur minimaliste de chaînes aléatoires, de nombres, etc. visant à réduire la monotonie, lors de la rédaction de tests automatisés ou ailleurs, vous avez besoin de quelque chose de aléatoire. À seulement 3000 étoiles, cette bibliothèque est étonnamment utile car nous avons tendance à répéter nos modèles lorsque l’on nous demande de générer des choses aléatoires.

9. ChartJS

Avec près de 40 000 étoiles, chart.js est un excellent exemple de la façon dont on peut traiter les données, avec plus de 8 types de visualisation de données différents, chacun animé et personnalisable. Chart.js vous permet de créer des graphiques HTML5 simples à l’aide de balises. La bibliothèqye a des performances de rendu exceptionnelles sur tous les navigateurs modernes. C’est une des bibliothèques les plus utiles et les plus élégantes de la liste.

Polar Area visualization avec chart.js

10. Polished

Polished est un ensemble d’outils très léger pour l’écriture de styles en JavaScript avec des fonctions d’assistance et des mixages de style Sass. La bibliothèque est compatible avec les styles stylés à composants (comme Aphrodite ou Radium), ou en ligne.

11. Mout

Mout.js est une collection d’utilitaires JavaScript modulaires. Ces utilitaires peuvent être utilisés dans le navigateur (modules AMD) , ou via node.js. Elle fournit des méthodes d’assistance similaires à celles trouvées dans d’autres bibliothèques standard. Mout.js vous permet de ne charger que les modules / fonctions dont vous avez besoin, fournit une API cohérente et normalise le comportement de plusieurs navigateurs.

Mentions honorable :

Voca

Une bibliothèque Javascript pour les manipulations de chaînes. Il inclut des fonctions utiles telles que changer la casse, couper, pad, slugify, latiniser, sprintf’y, tronquer, s’échapper, etc. Vous pouvez charger des fonctions individuelles pour minimiser les versions de l’application. Une couverture de test élevée est fournie, et cette bibliothèque n’a aucune dépendance.

Licia

Ce projet intéressant est une simple collection d’extraits de code JS utiles avec une documentation élevée et une couverture de test.