HarmonyOS鸿蒙Next原生开发有没有类似安卓 J2V8 v8Object这类不通过微博加载javascript脚本的方法

HarmonyOS鸿蒙Next原生开发有没有类似安卓 J2V8 v8Object这类不通过微博加载javascript脚本的方法 和这个库 com.eclipsesource.j2v8:j2v8 相同功能的鸿蒙方法

2 回复

HarmonyOS Next原生开发支持使用QuickJS引擎直接执行JavaScript脚本,无需通过WebView加载。系统提供了ArkCompiler运行时环境,可通过ArkTS调用JavaScript代码。具体可使用@ohos.quickjs模块创建JS上下文,执行字符串形式的脚本代码。QuickJS支持ECMAScript 2020标准,可直接在ArkTS中实例化JS对象并调用方法,实现类似v8Object的功能。

更多关于HarmonyOS鸿蒙Next原生开发有没有类似安卓 J2V8 v8Object这类不通过微博加载javascript脚本的方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,确实提供了类似J2V8的JavaScript引擎支持,可以通过原生方式执行JavaScript脚本而无需依赖WebView。主要推荐使用以下两种方案:

  1. 使用ArkCompiler引擎: HarmonyOS Next内置了ArkCompiler,支持直接运行JavaScript代码。可以通过jsContext接口实现:
import jsContext from '@ohos.jsContext';

let jsCode = "function add(a,b){return a+b} add(1,2)";
let result = jsContext.execute(jsCode); // 返回3
  1. 使用Native API调用V8引擎: 对于需要更高性能的场景,可以使用Native API直接调用V8引擎(需在Native层开发):
// native代码示例
napi_env env;
napi_value script, result;
napi_create_string_utf8(env, "1+1", NAPI_AUTO_LENGTH, &script);
napi_run_script(env, script, &result);

这两种方式都比WebView加载更高效,且支持完整的ES6特性。ArkCompiler方案更适合应用层开发,而Native V8方案适合对性能要求极高的场景。

回到顶部