争论:Ajax技术是否即将没落?

2016-01-29 11:23 2 1 收藏

争论:Ajax技术是否即将没落?,争论:Ajax技术是否即将没落?

【 tulaoshi.com - Javascript 】

 
  在孟岩老师11月21日的blog(http://blog.csdn.net/myan/archive/2006/11/21/1402346.aspx)中说他惊艳于微软公司新近推出的界面开发工具Expression,并且预言基于Web标准(通常即XHTML+CSS+javascript)的界面开发技术很快就会没落。孟岩预测:“最迟不超过2008年,在WPF、Flash(Apollo)等RIA技术的夹攻之下,越来越多的Web应用将同时部署传统Web页面和新的RIA UI。”
  对于这个预测,我和一些朋友认为孟岩老师过于乐观了。我预测至少到2010年,基于Web标准的界面开发技术仍然将是Web界面开发的主流技术,而这些技术的集大成者就是Ajax。Ajax技术在最近两年中取得了很大的发展,并且仍然在迅速发展的过程中,现在就断言Ajax技术即将没落还为时尚早。
  诚然,从纯技术的角度来看,我们也早就认为XUL/XAML一类使用XML来描述界面组件和布局的技术肯定是Web界面开发技术的发展趋势。W3C今年成立了一个工作组,希望将XUL、XAML、MXML等几种界面描述语言统一为一种标准的格式(http://www.w3.org/2006/appformats/)。所以我们认为孟岩老师所看到的趋势是没有大问题的。从纯技术的角度来看,将来的Web界面开发肯定会发展到这种技术。
  然而,能看到趋势当然很重要,但是我们还是需要解决很多现实的问题。我在这里提出几个问题来与大家探讨。
  第一个问题是:这种趋势将会以多快的速度成为现实?
  技术的发展和演进往往都是一个长期的过程。面向对象开发取代面向过程开发、Java取代C++、Ruby逐渐取代Java都是一个长期的过程。孟岩老师所预测的2年和我所预测的4年似乎相差不大,但是对于我们现阶段所要采取的行动其实影响很大。
  即使正如孟岩老师所预言的,这确实是技术发展的趋势又能怎样?我们是否一定要在今天为明天和后天发生的事情而买单。过早为将来发生的事情买单,很可能会代价高昂。这跟炒股差不多,有经验的玩家会在最适当的时机入手。过早入手、过晚入手,都会蒙受损失。在这种趋势成为现实之前,我们是否坐等共产主义的实现?我认为等待并不是一种积极的态度。

  第二个问题是:Ajax有何优点?
  我认为孟岩老师并没有充分地看到Ajax的优点。孟岩说:“昨天我还在说Ajax是过渡技术,没想到几个小时之后就得到印证。” 其实严格说来,任何的技术都可以称为是过渡技术,但是这并不会妨碍使用这种技术来为用户创造价值。孟岩只看到了使用基于Web标准的界面开发技术开发效率低下的一面。但是目前国内做界面开发的开发者有多少人真正理解了Web标准呢?根据笔者的经验,采用完全的CSS布局,将页面的结构、表现、行为三部分分离开,注重页面各部分的重用。经过一段时间的积累之后,基于Web标准的界面开发完全可以达到比较理想的开发效率。而配合使用Dojo、Scriptaculous、YUI等成熟的Ajax组件库,还可以更进一步提高界面的开发效率。在笔者看来,影响开发效率的问题主要有两个方面:
  1 Web界面开发者没有充分理解Web标准。 
  2 Web界面开发者没有尝试过组件化的开发方式。
  相对于其他技术而言,Ajax最大的优点有这三点:
  1 Ajax是完全基于Web标准的技术,Ajax所用到的所有的技术都是真正的Web标准。 
  2 Ajax应用可以毫无障碍地部署到几乎所有的桌面电脑上。 
  3 Ajax应用的开发和部署成本很低。
  对于第一个优点,有人可能会争论说,标准其实并不重要。例如EJB 2.x是标准又如何,现在不是也一样被抛弃了吗?但是这两种标准是不可相提并论的。EJB的标准在推出之时,完全没有经过开发实践的检验,与开发实践严重脱节。然而Web标准却是从开发实践中积累而来的。Ajax所基于的这些Web标准都是先有了非常成熟的应用和成功的商业案例之后才会形成标准。Web标准之所以成为了今天这个样子,是经得起历史考验的。如同TCP/IP标准一样,它仍然会长期沿用下去。 [next]
  第二个优点其实是第一个优点所派生的。上世纪90年代末,在Web标准组织和W3C的不懈努力下,结束了浏览器大战,各种浏览器都承诺支持真正的Web标准。今天这种支持到了开花结果的时候,结出的果实就是诞生了一种称作Ajax的新技术。正是因为今天所有主流的浏览器都已经能够很好地支持Web标准(通常即XHTML+CSS+JavaScript),而几乎所有桌面电脑上都安装了某种主流的浏览器(IE、Firefox/Mozilla、Opera、Safari、etc.),因此Ajax应用可以无痛地部署到几乎所有的桌面电脑上。尽管今天不同的浏览器对于Web标准某些部分的理解还略有歧义,实现上略有差异。但是只要基于成熟的组件库来做开发,这些差异可以被最小化,已经不会成为开发的障碍。
  如果我在这两三年内想建立一个电子商务网站,却只能部署到几百万个安装了XAML render引擎的用户机器上(而不是像Ajax那样几乎所有的桌面电脑)。除非我的脑子坏掉了,我不会做出这样的选择。对于面向互联网的应用而言,基于真正Web标准来做开发,并且随着Web标准及其浏览器实现的发展而演进,是实现最大商业利益的必然选择。

来源:https://www.tulaoshi.com/n/20160129/1482286.html

延伸阅读
标签: Web开发
AJAX浅谈 AJAX技术在1998年前后开始应用于Web,之后经由Google把它发扬光大,让更多人了解到JavaScript原来可以这样使用,而不再是过去广告字显示或画面渐层等刻版印象。如今AJAX已不再是新名词或新技术,而最经典、有名的代表作算是Google Suggest及Google Maps。 AJAX的定义 AJAX全称为“Asynchronous JavaScript and ...
标签: Web开发
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合。Ajax并没有创造出某种具体的新技术,它所使用的所有技术都是在很多年前就已经存在了,然而Ajax以一种崭新的方式来使用所有的这些技术,使得...
标签: Web开发
16.6关于Ajax技术的注意事项 使用JavaScript来实现客户端/服务器的通信,极大地扩展了JavaScript语言的功能。但是,使用这种强大功能的同时,也带来了一些需要注意的问题。 在这一小节中,前两个问题将分别讨论使用Ajax技术时“同源策略”的问题,以及使用XMLHttpRequest对象时所带来的ActiveX控件问题。第三个问题将讨论Ajax...
标签: Web开发
    什么是 AJAX? AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人们开始意识到其重要性. 这两项被忽视的性能是:     * 无需重新装载整个页面便能向服...
标签: Web开发
   近日学习了一下AJAX,照做了几个例子,感觉比较新奇。    第一个就是自动完成的功能即Autocomplete,具体的例子可以在这里看: http://www.b2c-battery.co.uk    在Search框内输入一个产品型号,就可以看见效果了。    这里用到了一个开源的代码: AutoAssist ,有兴趣的可以看一下。  ...

经验教程

115

收藏

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