Last update: 2011-07-13 12:21:19
Il y a un moment que le Javascript est sorti du cadre du navigateur, mais il se pourrait que le phénomène prenne une toute autre ampleur en 2010 avec la maturation de node.js et de son écosystème.
Là où beaucoup proposent de résoudre les problèmes de montée en charge à coup d'achat de lames, node.js propose lui un modèle évènementiel, plus efficace en terme de consommation de ressources (mémoire notamment) que celui des threads.
L'approche n'est pas nouvelle et existe déjà dans des frameworks tels que tornado, twisted et des serveurs web (nginx par exemple). Ce qui est moins courant c'est que cette approche est généralisée à tout le langage et à toutes les API de node (même la lecture de fichier se fait de façon asynchrone).
Quand on ajoute à cela que de nombreux frameworks pour node.js ont vu le jour (du plus minimal au plus complet), que tous les développeurs web ont au minimum des notions de Javascript, que pas mal de librairies utilisées dans le navigateur sont bien sur réutilisables dans node.js, que son installation se fait très simplement de par le petit nombre de dépendances, que les architectures des applications webs doivent supporter toujours plus de connexions simultanées...
Bref, je ne vais pas trop faire mon Fred "nostradamus" Cavazza, mais tout est réuni pour que 2010 soit l'année du Javascript coté serveur et des applications "scalable" à portée de tous.
Juste pour rire, le résultat d'un ab sur un helloworld en php:
Concurrency Level: 100 Time taken for tests: 9.623 seconds Complete requests: 10000 Requests per second: 1039.13 [#/sec] (mean) Time per request: 96.234 [ms] (mean) Time per request: 0.962 [ms] (mean, across all concurrent requests)
le même, sur le même serveur, avec node.js
Concurrency Level: 100 Time taken for tests: 2.735 seconds Complete requests: 10000 Requests per second: 3656.96 [#/sec] (mean) Time per request: 27.345 [ms] (mean) Time per request: 0.273 [ms] (mean, across all concurrent requests)
Tout à fait d'accord, javascript mérite amplement sa place coté serveur. JS server-side ainsi que l'avènement des DBs schema-free (mongodb et compagnie), voilà ce qui va exploser en 2010.
Tout à fait d'accord ! Moi j'utilise déjà les bases noSQL depuis un certain temps ... ce n'est que du bonheur ! Là je développe un jeu multi joueur avec node.js Par contre c'est pas vraiment production ready node.js pour le moment ... En espérant que la v1 sorte très bientôt ! Node.js, redis, mongoDB ... que du bon !