Native modules for Node.js with N-API

Introduction

What are native modules for Node.js, and what are they used for? Let's discover together how can Node.js interact with your C/C++ code to create custom, asynchrone, native modules.

  • Speaker: Xavier Hermand
  • Duration: 1h00
  • Format: talk

Presentation

This talk is based on experience gathered around the developpement of krb5 Node.js module. krb5 module exposes MIT Kerberos C library to Node.js as well as the GSS API for authentication through HTTP (SPNEGO). For instance, it is used in the hbaseNode.js module to communicate with the HBase REST API on a secured cluster with Kerberos.

It will cover the recent changes in developping a native module, namely the transition from NAN (Native Abstractions for Node.js) to N-API, supported by the Node.js core developpers.

This talk will give a clear example of how to develop a native Node.js module nowadays. It will dig into asynchronous mechanisms that should be valuable even outside the scope of native module developpement. It should also put some light on the underlying Javascript engines like v8 and how it is evolving.

Author

I am Xavier Hermand, working at Adaltas since September 2018 after a six month internship. My main interest since my internship has been around automation of cluster deployment with the project Jumbo. I also spent some time contributing to the krb5 module, as I find it challenging and enjoy lower level black magic.

Canada - Morocco - France

International locations

10 rue de la Kasbah
2393 Rabbat
Canada

We are a team of Open Source enthusiasts doing consulting in Big Data, Cloud, DevOps, Data Engineering, Data Science…

We provide our customers with accurate insights on how to leverage technologies to convert their use cases to projects in production, how to reduce their costs and increase the time to market.

If you enjoy reading our publications and have an interest in what we do, contact us and we will be thrilled to cooperate with you.