Cours de formation en ligne sur Google Meet + Cours au format PDF
25.00$
CompareNode.js
Node.js est une exécution JavaScript basée sur le moteur JavaScript V8 de Google Chrome.
Il utilise un modèle d’E/S piloté par événement et non bloquant qui le rend léger et efficace. L’écosystème de paquets de Node.js, npm, est l’un des plus grands écosystèmes de bibliothèques open source au monde.
Les objectifs
- Comprendre le fonctionnement de Node.js, ses forces et ses faiblesses
- Être capable de créer une application Node.js complète, en suivant les bonnes pratiques de développement
- Être capable de choisir les bons modules npm pour la bonne tâche
- Être capable de détecter les situations où Node.js sera un choix adapté et le justifier
Pré-requis
- Connaissances de base du développement web (HTML, CSS, JavaScript)
- Connaissances des principes de développement côté serveur (la formation n’est pas adapté aux développeurs uniquement front-end)
- Ordinateur portable à apporter
Le programme de la formation Node.js
chapitre 1 : Découverte
Présentation de Node.js
- JS côté serveur, pourquoi et comment ?
- Présentation de Node.js (REPL, single-threaded event-loop, APIs non bloquantes, streams…)
- Programmation asynchrone : joies & désillusions (Continuous Passing Style, Promise, Fibers, bonnes pratiques de gestion de ses appels asynchrones)
- Les modules et npm
Anatomie d’un module
- La gestion de dépendances avec npm, le gestionnaire de paquets officiel de Node.js
- Packaging et déploiement d’un module sur npm
Tests
- Tests unitaires avec Mocha, le framework de tests unitaires, et Chai, la librairie d’assertions intuitive
- Tests fonctionnels avec Zombie, Phantom et Casper, les navigateurs “headless”
Application web avec Node.js
- Écriture d’un serveur web
- Utilisation du module « Express », le micro-framework web le plus populaire (routage, vue, middlewares, montage d’applications)
- Gestion des fichiers statiques et comparaison avec les serveurs existants
chapitre 2 : Les mains dans le cambouis
Notre application
- Présentation du projet développé durant le reste des travaux pratiques
- Discussions autour des technologies à utiliser et du modèle de données
Node.js et les bases de données
- SQL (MySQL, PostgreSQL, SQLite…)
- NoSQL (MongoDB, Redis, et bonnes pratiques)
- Modélisation
Enhance your webapp
- Aller plus loin avec Express (traitement de formulaires et authentification avec passport, le gestionnaire de sessions polyglote)
- Websockets avec Socket.io (présentation, intégration côté serveur et côté client, et nombreux ateliers)
chapitre 3 : Vers l’infini et au-delà !
Déléguer les traitements lourds
- Les limites imposées par le modèle single-thread de Node.js
- Les solutions pour déléguer ces traitements à d’autres processus (pub/sub Redis, AMQP, ØMQ, Gearman… mais aussi le multi-threading)
Aller plus loin dans les performances
- Comment rendre son application « scalable »
- Profiter de tous les cœurs de son processeur avec cluster
- Trollons joyeusement avec un comparatif de performances
Conclusions & conseils
- Synthèse des bonnes pratiques de développement
- Conseils de survie dans l’écosystème Node.js