Ajax還是Flex?(一)前輩Ajax

          短到只有幾個(gè)字的前一篇就當(dāng)是序好了。還不至于厚臉皮到那么幾個(gè)字就當(dāng)成是一,雖然我是很想。。。。

          我想了一天,我為什么要選Ajax?或者說Ajax的優(yōu)勢(shì)在哪里?大概有:
          • 對(duì)公司而言,有豐富的現(xiàn)有資源可供整合(Applet、ActiveX控件)。
          • 完全開放的平臺(tái)、完美的技術(shù)組合:HTML+CSS+Javascript、技術(shù)框架已經(jīng)非常成熟。
          • 容易上手,普及率高(這對(duì)項(xiàng)目經(jīng)理來說是多致命的誘惑),足夠多的在線資源可供搜索,無(wú)數(shù)同行的blog和論壇為你的應(yīng)用之路保駕護(hù)航。(尤其在中文方面,一個(gè)js的問題查找解決辦法很容易的,幾乎你的每一個(gè)問題都有人解決過了,而一個(gè)Flex的,麻煩輸英文吧,還不一定有人解決過,我就找到了好多許愿的帖子,愿這個(gè)問題在下一個(gè)版本中解決。。。。。。)。
          • 單個(gè)頁(yè)面足夠小,幾乎沒有加載時(shí)間(相對(duì)于Flex)
          • 各層次完美的分離,而且是真的分離了(相對(duì)于Flex,F(xiàn)lex只是程序結(jié)構(gòu)上分離了,部署了之后不會(huì)有太大的區(qū)別)。你不得不承認(rèn),作為前輩Ajax的結(jié)構(gòu)相當(dāng)完美。
          • 對(duì)“敏捷”友好,容易TDD。
          • 配有強(qiáng)大成熟的自動(dòng)化測(cè)試工具助你完成健壯的程序。
          如果以上還不足以讓你覺得Ajax有什么吸引人的,那么麻煩點(diǎn)擊下面幾個(gè)鏈接:
          什么叫豐富的資源,以此為例:
          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已經(jīng)在全世界廣泛應(yīng)用了許多年,在JavaScript領(lǐng)域也有成熟的類庫(kù)和控件庫(kù),比如:
          http://www.prototypejs.org/

          http://www.extjs.com/ 不知道ext又怎么踩著gfw尾巴了,鏈接被重置,友情提示,請(qǐng)準(zhǔn)備好穿墻工具查看
          http://jquery.com/
          如果上面的那些還不能讓你滿足,那么Tin的ppt應(yīng)該可以喂飽你了,其中甚至推薦了可以使ie6的bug消失的神奇js庫(kù)和CSS框架:
          http://www.haokanbu.com/story/5889/
          http://www.haokanbu.com/story/5892/
          如果你覺得Flex的開發(fā)工具非常好,相對(duì)于Flex Builder我們也有這些開發(fā)工具(雖然他們也支持Flex):
          http://www.aptana.com/
          http://www.jetbrains.com/idea/features/javascript_editor.html
          有上面的這些東西輔助,基本的項(xiàng)目我們都可以搞定,為什么要選擇Flex呢?而且根據(jù)我的開發(fā)經(jīng)驗(yàn)Flex有下面幾個(gè)缺點(diǎn):
          •  Flex編譯出的程序過于龐大,什么都不做都有幾百K,如果加入一個(gè)字庫(kù)的話更是會(huì)有上M的大小,雖然現(xiàn)在采用了RSL的方式,解決了一些尷尬局面,但是也不能改變其無(wú)法廣泛使用在廣域網(wǎng)上的境地。
          • Flex的編譯速度慢,相傳全部用as而不使用mxml可以提高編譯速度(可問題出來了,那我的Flex操作性就變差了,跟Ajax有啥區(qū)別)
          • 如果選擇AIR,那就不能利用公司現(xiàn)有的web資源,比如一些activex控件、applet等,需要重新開發(fā)。說句題外話,當(dāng)你不得不調(diào)用這些本地相關(guān)的玩意時(shí),從一定程度上影響了他的跨平臺(tái)的能力。
          既然這樣,F(xiàn)lex這種玩意還有啥選擇的必要嗎?
          休息。。。。。。


          posted on 2008-01-24 01:28 咖啡屋的鼠標(biāo) 閱讀(8762) 評(píng)論(27)  編輯  收藏 所屬分類: Flex

          評(píng)論

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

          不知道DOM太多會(huì)影響操作的速度嗎。HTML+JS+CSS要做到像FLEX一樣漂亮的界面,還是要花些功夫的。另,莫非AIR比activex控件還難跨平臺(tái)?  回復(fù)  更多評(píng)論   

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

          Extjs研究過一陣兒,F(xiàn)lex正在學(xué).......
          AJAX的技術(shù)還是比較容易上手的,但是作為AJAX的技術(shù)框架,單拿Extjs來講(只接觸過Extjs和prototype),從規(guī)模和成熟度上來看,和Flex比還是由一定差距的。(雖然本人還是很喜歡Extjs)...
          關(guān)注ing.......  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-24 09:53 咖啡屋的鼠標(biāo)

          @cnodin
          DOM太多?是說DOM操作太多還是,DOM結(jié)構(gòu)太龐大?這兩者倒是都會(huì)影響速度,Tin的ppt里有相關(guān)的說明。
          extjs做出來的效果完全夠用了(其表格控件比Flex內(nèi)置的好很多,F(xiàn)lex里面目前我還沒找到更好的),漂亮到一定程度之后,對(duì)大部分的項(xiàng)目經(jīng)理來說,他們寧愿選擇大家都會(huì)的成熟的技術(shù)。而不是像Flex這么生僻的。
          我是站在公司的角度來講,應(yīng)用現(xiàn)有的公司資源比你從新開發(fā)一套AIR的東西好得多,公司往往已經(jīng)積累了很多財(cái)富。air不得不去調(diào)這些東西(COM組件什么的,如果能調(diào)),這些東西平臺(tái)相關(guān)的東西會(huì)限制AIR的跨平臺(tái)的能力。就跟Java的境地一樣,很多Windows下開發(fā)的Java程序還真是不能放到Linux下不是Java的問題,是外圍的問題。

            回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-24 10:07 咖啡屋的鼠標(biāo)

          @久城
          其實(shí)我想說HTML,CSS這是很成熟的框架了。再配上這幾個(gè)框架,另外,容易上手是ajax的大優(yōu)勢(shì),我加上它。之所以說Ajax的框架成熟,是因?yàn)樗呀?jīng)對(duì)很多問題已經(jīng)有了現(xiàn)成的解決方案,做Flex經(jīng)常會(huì)發(fā)現(xiàn)原來在使用JS+HTML+CSS方面不是問題的,在這里反而成了問題,比如tab頁(yè)的初始化和ViewStack,每次后面的都不初始化,至今沒找到解決辦法,我恨這個(gè)特性。  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-24 10:29 咖啡屋的鼠標(biāo)

          @cnodin
          @久城
          感謝二位的評(píng)論,根據(jù)意見又做了一些修改  回復(fù)  更多評(píng)論   

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

          公司一定會(huì)選擇合理的利用現(xiàn)有的資源,但是如果從個(gè)人的角度去選擇的話,我也在猶豫該如何抉擇。

          PS:我感覺,不能拿AJAX和Flex比,AJAX是一項(xiàng)技術(shù),所謂上手容易是因?yàn)閖avascript和xml大家比較熟悉,而Flex是adobe公司推出了一個(gè)適合web開發(fā)人員設(shè)計(jì)的前端框架(非定義,個(gè)人理解)。
          可以拿Extjs和Flex做一下比較,那么就比較好談了,都是前端框架。
          就目前的情況來講,從學(xué)習(xí)方面說,Extjs2.0版本,目前還沒有系統(tǒng)的中文學(xué)習(xí)文檔,學(xué)習(xí)起來有些困難,F(xiàn)lex至少還出了一本中文的入門教材。
          從開發(fā)方面,Extjs的開發(fā)平臺(tái)依然依靠原有的javascript的一些開發(fā)平臺(tái),雖然已有了對(duì)Extjs對(duì)象的識(shí)別與解析,但是從可視化開發(fā)和組件的角度來看,遠(yuǎn)不及Flex builder方便,(編譯Flex工程時(shí)是個(gè)慢活兒,我1G的內(nèi)存,編譯一個(gè)小工程有時(shí)也要等上兩三分鐘呵呵)。
          從畫面效果上來看,我個(gè)人喜歡Extjs的風(fēng)格,但是Flex畢竟最終執(zhí)行的是Flash技術(shù)中的swf,相信一些Flash高手做出來的畫面不會(huì)比Extjs差。
          從執(zhí)行速度說,兩者的執(zhí)行機(jī)制有很大的差別,我不確定哪個(gè)更快些,單說我知道的,分別用Extjs和Flex做的兩個(gè)小Demo,通過瀏覽器訪問,都有延遲,一個(gè)在加載Extjs的base文件,一個(gè)在加載swf應(yīng)用文件,呵呵。  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-24 13:35 咖啡屋的鼠標(biāo)

          @久城
          上一篇大概提了一下,Ajax只是借用了這個(gè)名詞(這里可以精確定義一下:指HTML+CSS+JS的RIA實(shí)現(xiàn))。
          我其實(shí)自己也是在考慮將來的走向,F(xiàn)lex的RIA還是Ajax的RIA。甚至于,考慮AIR。
          Flex的話,開始可能是,但現(xiàn)在遠(yuǎn)不止這么簡(jiǎn)單了,對(duì)于Adobe來說或者說是Flash對(duì)他來說是未來最大的一盤棋了。Flex可以把它的產(chǎn)品攥成一個(gè)拳頭。
          Flex的編譯速度也實(shí)在是令我頭痛,不過也沒有你那么慢,我們一萬(wàn)多行的代碼大概20多秒。(里面還有很多mxml)你最好找找是不是哪里有問題。
          Tin的ppt里講了如何優(yōu)化Ajax,我們經(jīng)常見到的web2.0應(yīng)用其加載速度都非??臁6鳩lex目前最小也得100多K,可以用的至少都在500K以上。如果用Module的話也許好一點(diǎn)。不過每一個(gè)Module也都不小。這肯定是不能接受的一個(gè)體積。以Google的那些應(yīng)用為例,同等效果的Flex應(yīng)用肯定會(huì)大不少(而且純Flash能不能實(shí)現(xiàn)還兩說,我就想不通Flex怎么做Google reader這種產(chǎn)品,除非用DIV,像我昨天看的一個(gè)效果)  回復(fù)  更多評(píng)論   

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

          估計(jì)是沒被ajax折磨夠或者沒用過flex,呵呵
          歡迎訪問cnflex.org  回復(fù)  更多評(píng)論   

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

          考慮到企業(yè)開發(fā)中,很多還是應(yīng)用于本地網(wǎng)絡(luò),那么AJAX必定是更穩(wěn)定的選擇。。。。只是很多從C/S轉(zhuǎn)到B/S的模式下的東西,AJAX實(shí)現(xiàn)頁(yè)面邏輯就是一個(gè)臟活累活。。。。。。最主要做好了也不討好,而且很多傳統(tǒng)的B/S模式下的東西開發(fā)好養(yǎng)成了用戶前進(jìn)后退的習(xí)慣。。。。。。還有就是萬(wàn)惡的刷新(F5)(我的親身經(jīng)歷說明,至今還在維護(hù)這個(gè))

          不過我還是覺得AJAX還是比FLEX成熟些,但凡程序出錯(cuò)了,用戶刷新一下也并不會(huì)慢到什么程度,可是面對(duì)100K,甚至500k的FLEX。我記得哪里看的10秒是用戶體驗(yàn)的極限。。。。當(dāng)然我是很看好FLEX的,我覺得這個(gè)以后可以做為重量級(jí)的網(wǎng)頁(yè)引用開發(fā)。。。。。。。。AJAX做不太大的。。。。。。同樣小巧的應(yīng)用也不應(yīng)該是FLEX的應(yīng)用領(lǐng)域。。。。。。。攬大局不如專一門么。。。。。推薦prototype(主要因?yàn)橐?,所以又深刻的看了部分核心代碼)  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-24 15:27 咖啡屋的鼠標(biāo)

          @地球玩家

          http://www.earthplayer.com:8080/earthplayer/home.html
          flash大小447.26k,還算小
          不過比起mapbar和googlemaps打開速度慢很多。但刷新一下很恐怖的。我忘了說Flex的另一個(gè)問題了,一旦彈出異常,用戶要是點(diǎn)一個(gè)取消而不是繼續(xù),有時(shí)就只好按F5刷新了。  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-24 15:33 咖啡屋的鼠標(biāo)

          @窮
          呵呵,好久不見了。
          我的觀點(diǎn)跟你基本一致。不過前不久聽說可以重寫瀏覽器事件,比如后退。ajax可以考慮采用重寫瀏覽器事件的手法。防止用戶后退或者刷新。也許是一條路也說不定。  回復(fù)  更多評(píng)論   

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

          那像這個(gè)NBA中文網(wǎng):http://www.yaonba.com 就用dojo來的,但是太占內(nèi)存了.呵呵.一點(diǎn)見解.  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax[未登錄] 2008-01-24 23:59 treenode

          >>比如tab頁(yè)的初始化和ViewStack,每次后面的都不初始化,至今沒找到解決辦法,我恨這個(gè)特性。


          設(shè)置一個(gè)屬性就可以在啟動(dòng)時(shí)自動(dòng)初始化所有頁(yè)面了。有這么困難嗎?

            回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-25 00:18 咖啡屋的鼠標(biāo)

          @treenode
          感謝你提供了一個(gè)線索,我會(huì)去試試的。  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-25 00:19 咖啡屋的鼠標(biāo)

          @王能
          dojo聽說是很多缺點(diǎn)  回復(fù)  更多評(píng)論   

          # intraweb已經(jīng)做到防后退和刷新 2008-01-25 09:56 6rl

          intraweb的一個(gè)開發(fā)模式是應(yīng)用程序模式,這個(gè)模式就有這個(gè)功能防后退和刷新。目前intraweb已經(jīng)支持ajax。  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-25 11:21 咖啡屋的鼠標(biāo)

          @6rl
          Wooo,聽起來蠻酷的  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax[未登錄] 2008-01-25 11:25 aj

          我看好flex,不論是開發(fā)實(shí)力和市場(chǎng)前景都是flex,在it這個(gè)行業(yè)發(fā)展才是真的,當(dāng)然淘汰的也值得留戀的!  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-01-25 11:39 咖啡屋的鼠標(biāo)

          @aj
          我也看好Flex,但不覺得Ajax會(huì)被淘汰。  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2008-04-03 09:57 張三

          我也看好Flex..  回復(fù)  更多評(píng)論   

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

          我看現(xiàn)在最實(shí)用的還是混合用法。頁(yè)面整體展現(xiàn)還是以html+css為主,局部考慮ajax或flex,ajax更適合文本方面交互,flex更適合圖形化的。
          我更看好flex,此技術(shù)才算得上是對(duì)傳統(tǒng)web UI的革新,ajax只能算是一種傳統(tǒng)web開發(fā)的技巧。我們用html+js+css+ajax蹩腳的走了這么多年,不一直在期待有flex這樣簡(jiǎn)潔流暢的UI出現(xiàn)么。
          現(xiàn)存的最大障礙就是先入為主的問題,開發(fā)人員、用戶都必須試著去習(xí)慣才會(huì)有更好的發(fā)展  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax[未登錄] 2008-05-14 17:01 小小

          FLEx潛力無(wú)限! AJAX也會(huì)長(zhǎng)期霸占胖客戶端市場(chǎng)。  回復(fù)  更多評(píng)論   

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

          做項(xiàng)目最好用自己公司成熟的技術(shù).
          富客戶端是未來趨勢(shì),當(dāng)大家都在用的時(shí)候你還不會(huì),那問題就來了!
            回復(fù)  更多評(píng)論   

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

          我總覺得討論FLEX和AJAX誰(shuí)好誰(shuí)壞很是無(wú)聊...本來就是兩種東西

          FLEX是一種開發(fā)語(yǔ)言而已,只不過混合了幾種語(yǔ)言一起開發(fā),而非傳統(tǒng)的單一性開發(fā)語(yǔ)言!AJAX是一個(gè)技術(shù)框架,AJAX體現(xiàn)更多的應(yīng)該是一個(gè)思想和模式.我沒有應(yīng)用過FLEX不知道他靠什么實(shí)現(xiàn)的異步,難道不需要調(diào)用WEB服務(wù)么?不可能吧...那跟AJAX就差不多了,所謂的差異也就FLEX的動(dòng)畫比DOM漂亮,那無(wú)非也就是誰(shuí)更漂亮點(diǎn)么...交互性就談不上了吧!而且FLASH這種東西,我感覺遠(yuǎn)比HTML和JS的性能感要差,那玩意要做一個(gè)龐大的企業(yè)級(jí)應(yīng)用不是要折磨死人么,不用多說,就看看QQ農(nóng)場(chǎng)就知道了,剛開始響應(yīng)速度還可以,只要連著點(diǎn)上一個(gè)小時(shí)絕對(duì)讓你崩潰..這破玩意才應(yīng)用了多少的邏輯,比起企業(yè)級(jí)的應(yīng)用是不是渺小太多了!而且FLASH這個(gè)另人崩潰的東西,實(shí)在是很土,如果你用過移動(dòng)的3G(總掉線那個(gè))來訪問QQ農(nóng)場(chǎng),我告訴你基本上你有砸電腦的沖動(dòng),不停的LOADING,跟死了一樣!而對(duì)于AJAX無(wú)論是GOOGLE MAP還是網(wǎng)易郵箱都不會(huì)有問題,即便是慢一點(diǎn),也絕對(duì)不會(huì)讓你想到去砸電腦!
          總之,這倆東西的討論還不同于C/S與B/S的討論,后者還屬于一種模式和領(lǐng)域上的探討,有足夠的思想和廣泛的應(yīng)用領(lǐng)域作為參考,而前者無(wú)非就從應(yīng)用下手么,做網(wǎng)頁(yè)或者是企業(yè)級(jí)應(yīng)用開發(fā)無(wú)疑是AJAX主導(dǎo),如果做游戲,自然是FLEX更為豐富!看需求么....
            回復(fù)  更多評(píng)論   

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

          @咖啡屋的鼠標(biāo)
          那說明你的flex技術(shù)功底不行,viewStack,tab頁(yè)本來就提供了初始化方式,默認(rèn)初始化第一個(gè)容器而已,creationPolicy屬性讓來你控制初始化方式,設(shè)置“all”不久可以初始化全部的容器了么。。。
          一直以來都沒有找到解決辦法。。。。估計(jì)API你都沒看過??!  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax[未登錄] 2010-04-21 18:02 咖啡屋的鼠標(biāo)

          @javaliqi@163.com
          呵呵,兩年前回復(fù)的那天,確實(shí)還沒找到。謝謝您還關(guān)心。  回復(fù)  更多評(píng)論   

          # re: Ajax還是Flex?(一)前輩Ajax 2011-11-05 10:39 回國(guó)后會(huì)盡快

          bjgjygjjk  回復(fù)  更多評(píng)論   

          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(15)

          隨筆分類(52)

          隨筆檔案(76)

          文章分類(3)

          文章檔案(4)

          新聞檔案(1)

          收藏夾

          Flex

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 杭锦旗| 天祝| 长汀县| 纳雍县| 海盐县| 崇礼县| 平谷区| 西平县| 滁州市| 海阳市| 桂平市| 莱州市| 获嘉县| 明光市| 五大连池市| 汤阴县| 巴林右旗| 时尚| 高台县| 塔河县| 东兰县| 手游| 清丰县| 体育| 普宁市| 乌恰县| 黎川县| 云安县| 阜城县| 吉安县| 韩城市| 格尔木市| 克什克腾旗| 广安市| 安国市| 中卫市| 洛扎县| 随州市| 鹤峰县| 土默特右旗| 宜都市|