conseil:njs

Élaboration de solutions logicielles natives pour Node.js (addons)

Vous trouverez ici une introduction, ainsi qu'un exemple et une démonstration en ligne, portant sur un moyen simple et rapide d’accélérer le développement d'applications Node.js.

Node.js, de par sa conception, peut présenter certaines limitations, notamment en termes de performances. Pour pouvoir contourner ces limitations, les concepteurs de Node.js y ont implémentée la prise en charge d'addons, qui sont des composants logiciels natifs.

Le code natif de ces addons s’exécute en parallèle de Node.js, contrairement au code Javascript qui s'exécute dans (ou, plus précisément, est exécuté par) Node.js. Bien qu'interagissant avec Node.js, le code natif en est indépendant ; par conséquent, un addon n'est pas soumis aux limitations de Node.js.

Comme n'importe quel autre composant Node.js, un addon s'utilise au travers d'un objet Javascript récupéré à l'aide de l'habituel require(…). Les addons facilitent le travail des développeurs Node.js en leur donnant accès, en Javascript, à toutes les fonctionnalités dont ils ont besoin, et ce, avec des performances optimales.

De ce fait, conformément à la finalité de Node.js, Javascript restera le principal langage de l'application Node.js. Seules les parties les plus exigeantes de l'application auront un intérêt à être développées sous forme d'addons.

Voyez ce qu'est un addon en allant sur NPM, à l'adresse http://www.npmjs.com/package/xppq (à laquelle correspond le badge ci-dessous). Vous y trouverez un parser et un préprocesseur XML que j'ai développé1), ainsi qu'un lien vers la totalité du code source correspondant.

XPPq on NPM

Testez cet addon:

  • sur votre ordinateur, en l'installant de manière classique (npm install xppq2)), puis en lançant npm explore xppq -- node test.js, ce qui affichera le résultat du parsing de données XML de démonstration après passage par le préprocesseur,
  • en ligne, sur Runkit ; vous y trouverez des exemples d’utilisation de cet addon, et vous pourrez même le tester avec vos propres scripts.

Concernant les sources, vous serez peut-être plus particulièrement intéressé par le fichier XPPq.js, qui contient le chargement de l'addon et son encapsulation en Javascript, ainsi que les fichiers test.js et runkit.js, qui montrent quelques exemples de mise en œuvre de l'addon.

Contactez-moi à l'aide de ce formulaire si vous désirez donner un sérieux coup d'accélérateur à vos développements Node.js !
1) La plupart des paquets disponibles sur NPM ne sont pas des addons.
2) Excepté sous Windows, il vous faudra également un environnement de compilation C++.
conseil/njs.txt · Last modified: Wed Sep 13 17:27:57 2017 (13/09/17) by Claude SIMON