程序员让前端飞

Glimmer VM 编译(1)

2019-02-09  本文已影响44人  zidea

所谓的编译就是一种翻译器,将源码翻译成为一个可以执行的程序、

浏览器在执行这一行代码前,将代码解析编程成下面这样更低级的可以运行在 CPU 上的语言。这就是浏览器对 javascript 所做的事。

2003 jsmin 是一个简单 C++ 编写的库,就是简单地移除一些没有意义的空格和注释,来减少 javascript 文件的尺寸。然后就是出现了 YUI ,YUI 具有与 jsmin 同样的功能,在此基础引入编码识别(mangling)。

我们将代码中识别符进行替换为简单的符号。

2005 年开始弄 ES4 的主要是 Brendan Eich 和开发了 AS3 的 macromedia(后来是收购 macromedia 的 Adobe)M$ 和 Yahoo(主要是 Douglas Crockford)一开始是表示合作的。2007 年,BE 和 Adobe 已经在 ES4 上花了两年时间,但 M$ 和 DC 突然表示觉得 ES4 太过庞大,并添加了太多他们不想要的东西。最终导致 ES4 难产。

然后在 2008 - 2010 年期间,重现出学多语言适合开发 web 应用,不过他们的本质都是最终编译为 javascript 来运行在浏览器上。

Cappuccino是一个开源的应用程序框架,它的目的是让使用者开发出观感和桌面程序相同的Web应用程序。Cappuccino采用了一种新的的叫做Objective-J的编程语言。这是以Objective-C为蓝本,完全构建于JavaScript。代码开来像 Object-C。这里我们只需要专心地写 Objective-J 无需考虑样式和结构,也就是开发人员无需考虑 html 和 css 的问题,我们可以专心地写业务。

下面就是 Objective-j 写的 helloworld 页面的代码。

coffeeScript 

这些项目都有一个共同特点就是将其他语言编译为 javascript,GWT 是将 java 编译为 javascript,Cappuccino 将语言便以为 javascript。

上一篇下一篇

猜你喜欢

热点阅读