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

2016-01-29 11:22 5 1 收藏

Web开发:Javascript是Web开发正确方向的一个错误吗?,对Web标准的修订做得越多,Web开发的正确方向越值得怀疑。InfoWorld的 Neil McAllister对Web开发的现状与未来做了很好的思考。最近,ECMAScript 4标准被弃用,统一为ECMAScript 3.1,如果任ECMAScript 4发展,Javascript将带来巨大变化。。。。。。。。

【 tulaoshi.com - Javascript 】

对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开发界来说,我们是否应该跳出这个圈子思考问题?

来源:http://www.tulaoshi.com/n/20160129/1482242.html

延伸阅读
标签: Web开发
一、 引言 在XMLHttpRequest对象和AJAX给用户和开发者带给巨大好处的同时,也许还有一些问题你没有考虑到-但是的确到了值得引起每个人注意的时候了。 甚至非常讨厌的人也都喜欢XMLHttpRequest,因为它提供给程序员真正梦想的功能。也正是因为有了这样的新技术,Web应用软件开始变得具有象桌面应用软件相似的行为。如今,问题总是象"假定为……...
Stripes是一个以让程序员的web开发简单而高效为准则来设计的基于动作的开源Java web框架。本文将介绍Stripes与其它如Struts之类基于动作的框架的区别和其提供的一些存在于Ruby on Rails之中的简单性。 Stripes是一个以让程序员的web开发简单而高效为准则来设计的基于动作的开源Java web框架。传统的Java web开发着眼于借去耦(Decoupl...
标签: Web开发
Cheat Sheet 一词在中文中并没有很贴切的对译,大概是考试作弊条一类的东西,这要求 Cheat Sheet 必须短小精悍又覆盖广泛,作为 Web 开发与设计师,免不了在工作时查询大量资料,某个 Web 色值,某个 JavaScript 库的核心语法,这类资料如果攒齐了,怕有半间屋子那么多,如果用 Cheet Sheet 也许几十页纸就够了,本文收集了近百份用于 Web 开...
----Internet无疑是一种重要的信息传播媒体,随着其迅猛发展,将会有越来越多的企业、商团、政府机关、学校、科研机构需要在Internet上建立自己的网点。建设一个网点,硬件上需要专用服务器、集线器、路由器,租用数据通信用的专线,软件上需要安装网络操作系统和Internet服务器(www、FTP和gopher服务器),更为重要的是,需要编写大量的I...
标签: Java JAVA基础
前言 如果开发者正开发或维护基于Servlet的Web应用,则Servlet规范建议最好能够看看。因为它含有的内容对于Web应用开发者理解Servlet容器的工作机理很有帮助。 其中,规范给出了Servlet容器是如何处理客户请求的。Servlet容器将会根据web.xml配置文件中定义的各个Servet而创建相应的单例。因此,多个客户请求可能...

经验教程

371

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部