Les Modules Natifs Node.js avec N-API

Les Modules Natifs Node.js avec N-API2018-10-23T19:35:09+00:00

Présentation

Que sont les modules natifs Node.js, et pourquoi les utiliser ? Découvrons comment Node.js interagit avec votre code C/C++ pour créer des modules natifs personnalisés et asynchrones.

Contexte

Cette présentation est basée sur l’expérience accumulée grâce au développement du module Node.js krb5. Le module krb5 expose la library C MIT Kerberos à Node.js, ainsi que la GSS-API pour l’authentification via HTTP (SPNEGO). Par exemple il est utilisé dans le module hbase pour communiquer avec l’API REST de HBase sur un cluster sécurisé avec Kerberos.

On couvrira également les changements récents dans le développement de modules natifs, notamment la transition de NAN (Native Abstractions for Node.js) à N-API, supportée par les développeurs de Node.js.

Objectif

Cette présentation donnera un exemple clair de comment développer et partager un module natif Node.js, sans aller trop loin dans du code, mais plutôt en montrant les outils et bonnes pratiques. Nous parlerons des mécanismes du code asynchrone, ce qui devrait être de valeur même en dehors du développement d’un module natif. La présentation devrait également éclaircir le rôle des moteurs Javascript comme V8.

Auteur

Je suis Xavier Hermand. Je travaille chez Adaltas depuis Septembre 2018 après un stage de six mois. Mes principaux intérêts depuis ce stage ont été autour de l’automatisation de déploiement de cluster avec le projet Jumbo. J’ai également passé du temps à contribuer au module Node.js krb5 car j’aime le challenge et la magie noire à plus bas niveau.