“What NAPI is allowing us to do is have an intermediary ABI that lives within Node that native module authors can write against,” said Myles Borins, a developer advocate at Google. To get the advantages of N-API, developers will have to migrate their NPMs to N-API. Once that’s done, they should get its stability benefits.
N-API is in its early stages, having been introduced in May with Node.js 8. The goal is to make N-API a fully supported feature either in Node.js 9, which is due in October, or in Node.js 10, due six months later, Snell said.
N-API is expected to help users upgrade to the latest versions of Node.js. “Mission-critical native code dependencies is the No. 1 reason why people are still stuck with older versions of Node,” said Arunesh Chandra, Microsoft’s senior program manager for Chakra.
N-API uses a C API, though some Node developers believe a C++ API would be easier to use. Thus, the builders of Node.js anticipate wrapper modules to provide an inline-able C++ API.