JavaScript 引擎开源项目
来源:互联网 发布:石油钻井英语翻译软件 编辑:程序博客网 时间:2024/06/07 18:04
JS引擎能够解析JS脚本,通常被依附于浏览器中,例如Safari所使用的JavaScriptCore、Google Chrome所使用的V8和FireFox所使用的SpiderMonkey等等。也被用作移动端的跨平台开发,例如NativeScript在iOS端和Android分别使用了JavaScriptCore和V8,ReactNative则都使用了JavaScriptCore。
V8 — 开源,由Google开发,用C++编写的
https://github.com/v8/v8
V8 最早被开发用以嵌入到 Google 的开源浏览器 Chrome 中,但是 V8 是一个可以独立的模块,完全可以嵌入您自己的应用,著名的 Node.js( 一个异步的服务器框架,可以在服务端使用 JavaScript 写出高效的网络服务器 ) 就是基于 V8 引擎的。
在Android开发中,相关接口需要通过一层包装进行调用,J2V8是一套针对V8的Java绑定。J2V8的开发为Android平台带来了高效的Javascript的执行环境,其以性能与内存消耗为设计目标。它采用了“基本类型优先”原则,意味着一个执行结果是基本类型,那么所返回的值也就是该基本类型。它还采用了“懒加载”技术,只有当JS执行结果被访问时,才会通过JNI复制到Java中。
https://github.com/eclipsesource/J2V8
J2V8的团队开发的一套移动端跨平台框架Tabris.js,支持Android和iOS平台,又于近期宣布支持Windows 10。该框架旨在编写一份JavaScript代码,而能生成Android和iOS两个平台的本地应用。它在Android上使用了J2V8作为JS引擎方案,在iOS上使用系统自带的JSCore。
https://tabrisjs.com/
Rhino — 由Mozilla基金所管理,开源,完全用Java开发
https://github.com/mozilla/rhino
SpiderMonkey —第一个JavaScript引擎,最早用在Netscape Navigator上,现在用在Firefox上。
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
JavaScriptCore — 开源,以Nitro销售,由苹果公司为Safari开发
JavaScriptCore是一个在WebKit中提供JS引擎的开源框架,由于其使用C语言编写,因此在Android开发中并不能直接使用。
https://github.com/WebKit/webkit/tree/master/Source/JavaScriptCore
Github上的开源项目AndroidJSCore能够帮助开发者经过调用Java接口而使用JavaScriptCore。
https://github.com/ericwlange/AndroidJSCore
在iOS、Android的模拟器或是真机上,React Native使用的是JavaScriptCore,也就是Safari所使用的JavaScript引擎。
Weex 的 iOS 和 Android 客户端中都会运行一个 JavaScript 引擎,来执行 JS bundle,同时向各端的渲染层发送规范化的指令,调度客户端的渲染和其它各种能力。在 iOS 下Weex选择了 JavaScriptCore 内核,而在 Android 下选择了 UC 提供的 v8 内核。无论是从性能还是稳定性方面都提供了强有力的保障。
微信小程序运行在三端:iOS、Android 和 用于调试的开发者工具;在 iOS 上,小程序的 javascript 代码是运行在 JavaScriptCore 中;在 Android 上,小程序的 javascript 代码是通过 X5 内核来解析;在开发工具上, 小程序的 javascript 代码是运行在 nwjs(chrome内核) 中
KJS —KDE的引擎最初由Harri Porten开发,用于KDE项目的Konqueror浏览器
https://github.com/kframework/javascript-semantics
Chakra (JScript9) — Internet Explorer
https://github.com/Microsoft/ChakraCore
Chakra (JavaScript) — Microsoft Edge
Nashorn— 开源为OpenJDK的一部分,由Oracle的Java语言和工具组开发
Nashorn由Oracle开发并维护,从JDK 8开始,Rhino被Nashorn代替,成为JDK默认JS引擎。Nashorn同JDK 8一同发布和开源,较Rhino而言性能更好,但不支持Android Dalvik虚拟机。
JerryScript — 是用于物联网的轻量级引擎
https://github.com/jerryscript-project/jerryscript
原文链接
http://www.zcfy.cc/article/how-javascript-works-inside-the-v8-engine-5-tips-on-how-to-write-optimized-code-4033.html?t=new
https://neyoufan.github.io/2016/12/23/android/Android%20Js%E5%BC%95%E6%93%8E/%E5%9C%A8Android%E4%B8%8A%E4%BD%BF%E7%94%A8JS%E5%BC%95%E6%93%8E%E6%98%AF%E4%B8%80%E7%A7%8D%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84%E4%BD%93%E9%AA%8C%EF%BC%9F/
https://www.ibm.com/developerworks/cn/opensource/os-cn-v8engine/index.html
https://weex.apache.org/cn/guide/intro/how-it-works.html
http://www.jianshu.com/p/fe7a8737680f
- JavaScript 引擎开源项目
- 开源的JavaScript引擎实现:Rhino
- 开源项目之V8引擎
- 工作流引擎WorkFlow开源项目
- verlet-js:超酷的开源JavaScript物理引擎
- JavaScript引擎
- 数据挖掘|推荐引擎|开源项目列表
- 【开源项目10】安卓图表引擎AChartEngine
- 开源项目越来越青睐 JavaScript
- 开源项目越来越青睐JavaScript
- 数据引擎-阿里开源引擎OceanBase
- 利用开源HTML5引擎lufylegend.js结合javascript实现的五子棋人机对弈
- [开源推荐]PhysicsJS:基于JavaScript的强大的物理引擎
- JavaScript语法着色引擎
- SpiderMonkey:Javascript引擎
- C#调用JavaScript引擎
- Javascript模板引擎
- JavaScript V8引擎
- 关于list的复制问题
- POJO与PO
- 杭电acm1003 Max Sum
- css
- 程序员如何摆脱平庸
- JavaScript 引擎开源项目
- 记录关于android广播(无序)接收不到的问题解决思路
- Java开发中的23种设计模式详解
- hibernate.cfg.xml 配置
- RxJava介绍
- 003
- spring-boot动态添加、删除定时任务
- Python网络数据采集
- 用jQuery-File-Upload上传Excel文件(ASP.NET MVC)[附源码下载]