先前,ECMA技术委员会成员在下一代JavaScript语言上存在分歧,现在结果出来了,技术委员会放弃了ECMAScript 4.0,最终敲定了渐进版ECMAScript 3.1,又名“Harmony(和谐)”。
去年,Adobe、Mozilla和微软就曾在JavaScript标准更新上发生争执,Adobe建议将ActionScript 3语言作为下一代的ECMAScript 4.0 。大规模应用程序的发展或许对Adobe有利,但是对大多数人来说这没有任何意义。
实际上,设计或是使用通用程序设计语言的观念是不可行的。曾经,那些精英们坐在一起为终极编程语言制定规范,它安全、稳定、高效,而且似乎没有什么需要补充的了。还记得Ada吗?或许你已经彻底把它忘了,Ada语言的使用可大大改善软件系统的清晰性、可靠性、有效性、可维护性,在当时是一种无与伦比的大型通用程序设计语言,也是当时最复杂、最完备的软件工具。但是,这种优点恰恰成了它的致命弱点,大多数编程人员都选择了简单实用的C语言。
所以,如果没有人能使用这种完美的语言来进行系统编程,那么它有什么用呢?当今我们更应该清醒地认识到没有哪个单一的程序可以胜任所有的工作。JavaScript也不例外。
早在网页浏览器的初期,我们就开始使用JavaScript,它短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力,同时它又是专门为制作Web网页而量身定做的一种简单的编程语言,因此广受欢迎。许多年过去了,我们对它的要求越来越高,总想用它来完成更多的功能,但事实是,JavaScript不是万能的。
与其强加给浏览器越来越多的功能,倒不如将用户界面与Client-side Logic分开,让浏览器来处理View,将控制器从表示层中独立出来。
目前我们已经有了一种方法:使用浏览器插件。当然,大多数Web开发人员都会告诉你,插件是一件坏事。你每次都要强迫用户下载安装这个插件,这等于在你的编码前设置了一个路障。但是事实是这样吗?
早期的浏览器插件是为了播放多媒体,但是考虑却欠周到,因为当时大部分的用户都是拨号上网,难怪没有人愿意下载这些东西。
Google Gears就是一个反例,自从推出以来就受到用户的喜爱。这是Google推出的一个开源的浏览器插件,使Google以及第三方的在线服务可以离线运行和使用。
人们往往把注意力放在了Gears的可以让Web应用程序离线使用的功能上,却忽略了Workerpool模块,它通过在后台异步执行JavaScript指令能够实现加速AJAX应用的效果,这样就解放了浏览器来处理用户交互和页面显示。
目前很多企业中使用了Lotus Notes,它提供了强大的实现运行办公自动化的平台,包括工作流自动化和群件系统,电子邮件系统,知识管理系统(人工智能首次由实验室走向应用)等功能。难道这就是浏览器的明天吗?