J2V8:在Java中运行JavaScript

说到J2V8之前,需要首先说说由Google开发的V8 JavaScript 引擎 , JavaScript引擎的作用就是对JavaScript代码进行解析并且运行。V8是一个比较独立的模块,它可以嵌入到我们自己的应用中,这样就可以在我们的应用中运行JavaScript代码了,V8 JavaScript 引擎 使用C++编写的,如果我们需要在Java中使用V8引擎,就需要首先使用JNI对其进行封装,J2V8就是对V8  JavaScript 引擎 的 Java 封装,所以在Java中如果引入了J2V8,我们就可以在Java中运行JavaScript代码。


源码地址:https://github.com/eclipsesource/J2V8

J2V8的优势

1、J2V8使得使用JavaScrpit开发Android/IOS程序成为了可能

具体可以看看Tabris.js这个框架,它就是基于J2V8编写的,官网地址为:https://tabrisjs.com/

2、V8是一个使用C++编写的高性能的JS运行环境,相对于其他的框架具有明显的性能优势


J2V8的特点

1、每个V8对象都可以被一个Handle所引用

2、每个对象都存放在一个V8的永久对象存储区

3、对象必须被显式的释放

4、可以直接访问原始类型对象,不需要转换为包装类的实例

5、单线程


J2V8库的下载和配置

下面我们以Android为例,来看看它的基本配置方法。

我们可以根据上面的下载源码按照说明自行编译。也可直接使用官方编译好的aar格式的类库直接集成,类库下载地址:

http://central.maven.org/maven2/com/eclipsesource/j2v8/j2v8/

选择对应的版本进行下载,然后直接引入到我们Android项目的lib目录下。

J2V8:在Java中运行JavaScript


基本用法


1、运行JS脚本

J2V8:在Java中运行JavaScript


2、资源的创建和释放

J2V8:在Java中运行JavaScript


3、V8Objects 和 V8Arrays

J2V8:在Java中运行JavaScript


4、创建V8Objects 和 V8Arrays

J2V8:在Java中运行JavaScript


5、Lists 和 Maps

J2V8:在Java中运行JavaScript


6、Java中调用JS方法

J2V8:在Java中运行JavaScript


7、Java回调

J2V8:在Java中运行JavaScript



J2V8:在Java中运行JavaScript


J2V8:在Java中运行JavaScript


8、Java异常

J2V8:在Java中运行JavaScript


9、JS异常

J2V8:在Java中运行JavaScript


10、支持调试

J2V8:在Java中运行JavaScript


结尾

ECMAScript定义了语言的标准,JavaScript引擎根据这个标准来对解析并且运行JavaScript代码,也就是说我们的JavaScript代码就是运行在JavaScript引擎之上,如果需要运行JavaScript代码就必须有JavaScript引擎。后期会对JavaScript引擎基本的原理和使用进行讲解。

J2V8:在Java中运行JavaScript
欢迎关注我的公众号:DroidMind
精品内容,独家发布