• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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