Skip to content

Commit cb06c8c

Browse files
mhdawsonevanlucas
authored andcommitted
doc: Add initial documentation for N-API
Add the initial documentation for the N-API This PR is a result of work in the abi-stable-node repo: https://github.com/nodejs/abi-stable-node/tree/doc, with this PR being the cumulative work on the documentation sections in that repo with the following contributors in alphabetical order: Author: Arunesh Chandra <[email protected]> Author: Gabriel Schulhof <[email protected]> Author: Hitesh Kanwathirtha <[email protected]> Author: Jason Ginchereau <[email protected]> Author: Michael Dawson <[email protected]> Author: Sampson Gao <[email protected]> Author: Taylor Woll <[email protected]> PR-URL: #12549 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
1 parent 1fb8298 commit cb06c8c

File tree

3 files changed

+3019
-0
lines changed

3 files changed

+3019
-0
lines changed

doc/api/_toc.md

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* [Assertion Testing](assert.html)
99
* [Buffer](buffer.html)
1010
* [C/C++ Addons](addons.html)
11+
* [C/C++ Addons - N-API](n-api.html)
1112
* [Child Processes](child_process.html)
1213
* [Cluster](cluster.html)
1314
* [Command Line Options](cli.html)

doc/api/addons.md

+20
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,26 @@ Addon developers are recommended to use to keep compatibility between past and
213213
future releases of V8 and Node.js. See the `nan` [examples][] for an
214214
illustration of how it can be used.
215215

216+
217+
## N-API
218+
219+
> Stability: 1 - Experimental
220+
221+
N-API is an API for building native Addons. It is independent from
222+
the underlying JavaScript runtime (ex V8) and is maintained as part of
223+
Node.js itself. This API will be Application Binary Interface (ABI) stable
224+
across version of Node.js. It is intended to insulate Addons from
225+
changes in the underlying JavaScript engine and allow modules
226+
compiled for one version to run on later versions of Node.js without
227+
recompilation. Addons are built/packaged with the same approach/tools
228+
outlined in this document (node-gyp, etc.). The only difference is the
229+
set of APIs that are used by the native code. Instead of using the V8
230+
or [Native Abstractions for Node.js][] APIs, the functions available
231+
in the N-API are used.
232+
233+
The functions available and how to use them are documented in the
234+
section titled [C/C++ Addons - N-API](n-api.html).
235+
216236
## Addon examples
217237

218238
Following are some example Addons intended to help developers get started. The

0 commit comments

Comments
 (0)