欢迎访问 夜阑小雨 我的学习碎片档案,这里记录了我的学习内容和工作中经验,希望给您带去帮助。

【转】zorn、flex与 flash未来的发展观察

flash 夜阑小雨 1126℃ 0评论

关键词zorn、flex与    flash未来的发展观察                                           

the big picture

zorn原本被傳成是下一代的flex開發工具,它以 eclipse為底,採用mxml 語法來製作 flash RIA應用程式。

但mike chambers最近的一篇文章打破了這個傳言,他在blog裏明確的說zorn將會內含一個 stand-alone mxml compiler, 因此user用zorn寫好mxml後,可以直接編譯成swf檔並發佈出去,完全不需要flex server(也就是不需付那1.2萬美元)。

但這代表了什麼意思呢?很多。

-這是所有 flash guru美夢成真的一天。

大部份資深flash coder都認為flex 沒理由是一個server-side presentation layer,它目前扮演的功能就是一個 class/component library + compiler, 將 mxml parse後調用適當的元件與class然後編譯成swf,簡單來說,這好像本來就該內建在flash IDE裏,而不是成為單獨的產品。

因此 zorn 可說是完全實現了這個想法,將來工程師們可以完全不依靠Flash IDE而只用mxml( 一種非常類似xml 的tag式語法)就完成整個RIA。

-這也代表了未來flash RIA將有兩種開發方式

第1種是傳統的Flash IDE + Actionscript,也就是目前大部份人採用的手法,用Flash 拉出介面,做成一個個的form(不論是用flash 內建的Form介面,或是自已用MovieClip建成的form),然後在eclipse或primalscript裏寫一堆actionscript class, 最後用 Flash 編譯成 swf發佈出去。

第2種則是用flex的mxml tag library,不論是在flex builder(dreamweaver的特別版) 或 zorn(其實就是eclipse) 裏寫好 mxml(也就是一張張的form或元件),然後用 flex compiler編譯成swf發佈出去;當然即使是用flex也還是會需要大量的actionscript來輔助。

因此未來的scenerio會很清楚,有flash背景的人會採用手寫actionscript的方式來做app,而從.net/java過來的工程師則會比較偏愛 flex mxml的方式,透過組合 xml tag來完成app。

至於那種方式比較好呢?這要看你如何定義”好”這個字。

目前flex 在某些方面的確確有優於flash的地方,例如它的component 功能更完整(drag-n-drop等功能),尤其是在 container component這塊表現更是優異(例如 vbox, hbox);同時,flex 也提供了一個比較正統的開發framework,清楚的告訴工程師該follow那些規則來寫RIA,例如將UI 與 model分離(MVC again…)。

但就我的觀點,如果將這兩件事拆開來看,就會發現flex的優勢並沒有太明顯。

首先,flex 完整的component 也可以移植到flash上使用,只看macromedia是否有心、有時間、有意願 做這樣的事,因為目前看來這些component也是flex賣錢時的重要特色,如果讓它們出現在flash裏,那誰還要去買flex ? 當然隨者zorn的推出,這件事情有可能會改變,只是目前確定已知的是 Flash 8 (8ball)裏面的component仍然是舊版,只是修掉許多bug,所以一切要等zorn或明年as3出來後才會清楚。

其次,framework這種事其實是方法論,理論上是可以套用到任何語言上的,這也就是說,工程師如果腦子裏本來就有良好的 OOAD/Pattern/MVC概念,那不論用什麼語言開發程式,都會自然把每個tier 分的清清楚楚、乾乾淨淨,並不一定要用flex 才會讓這種事發生。

所以當撇開這兩點表面上的優勢後,大家會發現flex存在的意義其實主要是提供了另一種進入 flash RIA的門路,讓傳統的工程師可以用比較熟悉的xml語法來開發程式。

順者這點再看下去,就會發現 zorn + flex compiler其實是很自然的決定,也幾乎是macromedia必走的路。

因為如果flex存在的目地是希望籍由xml來擴大flash的developer base,進而達到推廣Flash platform與 Flash RIA的目地,那macromedia本來就應該想盡辦法儘量將開發工具用便宜的方式塞進工程師的手裏,就算免費發送也不為過;而今 zorn採用了大家熟悉的 eclipse編輯環境,再加上一個內建的 compiler,這一招就很聰明的把開發工具散播出去,避免大家一聽到1.2 萬美元就敬而遠之,長遠來看這絕對是正確的選擇。

當然,或許大家也會開始思考,那從此之後flex還有什麼存在的價值?

為了找尋這個問題的答案,我把flash platform(可從mm網站下載)的白皮書又翻出來看了一遍,結果意外的發現答案就在裏面。

在白皮書第18頁 Upcoming Flex Capabilities 這章裏,清楚說明了flex 下一個版本將會有的新功能:

– class library will be extended with new and improved user interface components 這代表flex裏的components 又會變的更精美更強大,但不知到時是否能透過zorn+compiler直接取用?i guess not.

-全新的元件skinning方式、E4X支援、testing tools、usage analysis tools

-data persistence framework,原文是這樣寫的:

New data services are being added to Flex to support transparent data persistence across tiers, occasionally
connected clients, data synchronization, a robust data push infrastructure, and paging large datasets.
….
combined with existing persistence solutions used at the server side (like Hibernate and JDO), these services can provide
an end-to-end, client application-to-database, persistence solution.

所以macromedia終於準備開始提供一個標準的 OR mapping / Persistent layer解決方案,讓client端的物件可以無痛的傳回server並儲存起來。請特別注意文中提到了 Hibernate/JDO,這正是一年前我製作 flash persistent layer時採取的
解決方案,事實証明非常成功,現在只看mm的impelment 手法為何。

-支援 off-line content management

這並不是新東西,flash 2004裏的dataset與deltapacket就是用來做這件事,因此合理的推測是flex打算把這些元件整合進去。

但這個功能比較值得觀察的地方是,flex是否可因此進入desktop app的領域?目前由於flex 是定位成server side product,因此顯示不可能做這件事,但將來可就不一定了。

延伸觀察則是:一旦flex mxml進入desktop 領域,那就會不可避免的面臨與microsoft xaml 正面衝突,畢竟兩者的技術模式相近,主攻的市場也相同,屆時鐵定很精彩。

macromedia原來是那個打頭陣的衝鋒隊啊~~~orz

-Flex will support presence, integration with enterprise instant messaging, and application sharing

這段話的解讀則是:下一版的flex很可能跟 flashcom server結合,才能提供上面講的 IM, app sharing等功能。

這代表者 flex + breeze 嗎?確實很有可能,畢境這樣才能justify 1.2萬美元的price tag啊~

所以簡單的結論如下:

-未來將會有兩種開發flash RIA的方式,一是純flash+actionscript,二是zorn+mxml (喔,對了,你說那FAME要放那裏?它是純手工寫actionscript,所以算第一種)

-flex將轉向提供更高階的企業服務(例如data persistence, IM, application sharing等)

-如果這一切進行順利,來年我們將會看到更多人投入flash RIA的開發,尤其可期待大量 .net/java工程師進入這個領域

-工程師的選擇更多樣化,以我為例,我會在flex裏快速製作prototype給客戶確認並sign-off,但實際開發時則改用純手工 actionscript + flash + 自製的RIA framework,這樣我能夠同時享受flex 快速prototyping的優點,也能省下1.2萬美元的成本並擁有最大的程式彈性。

转载请注明:夜阑小雨 » 【转】zorn、flex与 flash未来的发展观察

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址