新聞中心
本文和大家重點(diǎn)討論一下關(guān)于Flex的幾個(gè)瓶頸問(wèn)題,譬如說(shuō)在安全方面,如果要用WebService的話,中間不可避免的產(chǎn)生一些讓人無(wú)法避開(kāi)的問(wèn)題,比如說(shuō):權(quán)限問(wèn)題、用戶名和密碼問(wèn)題。至于其他方面問(wèn)題請(qǐng)看本文詳細(xì)介紹。

關(guān)于Flex的幾個(gè)瓶頸淺析
最近好像不是太忙了,閑下來(lái)的時(shí)候卻又總是想著關(guān)于Flex和ASP.NET各個(gè)方面的優(yōu)勝劣汰,又一直想用Flex來(lái)開(kāi)發(fā)一個(gè)在性能、安全性和外觀上都不錯(cuò)的Blog系統(tǒng)。但最近卻遇到了前所未有的困難,讓我著實(shí)有點(diǎn)不知道如何下手,相對(duì)于ASP.NET,我覺(jué)得這實(shí)在是有點(diǎn)讓人難受。
一、在安全方面
尤其是考慮的越深越讓人頭疼,如果要用WebService的話,中間不可避免的產(chǎn)生一些讓人無(wú)法避開(kāi)的問(wèn)題,比如說(shuō):權(quán)限問(wèn)題、用戶名和密碼問(wèn)題。一般來(lái)說(shuō),我個(gè)人比較喜歡用WebService,因?yàn)槠鋸V泛性。然而如果在MXML里面調(diào)用WebService,并要執(zhí)行像Delete或Insert命令的時(shí)候,世界上的任何一個(gè)用戶都能看到這樣一個(gè)WebService對(duì)應(yīng)的Opration。因?yàn)镸XML的源代碼是開(kāi)放的。那么在安全性方面,迫使我們將不得不放棄這樣一項(xiàng)后臺(tái)操作。(可笑的是:我想到用Flex來(lái)顯示頁(yè)面,然后用ASP.NET來(lái)操作后臺(tái)數(shù)據(jù)庫(kù))。同時(shí)SharedObject也并不安全,因?yàn)轱@示在本機(jī)上,任何一個(gè)寫入的sharedObject都可以人為的輸入,這樣就讓人感覺(jué)太不安了,對(duì)于頭腦聰明的人來(lái)說(shuō),逆思考時(shí)最愛(ài)做的一件事。
二、在數(shù)據(jù)顯示方面
比較好用的是DataGrid,然而這樣一個(gè)DataGrid卻遠(yuǎn)遠(yuǎn)無(wú)法滿足我們?cè)趹?yīng)用方面的需求。拿個(gè)很簡(jiǎn)單的例子來(lái)說(shuō):你要顯示像本站的的主頁(yè)面的那樣的形式。DataGrid似乎線顯得蒼白無(wú)力,在MXML的Core的Pakeage中,我發(fā)現(xiàn)有Repeater這樣一個(gè)類。于是花費(fèi)心機(jī)想好好利用一下里面的東西,不過(guò)其復(fù)雜程度似乎超越了我的能力。并且似乎還非得結(jié)合使用Panel和Tile這樣兩個(gè)組件來(lái)使用。很奇怪的是,在Beta1.0和Beta2.0中我還能在Components中看到Repeater這樣一個(gè)可視化的組件,結(jié)果想在Beta3.0中想研究一下的時(shí)候,卻找不到了,這樣就只能用代碼了,但用代碼卻又得不到很好的可視化效果,在數(shù)據(jù)綁定方面更是讓人頭痛?,F(xiàn)在對(duì)ASP.NET的DataList和Repeater的感覺(jué)頓感親切啊。
三、多個(gè)頁(yè)面
如果一個(gè)網(wǎng)站不僅僅只有幾個(gè)頁(yè)面,而是很多頁(yè)面,那么這樣一個(gè)MXMLProject將表現(xiàn)得很不好,因?yàn)樵谝粋€(gè)工程里面只能有一個(gè)MXML文件(這是Adobe推薦的)。這樣我們就得用更多的State來(lái)顯示了,而這樣無(wú)疑將增大代碼的復(fù)雜程度,在可閱讀性方面將大打折扣。同時(shí)將無(wú)可避免的增大最后渲染輸出的SWF文件,那么下載又將是一個(gè)很大的問(wèn)題。
四、在代碼分離方面
雖然你可以自定義CSS文件,然而這樣定義的CSS文件卻并不能動(dòng)態(tài)的顯示在MXML文件中,這樣很煩人。在編輯CSS文件的時(shí)候也沒(méi)什么好的方式,更沒(méi)有Dreamweaver那么好的CSS編輯方式。另外在ActionScript方面,這個(gè)應(yīng)該算是一個(gè)亮點(diǎn)了,可是對(duì)于不理解什么是面向?qū)ο蟮娜藖?lái)說(shuō),就顯得很困難了。Flex雖然上手容易,然而真正掌握其中的事件處理方式很程序,從真正意義上掌握卻并不大容易。另外,我發(fā)現(xiàn)返回的XMLObject中的String包含的等等Html標(biāo)簽,在DataGrid中和別的一些控件中并沒(méi)有解決方式。
五、外觀顯示
這既是它的一大亮點(diǎn),又是它的一大不好的地方。好的是,我們并不需要下太大的功夫就能做出不錯(cuò)的效果;不好的方面就是,即使我們畫好的功夫也不大能做出好的效果。同時(shí)Flash似乎和Flex整合的還并不是太好,如何將在Flash里做好的東西應(yīng)用到Flex中也是一個(gè)研究的問(wèn)題。
總結(jié)
綜上所述,雖然Flex剛出世就給人一個(gè)又一個(gè)的驚喜,然而想讓更多人參與進(jìn)去,并不是很容易的一件事。這里我不得不說(shuō)Flex炒作有點(diǎn)厲害了,就同Ajax一樣,人們最開(kāi)始看到了簡(jiǎn)單的一面,但對(duì)于深層次的一點(diǎn)的東西卻并不了解,對(duì)于語(yǔ)言的研究不僅限于ActionScript,我想最好還要學(xué)學(xué)更高級(jí)的語(yǔ)言,這樣才能更好的理解其中的長(zhǎng)和短,而不盲目的追風(fēng)。當(dāng)然Flex還在成長(zhǎng),還在不斷進(jìn)步,我還是相信它的前途的。也相信Adobe將不負(fù)Macromedia所望,最終將創(chuàng)造另一個(gè)奇跡。
分享名稱:解析Flex的幾個(gè)瓶頸問(wèn)題
轉(zhuǎn)載來(lái)于:http://www.5511xx.com/article/dhposeh.html


咨詢
建站咨詢
