README.en.md
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