现在的位置: 首页 > 综合 > 正文

AVM2开源给我们带来什么?

2013年09月01日 ⁄ 综合 ⁄ 共 1656字 ⁄ 字号 评论关闭
 
引用地址:http://blog.eshangrao.com/2006/11/08/294/

FlashPlayer 9的核心AS3解析引擎-AVM2虚拟机开源了,Adobe将其捐献给了Mozilla,并成立了项目Tamarin继续推进AVM2的发展,并将陆续在Mozilla的产品线中加入AVM2,Firefox下一版本3.0的Javascript引擎将会是AVM2。AVM2的源码可以在这里下载到,另外关于Tamarin的FAQ可以看这里

AVM2开源对于开发人员的意义可以看Emmy Huang
的这篇《What Tamarin means to developers》,这里我们只讨论AVM2开源对我们来说可以想到的,大家有不同意见或者补充的请踊跃回复。

首先对于所有的Web开发人员来说,Javascript的性能将大幅提升(为什么会提升,请看这个性能比较),
而随着性能的大幅提升,之前很多因为Javascript性能影响而不能进行的处理,比如加/解密相关的应用、vnc的应用,以及其他一些对于性能有要求
算法等等,都会因为AVM2进入Firefox而出现喷发的可能,当然作为普通用户来说,将会得到更加好的用户体验,而对于Firefox来说,又多了
个向IE斗争的利器。

其次,因为引擎的一致性,那么以后的As3与Javascript类库就可以直接兼容,而且直接降低了As3学习的门槛,一个合格的Javascript程序员,其将也是一个合格的As3程序员。当然这里的类库指的是一些基础性有通用性的类库,比如Adobe的这个AS3类库,将可以直接用于Javascript开发,As3与Javascript的交融将带来Flex开发人员的飞速发展。

再次,Avm2是个很优秀的脚本引擎,现在他开源了,其遵循的是MPL/GPL/LGPL协议,那么如果您的某个项目,
需要一个脚本引擎,那么您可以将其集成进您的项目,而不再需要自己开发一个引擎,是不是很有诱惑力啊,最主要的是,如果你的项目集成的是Avm2引擎的
话,对于你的二次开发用户,其不再需要学习一套新的语法,只要其原来对Javascript/AS3熟悉的话,就算不熟悉,也会因为进行二次开发的学习过
程,积累Javascript/AS3的开发经验,进而对于其的职场生涯也有所帮助。可以遇见的是,不久的将来,将不只是在Mozilla的产品线中出现
AVM2引擎,第2个、第3个以及更多的使用AVM2引擎产品将会出现在市场中,想的更远点,或许Java的下一版本也将包含AVM引擎,以将
Javascript作为其支持的第2个脚本语言,这是后话,有点扯远了…

最后,因为开源后的AVM2将会将吸引更多的开发人员来完善它,估摸着早就有人盯着AVM2了,这样势必加快AVM2的发展,这对于Flex开发来说也是一个利好消息,而对于高级的FLEX开发人员来说,现在也有个深入虚拟机更多的了解AS3的机会。

说了那么多好处,现在来说个可能的坏处,或许也不能称为坏处,因为AVM2的开源,那么对于Flash的反编译工具厂商
来说,这是个天大的好消息,因为对源代码的开放阅读,现在要写一个As3的反编译器将在也不是一个瞎子摸象的过程,形象的说,既然我知道如何解析二进制编
码了,那么如何从二进制编码还原源码,您认为还是很难实现的事情吗?!不过也好,正好符合了GNU的标准,任何软件都应该自由使用、自由阅读其源码、并自
由修改。

总结一下,AVM2开源是个好消息,也体现了Adobe对开源社区的重视,免除了MM被Adobe收购后,某些人对
Adobe这个成天讨要专利,查盗版的“无良“厂家的担心。希望下一个开源的是FlexBuilder(估计不可能,这可是Adobe的生财工具哦),不
管如何说,这里为Adobe道一声彩,实在是一大手笔!赞一个!

以上个人想法,如有不妥,请多拍砖!

Add 20:20,darron schall的blog提到tamarin中带有一个AS3实现的as编译器,其中的evaluator.as很有用哦!

抱歉!评论已关闭.