1# Node-API
2
3- [Getting Started with the NDK](ndk-development-overview.md)
4- [Creating an NDK Project](create-with-ndk.md)
5- Building an NDK Project
6  - [NDK Project Building Overview](build-with-ndk-overview.md)
7  - [Building an NDK Project with the DevEco Studio Template](build-with-ndk-ide.md)
8  - [Building an NDK Project with the Command Line CMake](build-with-ndk-cmake.md)
9  - [Building an NDK Project with Prebuilt Libraries](build-with-ndk-prebuilts.md)
10- Code Development
11  - [Development Overview](develop-code-overview.md)
12  - C/C++ Standard Library
13    - [C/C++ Mechanisms](c-cpp-overview.md)
14    - [Using fdsan](fdsan.md)
15  - Using Node-API
16    - [Node-API Overview](napi-introduction.md)
17    - [Node-API Data Types and APIs](napi-data-types-interfaces.md)
18    - [Node-API Development Specifications](napi-guidelines.md)
19    - [Node-API Development Process](use-napi-process.md)
20    - Node-API Use Cases
21      - [Using Node-API Extension APIs](use-napi-about-extension.md)
22      - [Working with Array Using Node-API](use-napi-about-array.md)
23      - [Working with ArrayBuffer Using Node-API](use-napi-about-arraybuffer.md)
24      - [Working with BigInt Using Node-API](use-napi-about-bigint.md)
25      - [Working with Buffer Using Node-API](use-napi-about-buffer.md)
26      - [Working with Basic Data Types Using Node-API](use-napi-basic-data-types.md)
27      - [Working with Classes Using Node-API](use-napi-about-class.md)
28      - [Working with Cleanup Hooks Using Node-API](use-napi-about-cleanuphook.md)
29      - [Working with Date Using Node-API](use-napi-about-date.md)
30      - [Error Handling Using Node-API](use-napi-about-error.md)
31      - [Associating Data with a Running Environment to Tide their Lifecycle Using Node-API](use-napi-about-environmental-life-cycle.md)
32      - [Working with Functions Using Node-API](use-napi-about-function.md)
33      - [Performing Lifecycle Management Using Node-API](use-napi-life-cycle.md)
34      - [Working with Objects Using JSVM-API](use-napi-about-object.md)
35      - [Working with Other Node-API Utilities](use-napi-about-other-practical-tools.md)
36      - [Working with Primitives Using Node-API](use-napi-about-primitive.md)
37      - [Implementing Asynchronous Operations Using Node-API](use-napi-about-promise.md)
38      - [Working with Property Using Node-API](use-napi-about-property.md)
39      - [Working with String Using Node-API](use-napi-about-string.md)
40      - [Customizing Asynchronous Operations Using Node-API](use-napi-about-custom-asynchronous-operations.md)
41    - Typical Node-API Scenarios
42      - [Asynchronous Task Development Using Node-API](use-napi-asynchronous-task.md)
43      - [Thread Safety Development Using Node-API](use-napi-thread-safety.md)
44      - [Wrapping a Native Object in an ArkTS Object](use-napi-object-wrap.md)
45      - [Wrapping a Native Object in a Sendable ArkTS Object](use-sendable-napi.md)
46      - [Creating an ArkTs Runtime Environment Using Node-API](use-napi-ark-runtime.md)
47      - [Loading a Module in the Main Thread Using Node-API](use-napi-load-module.md)
48      - [Running or Stopping an Event Loop in an Asynchronous Thread Using Extended Node-API](use-napi-event-loop.md)
49      - [Loading a Module Using Node-API](use-napi-load-module-with-info.md)
50      - [Passing a Task with the Specified Priority to an ArkTS Thread from an Asynchronous Thread Using Node-API](use-call-threadsafe-function-with-priority.md)
51    - [Node-API FAQs](use-napi-faqs.md)
52  - Using JSVM-API
53    - [JSVM-API Overview](jsvm-introduction.md)
54    - [JSVM-API Data Types and APIs](jsvm-data-types-interfaces.md)
55    - [JSVM-API Development Process](use-jsvm-process.md)
56    - JSVM-API Development Specifications
57      - [JSVM-API Development Specifications](jsvm-guidelines.md)
58      - [JSVM-API FAQs](jsvm-frequently-questions.md)
59    - JSVM-API Use Cases
60      - [Working with Task Queues Using JSVM-API](use-jsvm-execute_tasks.md)
61      - [Working with VM Snapshots Using JSVM-API](use-jsvm-create-snapshot.md)
62      - [Working with Wasm Using JSVM-API](use-jsvm-about-wasm.md)
63    - Typical JSVM-API Scenarios
64      - [JSVM-API Debugging](jsvm-debugger-cpuprofiler-heapsnapshot.md)
65      - JSVM-API Tuning and Performant Coding Cases
66        - [Creating and Destroying JS VMs Using JSVM-API](use-jsvm-runtime-task.md)
67        - [Accelerating Compilation Using a Code Cache](use-jsvm-about-code-cache.md)
68        - [JSVM Tuning Practices](jsvm-optimizations.md)
69  - Resource Management
70    - [Raw File Development](rawfile-guidelines.md)
71  - Thread Scheduling
72    - [QoS Development](qos-guidelines.md)
73  - Memory Management
74    - [Purgeable Memory Development](purgeable-memory-guidelines.md)
75  - Device Management
76    - [USB DDK Development](usb-ddk-guidelines.md)
77    - [HID DDK Development](hid-ddk-guidelines.md)
78  - Bundle Management
79    - [Native Bundle Development](native-bundle-guidelines.md)
80- Debugging and Profiling
81  - [Debugging and Profiling Overview](debug-performance-profiling-overview.md)
82  - [Debugging in DevEco Studio](debug-ide.md)
83  - [C/C++ Memory Error Detection](debug-asan.md)
84- Hardware Compatibility
85  - [Introduction to Hardware Compatibility](hw-guide.md)
86  - [OpenHarmony ABIs](ohos-abi.md)
87  - [CPU Features](cpu-features.md)
88  - [Using Neon Instructions](neon-guide.md)
89