继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Glimmer VM 编译(1)

慕神8447489
关注TA
已关注
手记 1310
粉丝 174
获赞 957

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

webp


webp

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

webp

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

webp

webp

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


webp


webp

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

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


webp

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

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

webp

coffeeScript 


webp


webp

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



作者:zidea
链接:https://www.jianshu.com/p/9df2931a91a3


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP