当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Web开发:Javascript是Web开发正确方向的一个错误吗?

Javascript
jQuery开发者都需要知道的5个小技巧
Extjs学习笔记之六 面版
Javascript 中的类和闭包
IE6下JS动态设置图片src地址问题
Extjs学习笔记之七 布局
Extjs学习笔记之八 继承和事件基础
Extjs TriggerField在弹出窗口显示不出问题的解决方法
JavaScript中的集合及效率
利用js获取服务器时间的两个简单方法
在html页面上拖放移动标签
了解jQuery技巧来提高你的代码
JavaScript 页面坐标相关知识整理
Javascript UrlDecode函数代码
JQuery 遮罩层实现(mask)实现代码
jQuery 页面 Mask实现代码
Javascript的构造函数和constructor属性
js或css文件后面跟参数的原因说明
将CKfinder整合进CKEditor3.0的新方法
jQuery UI-Draggable 参数集合
jQuery 行级解析读取XML文件(附源码)

Web开发:Javascript是Web开发正确方向的一个错误吗?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 191 ::
收藏到网摘: n/a

对Web标准的修订做得越多, Web开发的正确方向越值得怀疑。InfoWorld的Neil McAllister对Web开发的现状与未来做了很好的思考。最近,ECMAScript 4标准被弃用,统一为ECMAScript 3.1,如果任ECMAScript 4发展,Javascript将带来巨大变化,Adobe的Ed Rowe告诉作者,大部分人对Javascript一类语言存在障碍,这是为什么Adobe当初加入ECMAScript 4阵营的原因,Adobe以及ECMAScript 4希望带来一些适于大规模程序的概念。

然而,尽管大规模程序的开发对Adobe可能是好的,可以肯定它未必对任何人都可行,传统程序语言就是一个例子。

对任何Java程序开发正规军来说,强类型,包装,以及命名空间尽管对维护大型程序来说可能很容易,但对Web程序员来说几乎没有什么用处,Web程序员仅仅想通过编程对UI搞一点花样。

事实上,ECMAScript委员会想创造一种万能编程语言的初衷非常值得置疑,曾经,有一群非常聪明的人联合起来,想写一个终极语言,这种语言非常安全,有活力,且非常标准化,几乎没有需要解释的地方,这就是Ada,现在没有人还记得Ada,因为这种语言非常严格,缺乏灵活,人们宁愿使用C。

既然没有人能够创造一个终极的,完美的传统编程语言,又怎么能指望我们可以为Web创造一个这样的语言?我们越多讨论大规模 Web 程序,越应该知道,单一的编程语言将永远无法适合任何工作。

作者非常喜欢Model-View-Controller设计模式,然而这个模式并不适合于任何场合,不过这个模式可以为程序开发提供一套指南,总体上说,Model-View-Controller的核心是从数据层,业务逻辑层,分离展示层。浏览器可以算作View(展示层),我们不应强迫它同时成为业务逻辑层。

自从有了Javascript,我们对它的指望越来越多,企图用它来创建整个程序,事实上,Javascript不可能适合任何任务。我们不应该将越来越多的业务功能硬塞进浏览器,应该让浏览器专心作展示,而在其它地方展开业务逻辑。

比如,插件。当然,很多Web开发者会告诉你插件不是好东西,每次你强迫用户下载安装插件,都相当于在你的代码前面设置了障碍,事实是这样吗?

早期的插件绝大多数用来提供多媒体功能,很快就成为在线营销工具,那时,人们使用拨号上网,但很少有人怀疑人们对插件的耐心。

现在的例子是Google Gears,一次性安装Google Gears,任何基于Google Gears的程序都获得额外的功能。目前,基于Google Gears的站点不仅包含Goolge Docs与Google Reader,也包含 MySpace, Picasa甚至Wordpress。

人们倾向于Google Gears的离线运行Web程序的能力,却忽视了WorkerPool模块,WorkerPool允许 Javascript在后台执行,独立于网页代码。WorkerPool 是独立的代码执行引擎,只不过刚好象普通浏览器那样运行相同的Javascript代码。

为什么要用JavaScript,而不是Python, Lisp或其它。如果有一种应用有足够的说服力,就有足够的动力将它设计成插件,尤其是在现在的宽带世界。这样的例子已经存在,Adobe的Flash插件就可以执行ECMAScript4标准的脚本,其它平台还包括Curl与REBOL。

作为Web开发者,我们羞于选择其它道路,只是在无休止地对JavaScript进行改进和标准化。因为那是 Web 标准,我们告诉自己,JavaScript 是一个纯净的选项。

但如果只拘泥于单一的方式,我们为什么还要费这番力气?我们已经拥有一个功能齐备的客户端做任何事情,从数据库,到e-mail,它已经安装到成千上万的企业,这就是Lotus Notes。

这就是我们前进的方向?这就是将来的浏览器模型?或者,对Web开发界来说,我们是否应该跳出这个圈子思考问题?