Node.js


panorama de la plateforme


Par Thibaud Colas, partage en CC0

Sources d'information

Hello World


						console.log("Hello World");
					

						// Load the http module to create an http server.
						var http = require('http');

						// Respond with Hello World to all requests.
						var server = http.createServer(function (request, response) {
						  response.writeHead(200, {"Content-Type": "text/plain"});
						  response.end("Hello World\n");
						});

						// Listen on port 8000, IP defaults to 127.0.0.1
						server.listen(8000);
					

Principes fondamentaux

JavaScript via V8

APIs spécifiques


  • HTTP
  • Crypto
  • Network
  • File System


Implémentation de la spécification CommonJS

Mono-threadé asynchrone

Source : StrongLoop, What Makes Node.js Faster Than Java?

Source : StrongLoop, What Makes Node.js Faster Than Java?

Mono-threadé asynchrone

  • Opérations I/O asynchrones
  • Traitement des requêtes sur le même thread
  • Ordonnancé par le système

Écosystème communautaire

Source : Module Counts

Utilisations

API REST

Convient pour beaucoup de requêtes sans calcul lourd.
Exemple d'outils :

SPA

Mêmes avantages et outils que pour les APIs, et :

  • JavaScript pour le client et le serveur
  • Réutilisation de code (modèles, validation)
  • Exemple : MEAN Stack

Temps réel

Node est fait pour gérer un grand nombre de connexions / requêtes parallèles.

Outils par ligne de commande

Les packages Node respectent la philosophie UNIX :

  • Faire une seule chose, bien
  • Utiliser des streams en entrée et sortie
  • Favoriser la réutilisabilité
  • Exemple : mkdirp

Outillage

Tous les outils du développeur Front-End sont maintenant écrits en JavaScript :

Originalités

Utilisateurs



Plus d'informations : Infographie de StrongLoop

Démonstrations

Découvrir Node.js

NodeSchool

http://nodeschool.io/

Autres ressources

Merci !


Par Thibaud Colas, partage en CC0