论坛首页 编程语言技术论坛

AJAX与RIA技术之我见

浏览 56877 次
该帖已经被评为精华帖
作者 正文
   发表时间:2007-08-04  
dlee的这个消息有点老。我来做点更新:

whatwg已经成功说服w3c,所以w3c已经重新启动html小组(http://www.w3.org/html/),把webapp1(html5)纳入官方规范流程了。这个也是必然的,看看whatwg的组成就知道了,mozilla, apple, opera,再加上整个Spec的编辑Ian Hickson是google的(原来好像是opera的人),除了微软之外,所有的主要浏览器厂商外加一个webapp的老大,都齐全了。而微软现在也已经加入了开发(至少看到他们的老大在ml中的帖子鼓吹增加html version机制)。

那么xhtml2摆在什么位置?我现在还不能完全确定,虽然webapp自己说俺们和xhtml2不同的,但漏出来的xhtml5的名字已经摆出了狼子野心。我还没有仔细看w3c的Architecture说明的更新,但是想来也是打打马虎眼,说两者的field不同,xhtml2/xforms等归于enterprise方向了。

其实我是很喜欢xhtml2/xforms的。。。当然,我也很喜欢webapp,因为其确实弥补了好大的空白。

虽然浏览器的反微软阵营已经结盟(当然嘴巴里不会承认),但是他们与ms有一点相同,就是强调向前兼容(微软老是拿这个当作陈词滥调),因此希望一种渐进式的方式,mozilla的cto也是js之父的Brendan Eich同志就表达过对xforms的不同意见,而opera的人有时候也会有点奇谈怪论(例如很久以来死活不支持xslt直到opera9才支持,最近的如不肯支持js的get/set扩展)。

回过头来说ms,ms现在已经加入html wg,毕竟他还是浏览器的老大(这是moz,opera,apple都承认的),是w3c的很重要的成员。它参与标准开发是没有问题的,问题在是否支持,支持多少上。过去有些标准都是ms的人主导的,但是回过头来他们自己居然不支持,或者扔出个个草案实现就没动静了。而且ms的人还经常有一些荒谬的理由扔出来,例如说css和dom没有足够好的官方testsuite,所以他们就不实现。

显然,所有动作都要根据ms的商业利益来考虑,这是赤裸裸的真理。但是毕竟moz,opera,apple加上goolge的结盟绝对是很有分量的,前三者的浏览器市场份额总和应该有15%以上了。特别是apple的来势汹汹,iphone上都要有safari,加上windows版的safari,其战略颇像ipod加windows上的itunes。再加上一个最最厉害的web应用厂商google……ms明白不合作是不行的,不如加入进去,想法获得主导权。

浏览器厂商和adobe的关系也是很奇怪的。

ms跟adobe的竞争是很显然的。silverlight咋看咋是针对flash来的。

而moz跟adobe有很好的合作,特别是在es4上面,adobe甚至把js vm的源代码都送给moz了(当然不是白送,而是一起继续开发)。但是显然超强的Web browser与ria有竞争关系的。比方说具有完全canvas/svg支持的浏览器上,dlee举的照片处理的例子也应该可以实现。

也许adobe想把未来的前端融合起来?反正我是没搞明白adobe的战略。
0 请登录后投票
   发表时间:2007-08-04  
Adobe早就充分认识到了基于Flash的RIA技术不可能取代基于HTML的技术。他们的策略是与Web标准充分合作,希望将这两种技术无缝地集成在一起,取长补短。他们最新推出的AIR允许开发人员自由选择使用何种表现技术:
1. 仅使用DHTML
2. 仅使用Flash
3. 使用DHTML+Flash

M$两年前的策略是以WPF/XAML来取代基于HTML的技术(Windows取代浏览器),这是他们与Adobe最大的区别。最近M$也发现实现这个目标力不从心,所以他们通过大力发展Sivlerlight,走上了与Web标准合作的道路。

另外一个主要的区别是,M$出于私心,不会认真支持服务器端ASP.NET之外的其他开发平台。使用服务器端的其他开发平台,如果选择M$的RIA技术,开发效率会大打折扣。而Adobe的RIA技术则是服务器端开发平台中立的,目前看来Adobe在继对Java的支持之后,会大力推动Flex与Rails的结合。

浏览器对Canvas/SVG目前的支持还比较初级,需要经过高层的抽象,发展出一些功能强大的Widget组件库之后才好在项目中大规模应用,否则开发效率太低了。这个过程可能还要再等上两年左右。而Flex是已经发展了3、4年的成熟技术,所以对于特定的复杂交互需求,现在选择Flex是一个正确的决定。
1 请登录后投票
   发表时间:2007-08-05  
hax 写道
sp42 写道
Javascript的再激活,除了在客户端上参与和(x)html的复兴外,亦正在驾临服务端的开发。参见一则消息:


说点题外话,你这个句子,怎么觉得那么别扭,难不成你正在学日语? ;)

根本不别扭。
0 请登录后投票
   发表时间:2007-08-05  
个人觉得,没有可比性。
0 请登录后投票
   发表时间:2007-08-05  
综上所述:不矛盾。
0 请登录后投票
   发表时间:2007-08-06  
sp42 写道
hax 写道
sp42 写道
Javascript的再激活,除了在客户端上参与和(x)html的复兴外,亦正在驾临服务端的开发。参见一则消息:


说点题外话,你这个句子,怎么觉得那么别扭,难不成你正在学日语? ;)

根本不别扭。


看来我无法体会渠的中文境界和意境了。。。
0 请登录后投票
   发表时间:2007-08-10  
头一次看见老大robbin对RIA发表看法,机会难得啊,我也来说两句:

1。首先讲讲楼主谈到项目的时代背景
在2004年是众多flash设计和开发人员以flashmx/flashmx2004为工具的年份,当时的flashplayer版本为7,flash虽然火爆,但是停留在设计广告、片头、宣传片、演示、个人网站、个性化的产品网站、小游戏等等层面上。本身就flashmx/as2/flashplayer7这样的工具,应该说它还只是“设计人员”的吃饭家伙,如果让它来承担“比较高的实时反馈和交互式要求”这样的任务,本身就是“不可能的任务”或者说是风险很大很大的,虽然说也能实现实时性和丰富的交互体验,但是很可能不能满足企业级软件的要求,失败也就变的正常了。RIA的概念在2004年才刚刚提出来,flex1.0才刚刚推出,还稚嫩的很,用flashmx来做企业应用那简直就是吃螃蟹。

2。接着在讲讲Flash RIA的开发成本
“Flash有一个巨大的和网页交互的成本”这在2004年是成立的,因为flash的外部接口(ExternalInterface)是在2005年flash8发布时才增加的功能,如果没有这个接口,as<--->js之间的通讯是不可能的。如果有大量交互的话,那真应该反思一下设计,这种方案是否有问题,当然现在这种需求技术上是没有任何问题的,比如google finance ,yahoo finance 。flash/flex RIA的开发成本目前来说,一点都不高,应该是低于j2ee的,高于ROR的,技术层面没有瓶颈问题,人力成本也不是很高,一个flash/flex程序员的工资比j2ee程序员的工资高不了哪去。

3。然后讲讲flashIDE与开发效率
flashmx/flashmx2004/flash CS3严格来讲都属于设计工具,如果用它来做产品的原型设计,网站原型设计,界面设计都是很合适的,我就是非常喜欢用它们来画界面,现在的flashcs3绘图功能又增强了许多,与photoshop/flex3的完美协同工作(官方叫工作流)也是前所未有的,不能用开发工具的要求来要求他们,更不能用“一个很蹩脚的工具”来形容它,企业级RIA的开发应该由flexbulider来承担,它才是正儿八经的IDE,用过它的人都知道,它是基于eclipse的,除了收费这点让我们不爽,其他还是可以的,但是它离专业的java开发工具还是有差距的,比如代码重构、自动生成、代码查找、性能评估(profiler)、增量编译等方面,毕竟这个工具是2005年adobe接收(以前是macromedia的产品)过来重新改造的产品,要给人家时间吗。

4。之后讲讲html应用_PK_flash应用
不管是走公网的应用还是企业内部应用,如果是要表现文本信息或者再加个图片什么的,普通html页面就可以做的很好,如果硬要用flash来做自己不擅长的东西,反过来说flash不好,那可真是冤枉了。在flash9/as3以前的时代(2006/06以前),flash内容的基础构成是movieclip以及符号,完全是针对动画和多媒体来设计的整个架构(包括flashplayer),而到了swf9/as3/flashplayer9的时代(adobe财大气粗的结果)整个架构才完全改变,整个平台发生根本转变,flashplayer的虚拟机AVM2脱胎换骨,更快,flash的单元构成也不再是电影片段,而是显示对象(displayobject/sprite)这样更具有扩展性的东西,然而由于flashplayer的特殊性,其渲染文本的性能还是比不上浏览器。所以,做web应用就必须定位好它的内容、受众、发布渠道,能用html做好的,就别让flash来做,html做不好的或者做不了的让flash来做。为什么互联网上的flash应用比较少,是因为多种因素造成的,比如带宽限制、文字信息主体性、用户习惯等等,而在企业内部的应用,一些以数据、图形为主的应用flash绝对可以胜任,而且能大显身手。

5。最后杂七杂八讲点
以flash/flex为代表的RIA技术正在不断进步,以前根本不敢涉足的门户(portal)、报表、商业智能(BI)等领域都会有所成就,比如说flex的module为widget/portlet做好了技术准备,而flex3的高级表格也为报表功能提供了基础。在企业web应用方面,flash/flex绝对可以大显身手,让我们有更多的选择和惊喜。silverlight(formerlly WPF/E)虽然正式推出时间不长,但是其定位是明确的,移动设备以及高清视频、3D图形等方面,它的市场策略应该是针对flash,但是要比flash还要高端一些。这里再拍一下dlee的马屁,李老师说话还是很中立的,而且每次说话都论据充足、翔实,对flash的态度比较积极。

一不小心,说了这么多,不好意思。
6 请登录后投票
   发表时间:2007-08-10  
做了一个flex+j2ee的项目, 非常看好flex前景.
apollo和flex3都出来了, adobe的前景我很看好.
ms的silverlight是很明显冲着flex来的.  PC上的应用我不看好, windows mobile上的可能会比较有意思, 可以看看这个silverlight在WM上的MLB demo: blogs.msdn.com/mikehall/archive/2007/05/03/medc-2007-sliverlight-on-windows-mobile.aspx

不过adobe也在做flex的mobile版本, 目前是flashlite和flashcast占主角, 但flex mobile应该很快就来了.  WM上很有可能就不支持adobe的产品了, 直接推silverlight mobile了. =]
0 请登录后投票
   发表时间:2007-08-10  
silverlight是否成功,要看是否实现wpf的功能
0 请登录后投票
   发表时间:2007-08-11  
小结:Robbin+lwz7512  已经基本准确地阐述了什么时候该用AJAX,什么时候该用Flex了。

0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics