Voici l'une de mes bonnes résolutions de l'année : faire des articles se servant de la mise en forme Markdown de mon Shaarli. Celui-ci sera la première partie - de ce qui je l'espère - sera d'une longue lignée.
NPM C'est quoi donc ?
NPM c'est d'abord un acronyme signifiant Node Package Manager ce que l'on peut traduire par "gestionnaire de package de Node JS".
Le fichier 'package.json' c'est quoi donc ?
Tout comme il existe chez Maven, un fichier pom.xml qui décrit un projet, il existe un fichier package.json qui fait la même chose en Node JS.
Ok donc dois-je me servir de NPM comme outil de build ?
Eh bien non, désolé. En réalité vous pourriez, cependant JavaScript étant ce qu'il est, l'écosystème bouge tellement vite que la norme à adopter c'est YARN.
Ok mais qu'est-ce que YARN aurait de plus que NPM et justifiant son usage ?
Pour comprendre cela, il faut comprendre ce que fait NPM
- NPM va d'une part gérer (c'est-à-dire télécharger et mettre à jour) vos dépendances et les dépendances de vos dépendances. Nous parlerons alors de *gestion transitive des dépendances.
- NPM est également en mesure d'exécuter des commandes que vous lui aurez indiquer. Cela vous permettre par exemple de transpiler une application, de la packager ou encore de la déployer.
Parfait mais qu'est-ce que ne fait pas NPM alors ?
Eh bien deux choses :
1) Il ne met rien en cache, c'est-à-dire que NPM va retélécharger encore et toujours chacune des librairies que vous avez utilisé dans vos projets ; contrairement à Maven qui stocke dans le répertoire
$HOME/.m2/repository
l'ensemble des librairies dont vous vous êtes servi au moins une fois.
2) Il gère votre build de manière séquentielle, ce qui est dommageable en termes de performances étant donné que nos processeurs sont tous multi-cœurs voire multi-cœurs et hyper-threads à ce jour.
Et YARN est une surcouche de NPM qui répond tout simplement à ces deux besoins.
Un tuto aurelia en français
Une lib JS pour faire des gradients animés
Des vidéos en fond d'écran en CSS et une lib JS
Un tuto sur Angular 2 (j'amorce ma migration vers cette techno, c'est décidé). Cela signifie aussi que je switcherai de JS vers TypeScript dans pas longtemps.
Une lib JS open-source pour faire des charts en responsive dans le navigateur
De TDD vers BDD une présentation faite en reveal.js (pas mal).
Faire des GUI web avec des apparition / disparitions d'éléments HTML en fonction du scroll.
Accès à DOM Tree
Incroyable ! Un nombre impressionnant de petits jeux codés en 30 lignes de JavaScript seulement (avec un peu de HTML / CSS quand même).
Une lib JS pour générer des charts façon HiCharts.hs mais en libre
Benchmark de lib JS
Trop trop bien ce hack.
L'avenir est à JavaScript. Un autre tuto sur les bases MongoDb
Un debugger de regexp qui permet de les visualiser sous forme d'arbre. Je relais le post.
Enregistrer des vidéos via sa webcam, en JS pour 3 Ko.
Les Web Workers de JS
Test de débit de ligne via un browser en pure HTML5 + JS. Parfait pour les mobiles (car pas de Java ou Flash).
Des petites astuces sur Lodash qui est à mon sens LA lib JS du moment avec Angular 2 et JQuery.