-
WebKit Web浏览器引擎
WebKit是开源的Web浏览器引擎,苹果的Safari、谷歌的Chrome浏览器都是基于这个框架来开发的。WebKit 还支持移动设备和手机,包括iPhone和Android手机都是使用WebKit做为浏览器的核心。 WebKit 是一个开源项目,其起源可追溯到 K Desktop Environment (KDE)。WebKit 项目催生了面向移动设备的现代 Web 应用程序。虽然设备本身的能力和形态因素都相当重要,但移动用户最热衷的仍然是内容。如果移动用户可用的内容只是 Internet 用户可用内容的一个很小的子集,那么用户体验充其量也只能划分为二等。 WebKit 还应用在了桌面的 Safari 浏览器内,该浏览器是 Mac OS X 平台默认的浏览器。不管我们讨论的是桌面版本还是 iPhone 或 Android 上的浏览器引擎,WebKit 均优先支持 ...
-
SpiderMonkey JavaScript脚本引擎
SpiderMonkey是Mozilla项目的一部分,是一个用C语言实现的JavaScript脚本引擎,另外还有一个叫做 Rhino 的Java版 本。 为了在SpiderMonkey中运行JavaScript代码,应用程序必须有三个要素:JSRuntime,JSContext和全局对象。 运行时环境 JSRuntime,为其中的JavaScript变量、对象、脚本和应用程序中使用的上下文分配空间。每个JSContext和脚本中的每个对象都生活在一个 JSRuntime中。他们不能转移到其他运行时上或在与其它运行时共享。一般来说大多数应用程序只需要一个运行时环境。 上下文 JSContext,就像是一台小机器,它涉及JavaScript代码和对象的很多东西。它可以编译和执行脚本、获取和设置对象属性、调用 ...
-
TypeScript 微软的 JavaScript 替代
TypeScript 是微软新推出的一种语言,基于 JavaScript ,最终通过工具编译生成 JavaScript。 TypeScript 兼容JavaScript,可以载入JavaScript代码然后运行。TypeScript与JavaScript相比进步的地方 包括:加入注释,让编译器理解所支持的对象和函数,编译器会移除注释,不会增加开销;增加一个完整的类结构,使之更新是传统的面向对象语言。 示例代码: class Greeter { constructor(public greeting: string) { } greet() { return "<h1>" + this.greeting + "</h1>"; } }; var greeter = new Greeter("Hello, world!"); var str = ...
-
Continuum 基于JavaScript的ES6虚拟机
ECMAScript6(ES6)规范计划在今年正式发布,作为JavaScript的核心,新版本的一些特性可能会让目前的开发方式发生巨大的变化。目前一些现代浏览器(如Chrome、Firefox等)中已经逐步实现了ES6的一些新特性。 Continuum是一个基于JavaScript构建的ES6虚拟机,它可以从源代码中集合字节码并在一个ES6运行时环境中执行。该虚拟机的代码使用ES3编写,这意味着它也可以运行在一些老版本的浏览器(如IE6)中。 目前该虚拟机可以实现的ES6特性包括: 解构赋值和参数 扩展参数和数组初始化 rest参数 类和super类 箭头函数(Arrow Function) 块范围 新的Math、Object、String 函数 对象字面量的简洁方法 可变、可删除的proto ...
-
Nashorn JavaScript 运行环境
Nashorn 项目的目的是基于 Java 实现一个轻量级高性能的 JavaScript 运行环境。该项目使得 Java 程序员可在 Java 程序中嵌入 JavaScript 代码,通过 JSR-223 和 jrunscript 命令行工具开发 JavaScript 应用。
-
WebKitGTK+
WebKitGTK+是可移植渲染引擎 WebKit 在 GTK+ 平台下的接口。
-
SquirrelFish Extreme JavaScript引擎
几周前 Google Chrome 发布之后,因其创新的 UI 以及出色的 JavaScript 执行效率而备受赞誉。最近,作为 Safari 与 Chrome 浏览器内核的 WebKit 发布了一个新 JavaScript 引擎,SquirrelFish Extreme,经过测试,该引擎的在执行速度上明显超过 Chrome 的 V8。下图是性能的比较
-
jav8 V8 的 Java 封装
jav8 实现了 Google 的 V8 JavaScript 引擎的 Java 封装. 支持跨平台。 使用方法: ScriptEngineManager factory = new ScriptEngineManager(); ScriptEngine engine = factory.getEngineByName("jav8"); try { engine.eval("print('Hello, world!')"); } catch (ScriptException ex) { ex.printStackTrace(); }
-
Carakan JavaScript引擎
Opera全新JS引擎Carakan,目前数度是其他已存在JavaScript引擎(基于SunSpider)的2.5倍。其在转化为本地机器代码时专门针对正则表达式做了优化,有意思的是,Chrome浏览器也刚刚宣布了此点。 Carakan引擎的三个显著新特性: 1.基于寄存器的字节码: 之前的引擎“ECMAScript”使用的是基于堆栈字节码指令集,这种基于对堆栈存取的方法对于生成字节码是比较简单的。 在新的引擎里,我们采用了基于寄存器的字节码指令集,这种方式采用了固定大小的寄存器,每次操作都可以访问任意的寄存器,更少的指令被执行并且不会拷贝大量的数据。 2.本地代码生成: 我们将整个或部分“ECMAScript”引擎编译到本地代码中以达到更快的执行速度。 3.自动对象分类: 在新的引擎中每个对象都是被封装成类以存取不同的数据 ...
-
JaegerMonkey JavaScript引擎
Mozilla预计将在9月1日发布JaegerMonkey引 擎,因此JaegerMonkey将被整合到Firefox 4.0。 V8基准测试显示,JaegerMonkey引擎积分为6829 ms,TraceMonkey引擎积分为6841 ms。Sunspider测试显示,JaegerMonkey引擎仍然要落后于TraceMonkey引擎——754 ms vs. 718 ms,而且JaegerMonkey引擎运行速度仍然落后于Webkit浏览器,Chrome和Safari的积分都要低于400 ms,Chrome浏览器的积分甚至逼近300 ms。Opera的积分也低于300s。 JaegerMonkey引擎在今年初发布是,其目标是突破Sunspider测试的500 ms大关。当然,这已经无法满足一般用户的需求了,毕竟连IE9开发版积分都已经低于500 ms ...