Les Modules Natifs Node.js avec N-API

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.

  • Intervenant : Xavier Hermand
  • Durée : 1h00
  • Format : talk

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.

Canada - Maroc - France

Nous sommes une équipe passionnée par l'Open Source, le Big Data et les technologies associées telles que le Cloud, le Data Engineering, la Data Science le DevOps…

Nous fournissons à nos clients un savoir faire reconnu sur la manière d'utiliser les technologies pour convertir leurs cas d'usage en projets exploités en production, sur la façon de réduire les coûts et d'accélérer les livraisons de nouvelles fonctionnalités.

Si vous appréciez la qualité de nos publications, nous vous invitons à nous contacter en vue de coopérer ensemble.

Support Ukrain