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<!--build-with-ndk--> 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<!--coding--> 11 - [Development Overview](develop-code-overview.md) 12 - C/C++ Standard Library<!--c-cpp--> 13 - [C/C++ Library Mechanisms](c-cpp-overview.md) 14 - [Using fdsan](fdsan.md) 15 - Using Node-API<!--using-napi-interaction-with-cpp--> 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 Guides<!--napi-use--> 21 - [Using Node-API Extension APIs](use-napi-about-extension.md) 22 - [Working with Arrays 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 Class 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 Tie 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 Node-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 Properties Using Node-API](use-napi-about-property.md) 39 - [Working with Strings 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 Use Cases<!--napi-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 Node-API Extension APIs](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 - [Analyzing Exceptions and Crashes Triggered by Using Node-API](use-napi-about-crash.md) 52 - [Calling an ArkTS Method with Return Value of a Promise Using Node-API](use-napi-method-promise.md) 53 - Node-API FAQs<!--napi-questions--> 54 - [Node-API FAQs](use-napi-faqs.md) 55 - Using JSVM-API<!--jsvm--> 56 - [JSVM-API Overview](jsvm-introduction.md) 57 - [JSVM-API Data Types and APIs](jsvm-data-types-interfaces.md) 58 - [JSVM-API Development Process](use-jsvm-process.md) 59 - JSVM-API Development Specifications<!--jsvm-development-standards--> 60 - [JSVM-API Development Specifications](jsvm-guidelines.md) 61 - [JSVM-API FAQs](jsvm-frequently-questions.md) 62 - JSVM-API Guides<!--jsvm-use--> 63 - [Working with Tasks Using JSVM-API](use-jsvm-execute_tasks.md) 64 - [Working with VM Snapshots Using JSVM-API](use-jsvm-create-snapshot.md) 65 - [Working with Wasm Using JSVM-API](use-jsvm-about-wasm.md) 66 - [Creating and Calling JS Functions Using JSVM-API](use-jsvm-function-call.md) 67 - [Performing JSON Operations Using JSVM-API](use-jsvm-about-JSON.md) 68 - [Working with Arrays Using JSVM-API](use-jsvm-about-array.md) 69 - [Working with ArrayBuffer Using JSVM-API](use-jsvm-about-arraybuffer.md) 70 - [Working with BigInt Using JSVM-API](use-jsvm-about-bigint.md) 71 - [Working with Class Using JSVM-API](use-jsvm-about-class.md) 72 - [Working with Date Using JSVM-API](use-jsvm-about-date.md) 73 - [Working with Objects Using JSVM-API](use-jsvm-about-object.md) 74 - [Working with Primitives Using JSVM-API](use-jsvm-about-primitive.md) 75 - [Implementing Asynchronous Operations Using JSVM-API](use-jsvm-about-promise.md) 76 - [Setting JS Object Properties Using JSVM-API](use-jsvm-about-property.md) 77 - [Working with Strings Using JSVM-API](use-jsvm-about-string.md) 78 - [Obtaining the JSVM-API Version Using JSVM-API](use-jsvm-about-version.md) 79 - [Error Handling Using JSVM-API](use-jsvm-error.md) 80 - [Debugging and Profiling JS Code Using JSVM-API](use-jsvm-heapstatistics-debugger-cpuprofiler-heapsnapshot.md) 81 - [Performing Lifecycle Management Using JSVM-API](use-jsvm-life-cycle.md) 82 - [Performing Memory Management Using JSVM-API](use-jsvm-memory-management.md) 83 - [Comparing JS Values Using JSVM-API](use-jsvm-strict-equals.md) 84 - [Customizing Exception Handling Using JSVM-API](use-jsvm-trigger-exceptions.md) 85 - [Triggering GC Using JSVM-API](use-jsvm-trigger-gc.md) 86 - [Setting the private Property Using JSVM-API](use-jsvm-about-private.md) 87 - [Working with Latin1/UTF16 Strings Using JSVM-API](use-jsvm-about-external-string.md) 88 - [Working with Proxy Using JSVM-API](use-jsvm-about-proxy.md) 89 - [Working with Well-Known Symbols Using JSVM-API](use-jsvm-about-well-known-symbols.md) 90 - [Working with Wrapper Objects Using JSVM-API](use-jsvm-about-wrapper-object.md) 91 - [Creating Basic Data Types Using JSVM-API](use-jsvm-basic-data-types.md) 92 - Typical JSVM-API Use Cases<!--jsvm-scenarios--> 93 - [JSVM-API Debugging](jsvm-debugger-cpuprofiler-heapsnapshot.md) 94 - [Working with Trace Using JSVM-API](use-jsvm-about-trace.md) 95 - [Requesting the JIT Profile for JSVMs](jsvm-apply-jit-profile.md) 96 - JSVM-API Tuning and Performant Coding Cases<!--jsvm-usage-examples--> 97 - [Creating and Destroying JSVMs Using JSVM-API](use-jsvm-runtime-task.md) 98 - [Accelerating Compilation Using a Code Cache](use-jsvm-about-code-cache.md) 99 - [JSVM Tuning Practices](jsvm-optimizations.md) 100 - OpenMP Support<!--openmp--> 101 - [OpenMP Overview](openmp-overview.md) 102 - [Building and Running Applications Using OpenMP](openmp-guideline.md) 103 - Resource Management<!--resource-management--> 104 - [Raw File Development](rawfile-guidelines.md) 105 - Thread Scheduling<!--thread-scheduling--> 106 - [QoS Development](qos-guidelines.md) 107 - Memory Management<!--memory-management--> 108 - [Purgeable Memory Development](purgeable-memory-guidelines.md) 109 - Bundle Management<!--bundle-management--> 110 - [Native Bundle Development](native-bundle-guidelines.md) 111- Debugging and Profiling<!--debugging-profiling--> 112 - [Debugging and Profiling Overview](debug-performance-profiling-overview.md) 113 - [Debugging in DevEco Studio](debug-ide.md) 114 - [C/C++ Memory Error Detection](debug-asan.md) 115- Hardware Compatibility<!--hardware-compatibility--> 116 - [Introduction to Hardware Compatibility](hw-guide.md) 117 - [OpenHarmony ABIs](ohos-abi.md) 118 - [CPU Features](cpu-features.md) 119 - [Using Neon Instructions](neon-guide.md) 120