Web应用程序的速度与规模
综上所述,asm.js带来更理想的运行速度,而TypeScript则提供适用于大型Web应用程序的JavaScript开发环境。但二者无法同时解决这两大难题。
而这正是谷歌Dart语言的预定目标。根据谷歌公司内部邮件的说法,Dart希望成为一款“JavaScript的终极替代方案,正如用于Web开发的通用语在开放Web平台上的角色。”
这个目标可谓雄心勃勃,那么Dart到底是什么?它是一种开源编程语言,在设计之初就考虑到了大型应用程序开发以及高运行性能两大实际需求。事实上,将Dart称为一种语言并不贴切,因为Dart本身还捆绑有一款验证器及其它各种开发工具。由Dart编写的应用程序能够运行在Dart虚拟机当中,且运行速度可达到浏览器上JavaScript速度的两倍。目前只有谷歌的开源Chomium定制浏览器版本才支持Dart,该浏览器名为Dartium,但相信Chrome对其实现全面支持将只是时间问题。
编译为JavaScript
Dart代码可以通过dart2js编译器转化为JavaScript内容,从而以兼容方式运行在一般浏览器当中。尽管由Dart编译而成的JavaScript代码在运行速度上无法与本地Dart代码相提并论,但它仍然比开发人员们人工编写的JavaScript代码快得多,软件开发者兼《Dart在行动》一书作者Chris Buckett解释道。
“当代码由Dart转化为JavaScript时,编译器所做的类似于摇动树干以震下枝叶,”Bucket指出。在JavaScript方面,即使只需要其中一项功能、大家也不得不添加一整套库。但在“摇树”原则的帮助下,Dart能够在向JavaScript转化的过程中只纳入必要的单项功能而非完整库。Dart还会对我们的代码进行分析并有选择地进行类型检查,从而删除一部分不必存在的内容,Buckett表示。而在人工编写的JavaScript代码中,我们将被迫以非常保守的方式处理内容。
杀手级Dart应用
目前除了谷歌公司之外,还没有哪家浏览器供应商愿意直接为Dart提供支持,因此Dart成为另一种Web通用语言的可能机微乎其微。不过Buckett认为,杰出性能与简易规模化开发两大优势——外加Dart工具的现有生态系统——很可能会推动Dart走上普及之路。
“在短期内我们还不太可能在其它浏览器中看到Dart虚拟机的出现,但如果Dart能够拿出几款杀手级应用程序成品,而且在Chrome当中飞速运行——例如下一个Facebook版本——那么人们很可能希望能在自己的浏览器中看到Dart的身影,”Buckett提出假设。“这种态势在移动浏览器领域出现的可能性更高,因为JavaScript正是移动设备电池寿命的主要威胁之一。”
现在JavaScript开发人员还迎来了另一条好消息——从JavaScript到Dart的技能转化过程非常简单,不过Dart的编程要求比JavaScript要更严格一些。总而言之,任何一位曾经利用Java或者C#等服务器端语言从事过开发工作的技术人员都能够打理好这些额外限制,因此Dart的未来可谓一片光明。
译文链接:http://developer.51cto.com/art/201309/409990.htm
原文链接:http://www.cio.com/article/739042/Can_Google_Dart_Solve_JavaScript_s_Speed_and_Scale_Problems_?page=2&taxonomyId=3038
本文转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。