1# arkcompiler_jsvm 2 3#### Description 4OpenHarmony JSVM-API provides a set of stable APIs based on the standard JavaScript (JS) engine. It provides complete JS engine capabilities, including creating and destroying a JS engine, executing JS code, and implementing interaction between JS and C/C++ modules. 5 6OpenHarmony JSVM-API provides a set of APIs written in C programming language that complies with C99. 7 8JSVM-API allows dynamically loaded JS code segment to be directly run during application runtime. With JSVM-API, you can also use C/C++ to implement core functionalities that demand high performance or closely rely on underlying system invocation, register C++ methods in JS code, and directly call the JS code to improve the execution speed. 9 10#### Directory Structure 11 12``` 13/arkcompiler/jsvm 14├── interfaces 15│ ├── innerkits # interface used in system component 16│ └── kits # interface provided to app developer 17├── src # jsvm source code 18│ ├── inspector # source code about inspector 19│ └── platform # source code related to platform 20├── test # jsvm test suit 21├── BUILD.gn # jsvm compile script 22├── jsvm.gni # jsvm compile script 23└── bundle.json # jsvm config file 24``` 25 26#### Installation 27 281. compile command 29 30``` 31./build.sh --product-name rk3568 --build-target make_all --target-cpu arm64 --gn-args enable_notice_collection=false --keep-ninja-going 32``` 33 34#### Instructions 35 36[Using JSVM-API](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/napi/Readme-CN.md) 37 38#### Contribution 39 401. Fork the repository 412. Create Feat_xxx branch 423. Commit your code 434. Create Pull Request 44 45