Node.js

Compétence
Intérêt

Node.js permet d’utiliser le JavaScript à un niveau proche de la machine en gardant la structure événementielle du langage, la communication front-end / back-end (client / serveur) est très rapide et performante.

Node.js est une techno récente qui a mûri très rapidement. L'écosystème de Node.js est celui qui a grandit le plus vite, il a rattrapé le vaste écosystème de PHP qui s'est construit en plusieurs années.

Node.js est utilisé entre autres par des grosses sociétés telles que Netflix, Paypal (qui a migré de Java vers Node.js et Go(lang)), Microsoft, Facebook, LinkedIn, Yahoo!, Mozilla, ...

Au début, j'ai utilisé Node.js pour le temps réel avec les sockets pour remplacer Flash/ActionScript en front-end et les serveurs de sockets que je faisais en PHP.

Un des intérêts de Node.js est le nombre de connexions au serveur et l’économie des ressources système.

J'ai décidé d'orienter principalement mes services de freelance vers les technos JavaScript, Node.js et Golang. Cela peut tout à fait être couplé à d'autres technos (ex: PHP, Ruby, Python, Java, Rust, Erlang, ...) déjà en place ou pas.

Notamment pour le développement d'applications de types :

Node.js et le JavaScript en général fournissent un très large champ d'application. Ils prennent de plus en plus de place dans tous les devices (systèmes d'exploitations, mobiles, systèmes embarqués et IoT tels que Arduino, Raspberry PI, Intel, Beagleboard, ...).

Y compris pour la réalisation de logiciels utilisant des frameworks UI tels que QT et GTK (pour n'en citer que 2 populaires supportant le JS). Je préfère tout de même réaliser un logiciel dans un environnement de rendu WebKit qui permet d'utiliser toutes les technos front (HTML, CSS, jQuery, React, Angular ainsi que toutes les autres libs et frameworks JS). Dont l'incontournable Google Chrome Developer Tools qui fournit un environnement intégré pour le débogage, l'optimisation et l'analyse de l'application.

Je fais de la veille quotidienne pour voir ce qu'il y a de nouveau dans l'écosystème de Node.js et du JavaScript en général, pour suivre de prêt les évolutions. Ca bouge vite, très vite, c'est passionnant


Voir également mon expérience avec le JavaScript pour en savoir plus. Dans une autre mesure, voir aussi le Go(lang).

Si ça peut être utile, j'ai publié en Open Source sur mon compte GitHub quelques modules Node.js que j'utilise régulièrement, ainsi qu'un framework de tests unitaires ici https://github.com/unitjs (la doc http://unitjs.com) et une lib d'IoC (Inversion of Control) ici https://github.com/noder-io (la doc http://noder.io).