Ajax还是Flex?(一)前辈Ajax

短到只有几个字的前一篇就当是序好了。还不至于厚脸皮到那么几个字就当成是一,虽然我是很想。。。。

我想了一天,我为什么要选Ajax?或者说Ajax的优势在哪里?大概有:
  • 对公司而言,有丰富的现有资源可供整合(Applet、ActiveX控件)。
  • 完全开放的平台、完美的技术组合:HTML+CSS+Javascript、技术框架已经非常成熟。
  • 容易上手,普及率高(这对项目经理来说是多致命的诱惑),足够多的在线资源可供搜索,无数同行的blog和论坛为你的应用之路保驾护航。(尤其在中文方面,一个js的问题查找解决办法很容易的,几乎你的每一个问题都有人解决过了,而一个Flex的,麻烦输英文吧,还不一定有人解决过,我就找到了好多许愿的帖子,愿这个问题在下一个版本中解决。。。。。。)。
  • 单个页面足够小,几乎没有加载时间(相对于Flex)
  • 各层次完美的分离,而且是真的分离了(相对于Flex,Flex只是程序结构上分离了,部署了之后不会有太大的区别)。你不得不承认,作为前辈Ajax的结构相当完美。
  • 对“敏捷”友好,容易TDD。
  • 配有强大成熟的自动化测试工具助你完成健壮的程序。
如果以上还不足以让你觉得Ajax有什么吸引人的,那么麻烦点击下面几个链接:
什么叫丰富的资源,以此为例:
http://www.java2s.com/Code/JavaScript/CatalogJavaScript.htm

http://www.java2s.com/Tutorial/JavaScript/CatalogJavaScript.htm
http://www.java2s.com/Code/JavaScriptReference/CatalogJavaScriptReference.htm
http://www.java2s.com/Code/HTMLCSS/CatalogHTMLCSS.htm
http://www.java2s.com/Code/HTMLCSSReference/CatalogHTMLCSSReference.htm
什么叫成熟的框架,HTML和CSS已经在全世界广泛应用了许多年,在JavaScript领域也有成熟的类库和控件库,比如:
http://www.prototypejs.org/

http://www.extjs.com/ 不知道ext又怎么踩着gfw尾巴了,链接被重置,友情提示,请准备好穿墙工具查看
http://jquery.com/
如果上面的那些还不能让你满足,那么Tin的ppt应该可以喂饱你了,其中甚至推荐了可以使ie6的bug消失的神奇js库和CSS框架:
http://www.haokanbu.com/story/5889/
http://www.haokanbu.com/story/5892/
如果你觉得Flex的开发工具非常好,相对于Flex Builder我们也有这些开发工具(虽然他们也支持Flex):
http://www.aptana.com/
http://www.jetbrains.com/idea/features/javascript_editor.html
有上面的这些东西辅助,基本的项目我们都可以搞定,为什么要选择Flex呢?而且根据我的开发经验Flex有下面几个缺点:
  •  Flex编译出的程序过于庞大,什么都不做都有几百K,如果加入一个字库的话更是会有上M的大小,虽然现在采用了RSL的方式,解决了一些尴尬局面,但是也不能改变其无法广泛使用在广域网上的境地。
  • Flex的编译速度慢,相传全部用as而不使用mxml可以提高编译速度(可问题出来了,那我的Flex操作性就变差了,跟Ajax有啥区别)
  • 如果选择AIR,那就不能利用公司现有的web资源,比如一些activex控件、applet等,需要重新开发。说句题外话,当你不得不调用这些本地相关的玩意时,从一定程度上影响了他的跨平台的能力。
既然这样,Flex这种玩意还有啥选择的必要吗?
休息。。。。。。


posted on 2008-01-24 01:28 咖啡屋的鼠标 阅读(8740) 评论(27)  编辑  收藏 所属分类: Flex

评论

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 01:41 cnodin

不知道DOM太多会影响操作的速度吗。HTML+JS+CSS要做到像FLEX一样漂亮的界面,还是要花些功夫的。另,莫非AIR比activex控件还难跨平台?  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 08:46 久城

Extjs研究过一阵儿,Flex正在学.......
AJAX的技术还是比较容易上手的,但是作为AJAX的技术框架,单拿Extjs来讲(只接触过Extjs和prototype),从规模和成熟度上来看,和Flex比还是由一定差距的。(虽然本人还是很喜欢Extjs)...
关注ing.......  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 09:53 咖啡屋的鼠标

@cnodin
DOM太多?是说DOM操作太多还是,DOM结构太庞大?这两者倒是都会影响速度,Tin的ppt里有相关的说明。
extjs做出来的效果完全够用了(其表格控件比Flex内置的好很多,Flex里面目前我还没找到更好的),漂亮到一定程度之后,对大部分的项目经理来说,他们宁愿选择大家都会的成熟的技术。而不是像Flex这么生僻的。
我是站在公司的角度来讲,应用现有的公司资源比你从新开发一套AIR的东西好得多,公司往往已经积累了很多财富。air不得不去调这些东西(COM组件什么的,如果能调),这些东西平台相关的东西会限制AIR的跨平台的能力。就跟Java的境地一样,很多Windows下开发的Java程序还真是不能放到Linux下不是Java的问题,是外围的问题。

  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 10:07 咖啡屋的鼠标

@久城
其实我想说HTML,CSS这是很成熟的框架了。再配上这几个框架,另外,容易上手是ajax的大优势,我加上它。之所以说Ajax的框架成熟,是因为他已经对很多问题已经有了现成的解决方案,做Flex经常会发现原来在使用JS+HTML+CSS方面不是问题的,在这里反而成了问题,比如tab页的初始化和ViewStack,每次后面的都不初始化,至今没找到解决办法,我恨这个特性。  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 10:29 咖啡屋的鼠标

@cnodin
@久城
感谢二位的评论,根据意见又做了一些修改  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 12:41 久城

公司一定会选择合理的利用现有的资源,但是如果从个人的角度去选择的话,我也在犹豫该如何抉择。

PS:我感觉,不能拿AJAX和Flex比,AJAX是一项技术,所谓上手容易是因为javascript和xml大家比较熟悉,而Flex是adobe公司推出了一个适合web开发人员设计的前端框架(非定义,个人理解)。
可以拿Extjs和Flex做一下比较,那么就比较好谈了,都是前端框架。
就目前的情况来讲,从学习方面说,Extjs2.0版本,目前还没有系统的中文学习文档,学习起来有些困难,Flex至少还出了一本中文的入门教材。
从开发方面,Extjs的开发平台依然依靠原有的javascript的一些开发平台,虽然已有了对Extjs对象的识别与解析,但是从可视化开发和组件的角度来看,远不及Flex builder方便,(编译Flex工程时是个慢活儿,我1G的内存,编译一个小工程有时也要等上两三分钟呵呵)。
从画面效果上来看,我个人喜欢Extjs的风格,但是Flex毕竟最终执行的是Flash技术中的swf,相信一些Flash高手做出来的画面不会比Extjs差。
从执行速度说,两者的执行机制有很大的差别,我不确定哪个更快些,单说我知道的,分别用Extjs和Flex做的两个小Demo,通过浏览器访问,都有延迟,一个在加载Extjs的base文件,一个在加载swf应用文件,呵呵。  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 13:35 咖啡屋的鼠标

@久城
上一篇大概提了一下,Ajax只是借用了这个名词(这里可以精确定义一下:指HTML+CSS+JS的RIA实现)。
我其实自己也是在考虑将来的走向,Flex的RIA还是Ajax的RIA。甚至于,考虑AIR。
Flex的话,开始可能是,但现在远不止这么简单了,对于Adobe来说或者说是Flash对他来说是未来最大的一盘棋了。Flex可以把它的产品攥成一个拳头。
Flex的编译速度也实在是令我头痛,不过也没有你那么慢,我们一万多行的代码大概20多秒。(里面还有很多mxml)你最好找找是不是哪里有问题。
Tin的ppt里讲了如何优化Ajax,我们经常见到的web2.0应用其加载速度都非常快。而Flex目前最小也得100多K,可以用的至少都在500K以上。如果用Module的话也许好一点。不过每一个Module也都不小。这肯定是不能接受的一个体积。以Google的那些应用为例,同等效果的Flex应用肯定会大不少(而且纯Flash能不能实现还两说,我就想不通Flex怎么做Google reader这种产品,除非用DIV,像我昨天看的一个效果)  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 14:47 地球玩家

估计是没被ajax折磨够或者没用过flex,呵呵
欢迎访问cnflex.org  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 15:09

考虑到企业开发中,很多还是应用于本地网络,那么AJAX必定是更稳定的选择。。。。只是很多从C/S转到B/S的模式下的东西,AJAX实现页面逻辑就是一个脏活累活。。。。。。最主要做好了也不讨好,而且很多传统的B/S模式下的东西开发好养成了用户前进后退的习惯。。。。。。还有就是万恶的刷新(F5)(我的亲身经历说明,至今还在维护这个)

不过我还是觉得AJAX还是比FLEX成熟些,但凡程序出错了,用户刷新一下也并不会慢到什么程度,可是面对100K,甚至500k的FLEX。我记得哪里看的10秒是用户体验的极限。。。。当然我是很看好FLEX的,我觉得这个以后可以做为重量级的网页引用开发。。。。。。。。AJAX做不太大的。。。。。。同样小巧的应用也不应该是FLEX的应用领域。。。。。。。揽大局不如专一门么。。。。。推荐prototype(主要因为要用,所以又深刻的看了部分核心代码)  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 15:27 咖啡屋的鼠标

@地球玩家

http://www.earthplayer.com:8080/earthplayer/home.html
flash大小447.26k,还算小
不过比起mapbar和googlemaps打开速度慢很多。但刷新一下很恐怖的。我忘了说Flex的另一个问题了,一旦弹出异常,用户要是点一个取消而不是继续,有时就只好按F5刷新了。  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 15:33 咖啡屋的鼠标

@穷
呵呵,好久不见了。
我的观点跟你基本一致。不过前不久听说可以重写浏览器事件,比如后退。ajax可以考虑采用重写浏览器事件的手法。防止用户后退或者刷新。也许是一条路也说不定。  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-24 18:55 王能

那像这个NBA中文网:http://www.yaonba.com 就用dojo来的,但是太占内存了.呵呵.一点见解.  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax[未登录] 2008-01-24 23:59 treenode

>>比如tab页的初始化和ViewStack,每次后面的都不初始化,至今没找到解决办法,我恨这个特性。


设置一个属性就可以在启动时自动初始化所有页面了。有这么困难吗?

  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-25 00:18 咖啡屋的鼠标

@treenode
感谢你提供了一个线索,我会去试试的。  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-25 00:19 咖啡屋的鼠标

@王能
dojo听说是很多缺点  回复  更多评论   

# intraweb已经做到防后退和刷新 2008-01-25 09:56 6rl

intraweb的一个开发模式是应用程序模式,这个模式就有这个功能防后退和刷新。目前intraweb已经支持ajax。  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-25 11:21 咖啡屋的鼠标

@6rl
Wooo,听起来蛮酷的  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax[未登录] 2008-01-25 11:25 aj

我看好flex,不论是开发实力和市场前景都是flex,在it这个行业发展才是真的,当然淘汰的也值得留恋的!  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-01-25 11:39 咖啡屋的鼠标

@aj
我也看好Flex,但不觉得Ajax会被淘汰。  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-04-03 09:57 张三

我也看好Flex..  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-04-23 23:46 Ahaooo

我看现在最实用的还是混合用法。页面整体展现还是以html+css为主,局部考虑ajax或flex,ajax更适合文本方面交互,flex更适合图形化的。
我更看好flex,此技术才算得上是对传统web UI的革新,ajax只能算是一种传统web开发的技巧。我们用html+js+css+ajax蹩脚的走了这么多年,不一直在期待有flex这样简洁流畅的UI出现么。
现存的最大障碍就是先入为主的问题,开发人员、用户都必须试着去习惯才会有更好的发展  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax[未登录] 2008-05-14 17:01 小小

FLEx潜力无限! AJAX也会长期霸占胖客户端市场。  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2008-07-02 10:11 hello_21

做项目最好用自己公司成熟的技术.
富客户端是未来趋势,当大家都在用的时候你还不会,那问题就来了!
  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2009-11-25 14:20 Dee

我总觉得讨论FLEX和AJAX谁好谁坏很是无聊...本来就是两种东西

FLEX是一种开发语言而已,只不过混合了几种语言一起开发,而非传统的单一性开发语言!AJAX是一个技术框架,AJAX体现更多的应该是一个思想和模式.我没有应用过FLEX不知道他靠什么实现的异步,难道不需要调用WEB服务么?不可能吧...那跟AJAX就差不多了,所谓的差异也就FLEX的动画比DOM漂亮,那无非也就是谁更漂亮点么...交互性就谈不上了吧!而且FLASH这种东西,我感觉远比HTML和JS的性能感要差,那玩意要做一个庞大的企业级应用不是要折磨死人么,不用多说,就看看QQ农场就知道了,刚开始响应速度还可以,只要连着点上一个小时绝对让你崩溃..这破玩意才应用了多少的逻辑,比起企业级的应用是不是渺小太多了!而且FLASH这个另人崩溃的东西,实在是很土,如果你用过移动的3G(总掉线那个)来访问QQ农场,我告诉你基本上你有砸电脑的冲动,不停的LOADING,跟死了一样!而对于AJAX无论是GOOGLE MAP还是网易邮箱都不会有问题,即便是慢一点,也绝对不会让你想到去砸电脑!
总之,这俩东西的讨论还不同于C/S与B/S的讨论,后者还属于一种模式和领域上的探讨,有足够的思想和广泛的应用领域作为参考,而前者无非就从应用下手么,做网页或者是企业级应用开发无疑是AJAX主导,如果做游戏,自然是FLEX更为丰富!看需求么....
  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2010-04-21 17:30 javaliqi@163.com

@咖啡屋的鼠标
那说明你的flex技术功底不行,viewStack,tab页本来就提供了初始化方式,默认初始化第一个容器而已,creationPolicy属性让来你控制初始化方式,设置“all”不久可以初始化全部的容器了么。。。
一直以来都没有找到解决办法。。。。估计API你都没看过!!  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax[未登录] 2010-04-21 18:02 咖啡屋的鼠标

@javaliqi@163.com
呵呵,两年前回复的那天,确实还没找到。谢谢您还关心。  回复  更多评论   

# re: Ajax还是Flex?(一)前辈Ajax 2011-11-05 10:39 回国后会尽快

bjgjygjjk  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2008年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(15)

随笔分类(52)

随笔档案(76)

文章分类(3)

文章档案(4)

新闻档案(1)

收藏夹

Flex

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜