在CSDN首页上用大标题写着“谁来革AJAX的命,Flash还是WPF”,同时在下面列举了Adobe推出Flex 2.0 力拼Ajax,以及袁红岗在6月份的文章Ajax,只是一种过渡技术,其中袁在文章中说到“Ajax其实是一种新瓶装旧酒的过渡技术,相信在未来一到两年之内将被新的技术所代替,而JSF则是一种可扩展的框架级解决方案。”
AJAX自去年火了之后到现在,不仅没有被取代,而且有越来越热之势:现在各大网站都在争相使用AJAX技术,似乎哪个网站不使用点AJAX就显的落伍了,从Google、到Yahoo,以及国内各门户网站都是如此,不使用AJAX技术,似乎就不够Web2.0;各种AJAX框架也是风起云涌,微软的ASP.NET AJAX,雅虎的Yahoo! UI,Google的Web Toolkit以及dojo,prototype等;再看看园子里朋友对AJAX的关注程度,远远超出了对其他技术的关注。
那么AJAX到底命运如何,是否只是一种过渡技术?能否被Flex或者WPF所取代呢?我们不妨来一次讨论,大家也都来说说自己的看法吧。
posted @ 2006-11-20 14:30
TerryLee 阅读(8477)
评论(88) 编辑 收藏 网摘 所属分类:
[33] 我思我考[07] AJAX风云
发表评论
这几年应该还会有应用,但是等WPF真正成熟,我想应该还是WPF的天下
Ajax出现的目的是什么?
改善用户的体验,对不?
但JS却有限制,并且更好的技术已经出现,也就是WPF
Ajax是在WPF普及前的过渡技术
生命终结之日就是WPF普及之时
从发展的角度来看,新的技术总会取代旧的技术,谁都难逃所谓“过渡”的命运,早晚而已。
主要还是要看微软与ADOBE的竞争了,看谁在这方面投入的多.
也有可能两家处于战略目的先停下来观望以至于ajax还有一点生存空间
话有说回来,在这样的一个竞争环境中,谁失败了都会输的很惨
所以风险也是很大的
回头再看ajax,倒不如说是在"夹缝"中生存着
没研究过,不过DHTML和JAVASCRIPT毕竟有其技术极限,而且这个极限我感觉不远了。IE就那点脚本编程接口,很快会不够用了。
是呀,就像3G一样.是一种过渡.不过也算是一种现在的新技术了.
个人认为随着客户端计算能力的不断提升,高速的宽带得以普及后(国内的宽带就算了吧.....),浏览器的概念将被淡化。
如果各种应用都是基于一种网络服务的形式提供的话,那么也无所谓cs或bs了,反正用户的目的是得到需要的服务,不需要关心应用的表现形式。
当网络和应用程序完全结合在一起的时候,浏览器应用也许就到了尽头。
也许将来操作系统也会作为网络服务的一种?那时候盗版是不是就会消亡呢。
ajax毕竟没有从架构上改变什么,带来的用户体验固然重要,在各种ajax框架不成熟的情况下,开发的成本也在不断增加,个中得失,耐人寻味啊......
总结一下我的观点:ajax是一种过渡技术 :D
一家之言,贻笑大方了
博客园里对AJAX的疯狂追求的氛围已经是一种病态。作为一种改善用户体验的表现层技术(效果也不见得很显著),Ajax的重要性绝对比不上软件架构,模式等更具有内涵的东西。
我说说WPF吧, 也就是XBAP(XAML Browser Application), 功能上是非常全的, 使用VS等工具开发也很快捷方便, 但现在看来它的性能实在是不咋地, 内存占用很大, 而且IE7自己内存占用也大.. 如果为来XBAP能流行, 那也得再过个一两年吧.
还有WPF/E..这个这个我只看过channel9里的一个video, 估计除了编程语法跟XAML相似以外, 底层和XBAP没什么共同的. 它的竞争对手是Flash, 但我觉得等它比较鸡肋啦..
我最初开始编程也是从Flash Action Script开始的.. 所以说一点自己想法啦.. 现在还是比较看好WPF的~
#12楼[
楼主]2006-11-20 15:00 |
@绿豆蛙
Ajax的重要性绝对比不上软件架构,模式等更具有内涵的东西。
——————————————————————————————
同意!
WPF最大的问题是,要求xp sp2以上操作系统,性能也不怎么样,等2010估计普及了,而wpf/e还不知道怎么样.flash.flex最大的问题,对开发人员不友好,
现在在期待wpf/e,可是一直没有什么消息,只是说快出ctp了.
XAML 还是容易被搜索引擎搜索到的.
应该说不能识别FLASH和WPF的搜索引擎会被淘汰
WPF 具体是干什么的 谁来解释下
//googel告诉你
WPF --可以在web上做类式flash的效果//感觉很棒..
我认为在 Linux 上有 WPF 的支持之前,WPF 想一统江山不太可能。html, flash 还会存活很长一段时间。
即使像他们说的那样“未来一到两年之内将被新的技术所代替”,Ajax也活了3-4年了,已经不算短命了阿,呵呵
如果从开发和设计角度上考虑我会选择Flex,因为Action Script可以很好地支持OOD(多态、继承和接口都很好地支持)。
加上还封装大量的UI控件和对象,开发起来更方便轻松。
当然更看好WPF(不过需要Vista的支持,普及时间更长)
#23楼[
楼主]2006-11-20 15:18 |
@henry
嗯,看过你写的Flex的文章:)
#24楼[
楼主]2006-11-20 15:19 |
@Dflying Chen
是啊,AJAX能得到如此空前的关注,就算死也瞑目了,呵呵
目前AJAX还是最容易被支持的,最跨平台,最有标准支撑的技术。在找到能够如此跨平台而且普及的技术之前,还是不太会被替换掉的。不过滥用AJAX,认为AJAX似乎是网站开发的“银弹”,或者觉得AJAX因为不能用在任何领域所以没有价值,这些观点都是令我痛心疾首的。
无所谓过度不过度,表现层上的事情毕竟是小事,用户不会真正在意。
google如果不搞ajax,他照样是google,gmail没有ajax,照样是gmail。
plain html gmail也不是没有,用起来一样方便。
如果对google说,你必须从你使用的技术中减去一个,google第一个减掉ajax。
Flex还有太多问题没有解决,跟.net的lib集成困难,所以开发起来很麻烦的.
还有就是淘汰了又怎么样,我们接触过的技术被淘汰的应该已经不是一个两个了吧,呵呵。我们还是提高了成长了,技术衰退了我们还不是好好活着。AJAX退出历史舞台之后自然有替代品。过分担心反而会把握不住现在,就算照文章来说,还有1-2年呢,呵呵。
@小陆
表现层不是小事,在后端和功能到达一定高度后,大家拼得就是表现层了。
#30楼[
楼主]2006-11-20 15:30 |
@小陆
无所谓过度不过度,表现层上的事情毕竟是小事,用户不会真正在意。
——————————————————————————————
对于开发人员来说,软件架构、设计等非常重要
对于最终用户来说,应该表现层是大事,他们不会关心软件是否分层,是否用了XX设计模式等,只关心是否好用:)
//我有点偏题了
#31楼[
楼主]2006-11-20 15:32 |
@Jeffrey Zhao
不过滥用AJAX,认为AJAX似乎是网站开发的“银弹”,或者觉得AJAX因为不能用在任何领域所以没有价值,这些观点都是令我痛心疾首的。
——————————————————————————————
严重同意!
“过渡技术”的含义窃以为并不是“有没有价值”的问题,而是“会不会飞速贬值”的问题。后者不仅和技术本身有关系,而且跟应用需求、智力供给有关。
TerryLee 提到的两篇文章都看过。这里不得不提一下袁红岗先生提到的JSF。对于JSF我们完全可以看作是一个自动生成HTMl和JavaScript的UI框架,只不过与其他工具不同的是:它能够生成适应多种浏览器可识别的表现脚本。
就目前来说,AJAX与Flex能够被提到如此火热的地位,与他们的一个特性有关系,那就是“基于浏览器的无刷新的用户体验”。
所以,从这个特性可以看出,如果JSF的原生的Render Kit不能支持这一个特性,那么JSF将会沦落为一个“能够自动生成Ajax控件/代码”的辅助工具。
回到主题,AJAX是否会被替代。我的观点是不会被替代。
因为AJAX提供了一种表现层的框架标准:
用标签语言来描述UI
用脚本语言来编写UI事件
采用某种通讯机制实现客户端与服务器通讯。
纵观Flex与WPF,无疑都是使用了这种标准。
Flex 是MXML描述UI,AS编写UI事件
WPF是XAML描述UI,基于CLR标准的语言编写UI事件
尽管Flex与WPF提供了比AJAX更为便捷的开发方式,但是正如 Jeffrey Zhao 所说的:“目前AJAX还是最容易被支持的,最跨平台,最有标准支撑的技术。”
以前实现表现层的时候,一直为js代码犯愁
没想到如今出现了ajax。。
当我们觉得需要更好的技术支持的时候,新技术自然会到来。
补充一点,Flex对于已有的应用来说并非无缝集成的。它的部署需要扩展已有的应用并支持WS,特别是对于已有的Windows平台的应用,Flex还需要比较长的一段路要走。
至于WPF,很难说啊。因为要能够使用它的成本太高了。
@绿豆蛙
博客园里对AJAX的疯狂追求的氛围已经是一种病态。作为一种改善用户体验的表现层技术(效果也不见得很显著),Ajax的重要性绝对比不上软件架构,模式等更具有内涵的东西。
严重同意!甚至觉得AJAX就是个UI,再牛也不过一UI,然后UI在整个项目中占据的比重低于30%。
ps:最近感觉自己现在最应该提高的是OOP。
最近园子里有关软件设计的文章的确比较少,欢迎大家多写些这方面的文章!
作为很多软件的用户,大家可以考虑一下自己平时用的东西,真的很在乎这个“表现”吗?
用户关心的是“体验”,不仅仅是“界面”,做软件不是做时装。
ajax可以适当的使用,增加web页面的功能,简化用户的使用,减少等待的时间。拿他做一个大规模的应用程序,成本是巨大的,或者效果会很差。
部署技术就是在绕圈子,不是server胖一点,就是client胖一点,最早的分布式应用程序就是使用远程终端直接登录到主机上,后来出现两层cs构架,然后又是多层的cs构架,bs构架,现在又出现了application service,又回到了远程登录的方式。
任何技术的使用都应该是一个方向:减少成本,快速准确的实现需求,把日益复杂的需求用最简单的方式实现。
如果你在项目中使用一项技术以后,发现是在朝这个方向走,那你就用对了。如果使用了“先进”的技术以后,发现事情变的麻烦了,绝不可能是这个技术本来就是让事情麻烦的,一定是用错了地方,或者开发者对这个技术的理解根本就有误差。
@小陆
没错,是体验。减少用户等待时间是一种体验,给用户良好的操作感(例如像桌面应用)都是体验的一部分。所以要合理使用AJAX,滥用AJAX反而会降低性能降低体验度。
@Clark Chan
严重同意!甚至觉得AJAX就是个UI,再牛也不过一UI,然后UI在整个项目中占据的比重低于30%。
-----------------------------------
对于用户来讲,UI就是100%,管你用了XX架构,XX思想,XX平台呢?界面漂亮并且易用,才是王道。
以用户的角度,而不是以程序员的角度考虑软件,才能得到最后的成功。
对于Windows 2000用户来说,Ajax就是好,WPF不可能运行,Flex成本太高
成熟的用户不会在乎界面,但是如果界面能够在不付出很多代价的情况下,变得快一点,他们还是很乐意的,所以还是看好Ajax
无所谓过渡不过渡了。照vista的趋势看来,win32API也是过渡技术了。我觉得并不是说你掌握了某项技术,就只研究这项技术,而不去关注其他。即使AJAX是过渡技术,但对于传统的web开发,适度的使用AJAX技术,的确可以很好的提高用户体验。这样的“过渡技术”,学一下又何妨呢?另外,学AJAX的同时,并不妨碍你去了解WPF,况且WPF要真正用在实际开发中,还是要等几年的吧。
上次听李建忠老师的Vista全局观的课程时,他也提到Ajax是昙花一现的技术。主要是觉得在Vista出现之后,IE会逐渐的退出舞台,用户所使用的软件只是一些Uri,世界中充斥着服务,胖客户端将大量占有市场。当然他讲道这的时候野声名这也只是一种在Vista推出之后他的预测或者猜想。
在第十一期的程序员杂志上也用很长的一段篇幅说Vista带来的开发冲击。
不过我觉得。不管怎样,关注变化对于程序员来说是生存之法。尽可能的拥抱变化是程序员职业不同于其他职业的重要一点。选择了继续作程序员,就选择了不断更新自己。因为这个职业给我们带来太多的“痛并快乐着”
@KiddLee
主要是觉得在Vista出现之后,IE会逐渐的退出舞台..
这是真的么?
支持老赵的意见。袁红岗的意见不可信。ajax是一种基于客户端的技术,而jsf是一种基于服务端的技术,与asp.net技术更接近,jsf如何与ajax相提并论?jsf也需要与ajax结合才对。究竟ajax朝什么方向发展,目前还不太明朗。不过我确信flex没有希望。
#49楼[
楼主]2006-11-20 22:21 |
@KiddLee
我觉得李建忠老师的这个预测似乎有些超前,IE在可预见的几年内相信是不会退出舞台的:)
“在Vista出现之后,IE会逐渐的退出舞台”
---------
这个有些夸张了……看看现在世界上还有多少人用IE4、IE5吧……N年前的东西不是一样好好的……
本来就没有终点,从理论上来说任何技术都是过渡的,
单纯就这个问题来说WCF普及尚需时日,因为它的普及需要dotnet 3.0的普及,3.0的普及又需要vista的普及,操作系统的流行没有几年的时日是不行
@Snow.C
Flash首先需要彻底解决掉SEO的问题
---------------------------
我觉得倒是搜索引擎首先需要彻底解决抽取Flash的问题。
#54楼[
楼主]2006-11-21 00:45 |
@Dflying Chen
我觉得倒是搜索引擎首先需要彻底解决抽取Flash的问题。
————————————————————————————
同意,应该是目前搜索引擎需要努力的一个地方
@Ring
@TerryLee
@Dflying Chen
其实当时听完这个课程,我感觉特别郁闷,不过想想,大家都是预测猜想。不过提前感知会有变化并不是一件坏事。至少如果真的变化来了,我们早有准备。不至于到时候大喊:“谁动了我的奶酪”。如果变化没来也没关系。至少应对变化的过程让我们开阔了思路。(个人想法)
什么被取代是不太可能的,因为根据应用不同就会采用不同的方法。
如果运用ASP.NET本身就能得到满意的解决,那采用ajax或Flex来进行表现就显得多余,除了添加工作量外没有任何的得益(从成本角度来说ajax和Flex都不可取,写多一层HttpService和WebService可是不少的工作量)。
我不太同意说IE逐渐退出舞台,但是我到认为IE会逐渐取代Windows的地位,进去“操作系统”,就只剩下一个IE(或别的浏览器)。
至于WPF/E,Flex等,应该不会像html这样大规模应用,最起码5年内。
搜索引擎也会升级,也许以后的wpf/flex程序都会提供搜索引擎专用的可识别的数据给它分析...
@Dflying Chen
个人觉得如果连业务逻辑都没有完成,谈UI再怎么好,也是没有用的。
用户确实是站在UI上面,但是老板是站在业务逻辑上面的。用户使用UI的再爽,老板关心的业务逻辑不完善。当老板的钱投了达不到他的目的,老板可以删掉用户,或者砍掉不完善的项目。
我说的“UI在整个项目中占据的比重低于30%”,是相对的,相对整个项目来说。数据库30%,业务逻辑40%,UI低于30%。如果在我这个相对里面要说“UI100%”的话,那意味着即使业务逻辑垃圾的无法完成功能,UI很爽,也照样是好软件。
不要认为,所有的程序员只关注程序,程序员的关注焦点始终来自需求。没有需求,就没有程序员的工资。当然UI易用性肯定是需求的一部分!
ajax 和wpf,flex根本不是同一类型的东西,不具有可比性,而且各有优势,ajax将和DHTML共存亡
#61楼[
楼主]2006-11-21 13:08 |
@YaoTong
也许从技术的角度看不是同一类的东西,可最终的目的都是为了提高用户体验
不懂,大家说的所谓AJAX,是说它的实现方式技术呢?还是这种无刷新提交的用户使用体验?要是说实现方式,当然是要被取代的,要是说这种无刷新提交的用户使用体验,当然是有很大的发展空间啦!
#66楼[
楼主]2006-11-23 20:53 |
@小庄[匿名]
题目是“AJAX,只是一种过渡技术吗?”,你说大家说的是技术还是体验,呵呵
任何技术几乎都是一步一步进化演变过来的。
Ajax技术也一样,他的出现主要是基于用户的需求。
其实技术也讲究“点到即止”。
现在看来,Flex和WPF都做的有点过了。也许他们是为了将来的几年或更长时间做好准备。但有时觉得这样反而会使重点脱离真正的需求。
现在来看,比如做一个OA项目,Ajax能实现的需求,不用Ajax也能实现。Ajax只是锦上添花,增强用户体验。
我现在担心的是,Flex或WPF出来后,用户看到了这样的花哨的界面。自然会提出更加BT的要求。难的还是我们做程序的。饿,好像偏题了。
——————终止偏题的分割线————————
ajax究竟会不会淡出舞台,还得看客户的体验需求还会不会更加BT,或者用WPF或Flex实现会不会更加简单。
相信,有了简单和高效的方法,谁还会去用老套的东西?当然,一切以客户的体验需求为标准。我们要做的就是,在达到客户的体验需求下,谁能够更加简单的实现,我就用这种技术。
Ajax 用得好, 可以改善用户体验。
用的滥,作用如下:
1。就是赶用户走
2。就是徒增开发成本和开发周期
所谓 水能载舟,水亦能覆舟。 关键是要适度
不重视用户体验必将失去用户,没有过时的技术只有过时的人~~~别自己不想学就去BS这门技术,ajax框架正在慢慢发展,别跟哥们说你到时候不用~~~~
为什么这么多人认为WPF会替代Ajax呢?注意一下AS和OS的对立,dotNet在Server端只是很小的份额,从政治上说,J2ee、RoR很难很好地输出XAML~ 个人认为最大的障碍在这里~ 同样的例子从技术上说eclipse RCP已经是非常可用的Rich Client技术了,但是eclipse RCP不可能预装到windows上,于是无论IBM怎么推,它现在也只做做Intranet上的应用。简单的说如果windows是IBM的,或者java由MS掌控,那么我们可能从一开始就不需要Ajax,但是目前的情况来看,很难想象一种非中立的技术能替代它。
---------华丽的分割线------------
至于说架构、模式比Ajax更有内涵,这就是气宗运气;剑宗练剑,而高手从来是内外兼修的。掌握了Arch、Pattern可以写出结构非常优美的Ajax界面,反之可能写垃圾。但是Arch、Pattern是需要载体,即使不是Ajax界面,也得是持久层、业务逻辑模型。你可以说Arch、Pattern比这些都重要,但是如果这些你都不关心,你写什么?设计优美的Console文本处理程序?而且想真正掌握好Ajax等等这些技术一点不比学好Arch、Pattern简单,别把Arch、Pattern抬太高~
--------漂走的分割线------------
漂走~
管它是不是过渡,只要现时适合需求就行了,眼光放得太远反而不好.
不管技术会不会落后,只要技术现在能给我们带来便利我们就应该使用它。当有成熟的新技术出来取代的时候,也应该去接受。程序员就是要不断的学习,不去学习新东西的程序员终会被淘汰。知识就是力量,学习去了,呵呵~
谢谢LZ给我带来这么多学习资料!
一个个都是高手,如果每出一个新技术,都要疯狂学习,请问,有那个必要吗。我只知道学会自己拿手的就行了。其余的有时间再学
flash这套体系虽然从v3开始经历了一番蜕变(巨变?)的过程,然而发展到AS3.0已经相当成熟。WPF个人以为仍停留在概念阶段,不具备mass production的能力。Flash却有无数成功案例与技术规范,语言结构灵活简单,不像.net一样臃肿,仍为开发RIA的上选,地位不可能轻易被WPF撼动。
p.s.真不知道怎么又冒出来一个flex!既然已经有了全能的swf开发环境,为何又要细分出一个开发基于swf的RIA的IDE
未来将是ria的天下,就像是flash ,silverlight 那样的胖客户端应用程序,而不会是ajax。
过渡也是存在的必要,能活多久要看造化了。就像现在Win98还是有人在用的。
--引用--------------------------------------------------
Dflying Chen: @Clark Chan
严重同意!甚至觉得AJAX就是个UI,再牛也不过一UI,然后UI在整个项目中占据的比重低于30%。
-----------------------------------
对于用户来讲,UI就是100%,管你用了XX架构,XX思想,XX平台呢?界面漂亮并且易用,才是王道。
以用户的角度,而不是以程序员的角度考虑软件,才能得到最后的成功。
--------------------------------------------------------
严重不同样,你生产手机花90%的时间去生产和设计外壳吧,看看你的手机有多好卖
AJAX不是过渡技术,相反他会在很长时间存在于WEB中,并大量被使用。
但我估计AJAX会在不长的时间内即归于平淡,像一个过气的明星,不再代表着WEB应用中COOL的一面,毕竟STRIPT和HTML的能力有限,天生不是为用户交互设计的。未来应该还是属于像Flex和WPF这样的富客户端。
--引用--------------------------------------------------
lzhu: --引用--------------------------------------------------
Dflying Chen: @Clark Chan
严重同意!甚至觉得AJAX就是个UI,再牛也不过一UI,然后UI在整个项目中占据的比重低于30%。
-----------------------------------
对于用户来讲,UI就是100%,管你用了XX架构,XX思想,XX平台呢?界面漂亮并且易用,才是王道。
以用户的角度,而不是以程序员的角度考虑软件,才能得到最后的成功。
--------------------------------------------------------
严重不同样,你生产手机花90%的时间去生产和设计外壳吧,看看你的手机有多好卖
--------------------------------------------------------
Dflying Chen: @Clark Chan已说了,界面漂亮并且易用.架构与思想无法体现在易用上.
只要用户登陆网站还是有浏览信息为主,ajax 就不会消失,ajax的出现只是,为了辅助用户更好的浏览信息。
程序员的悲哀,程序员除了要做好数据处理之外,还要把页面显示作好,工作量大得很啊!
@Dflying Chen
--引用--------------------------------------------------
Dflying Chen: @Clark Chan
<br>严重同意!甚至觉得AJAX就是个UI,再牛也不过一UI,然后UI在整个项目中占据的比重低于30%。
<br>-----------------------------------
<br>对于用户来讲,UI就是100%,管你用了XX架构,XX思想,XX平台呢?界面漂亮并且易用,才是王道。
<br>
<br>以用户的角度,而不是以程序员的角度考虑软件,才能得到最后的成功。
--------------------------------------------------------
严重同意,21世纪最有生产力的开发工具是什么:PPT!(试想,所有的生意是怎么来的)其他的都是补充