Flex/Silverlight的技術(shù)比較
Flex有很多值得學(xué)習(xí)的地方,那么他和Silverlight技術(shù)相比有什么優(yōu)勢(shì)?這里就和大家分享一下,相信本文介紹一定會(huì)讓你有所收獲。
Flex/Silverlight技術(shù)的比較
基于個(gè)人的使用經(jīng)驗(yàn),我從語(yǔ)言、框架、開發(fā)環(huán)境和運(yùn)行環(huán)境四個(gè)方面對(duì)Flex和Silverlight這兩門技術(shù)做一個(gè)比較,自己認(rèn)為這個(gè)比較還是比較全面的。
總的來說,語(yǔ)言方面是Silverlight大勝Flex,框架方面Flex可以說是大優(yōu)勢(shì)戰(zhàn)勝Silverlight,而IDE方面Flex和Silverlight各擅勝場(chǎng),環(huán)境方面Flex仍然占有優(yōu)勢(shì)。
***再說一些比較瑣碎的話題,因?yàn)椴惶梅诸?,并且主觀意味比較濃厚,就不再詳細(xì)比較,當(dāng)作姑妄言之好了。
◆Flex和Silverlight目前來看都是存在一些問題的。有些屬于語(yǔ)言設(shè)計(jì)的范疇,比如ActionScript的聲明語(yǔ)法比較羅嗦,而Silverlight則是綁定屬性的語(yǔ)法特別累贅,但這些問題受系統(tǒng)設(shè)計(jì)限制,基本上已經(jīng)沒有修改的余地了(除非整個(gè)框架推倒重來)。另外一些問題是比較嚴(yán)重但是有望解決的,F(xiàn)lex方面是大項(xiàng)目中的編譯速度讓人抓狂,不過在FlexBuilder4beta中似乎已經(jīng)看到了改善的跡象。Silverlight則是框架還不夠完整,界面組件有限。Silverlight3已經(jīng)比Silverlight2有所提高,加上SilverlightToolkit一類擴(kuò)展可以得到很大改進(jìn)。Silverlight的另一嚴(yán)重問題是IDE工具完全沒有達(dá)到應(yīng)有的水平,VisualStuido插件可用性非常差,此問題從Silveright2到3以后反而有惡化的趨勢(shì),VS2010似乎又是個(gè)極其吃機(jī)器的怪獸,這個(gè)問題短期內(nèi)能否解決,實(shí)在讓人無法樂觀。
如果從程序員的觀點(diǎn)來看,Silverlight的語(yǔ)言特性要比Flex更佳:.Net框架結(jié)構(gòu)上更加完備、多種開發(fā)語(yǔ)言支持、Linq和客戶端多線程,這些都是Flex所欠缺的特性,應(yīng)該為Silverlight額外加分。可惜受到開發(fā)工具和應(yīng)用范圍的限制,這些優(yōu)勢(shì)目前并沒有充分發(fā)揮出來。此外,從從業(yè)人員的現(xiàn)狀來看,F(xiàn)lex語(yǔ)法更加簡(jiǎn)單、容易上手,對(duì)非程序員頗具吸引力,而C#對(duì)這些人來說門檻實(shí)在有點(diǎn)過高。所以這些特性是好是壞,眼下也不太好作出結(jié)論。
從社區(qū)來說,F(xiàn)lex目前已經(jīng)擁有相當(dāng)數(shù)量的用戶和開發(fā)社群,其獨(dú)有的特點(diǎn)是來自設(shè)計(jì)者和程序員兩個(gè)背景完全不同的群體,因此意見和風(fēng)格常常參差不齊,好處是能夠看到不同觀點(diǎn)的碰撞,比較有活力。Silverlight社區(qū)規(guī)模還比較小,基本上全部來自微軟開發(fā)者陣營(yíng),背景相當(dāng)一致,對(duì)程序設(shè)計(jì)通常能夠有很好的觀點(diǎn),缺點(diǎn)是對(duì)UI設(shè)計(jì)師的團(tuán)體和理念缺乏了解,解決思路大多是以程序員為本位的。另外一個(gè)似乎不利于Silverlight的現(xiàn)狀是:Java/開源陣營(yíng)基本上不會(huì)考慮使用Silverlight,反或來說,以微軟技術(shù)為平臺(tái)的開發(fā)者倒是還有相當(dāng)一部分會(huì)采用Flex(從博客園的話題分類也可以看得出來)。
◆Flex和Silverlight未來的趨勢(shì)如何?看一看這兩個(gè)技術(shù)近幾年的發(fā)展趨勢(shì),F(xiàn)lex仍然具有領(lǐng)先優(yōu)勢(shì),但該優(yōu)勢(shì)目前已經(jīng)有所縮小:
Flex2和Silverlight1沒有什么好比較的,Sliverlight1功能實(shí)在太過貧弱,這時(shí)Flex***;
Flex3和Silveright2相比,Silverlight在框架結(jié)構(gòu)上比版本1已經(jīng)有改天換地的提高,拉近了和Flex的距離,但可用組件仍然嚴(yán)重不足;
Silveright3在結(jié)構(gòu)上沒有什么重大改變,主要在于功能的完善。如果說Flex2比Silverlight1領(lǐng)先整整一步的話,那么到Siliverght3,這個(gè)差距已經(jīng)縮小到半步,Silverlight在部分特性上甚至超越了Flex。
目前,Silveright3剛剛出現(xiàn),各方面的支持仍然有待跟進(jìn),Silverlight4眼下還看不到什么消息。而Adobe已經(jīng)開始準(zhǔn)備Flex4,目前釋出了***個(gè)beta版本,從已經(jīng)知道的情況分析,這個(gè)版本在框架上將會(huì)有相當(dāng)重大的修改,明顯意圖再度拉大與Silverlight的差距,在許多方面都設(shè)計(jì)得更加靈活。但兼容性究竟如何、能否允許從前的用戶平穩(wěn)過渡,將會(huì)是Flex4面臨的主要問題。
我以前曾經(jīng)說過,現(xiàn)在仍然這樣認(rèn)為:鑒于微軟自身的市場(chǎng)定位,它絕不希望基于Web的技術(shù)強(qiáng)大到足以讓用戶忽略瀏覽器和操作系統(tǒng)的地步。因此Silverlight將來究竟能發(fā)展到什么程度,長(zhǎng)遠(yuǎn)來看還是不得不打上一個(gè)很大的問號(hào),即使目前來看微軟仍然在力推這門技術(shù)。不過已經(jīng)使用了Silverlight的同學(xué)也無須太過顧慮,只要是微軟推出的技術(shù),不論好或不好,就算是被放棄以后也還能夠生存相當(dāng)一段時(shí)間(看看眼下的IE6)。眼下,F(xiàn)lash在諸如在線視頻等市場(chǎng)的領(lǐng)導(dǎo)地位是不爭(zhēng)的事實(shí),Silverlight暫時(shí)還沒有直接與其對(duì)抗的力量,并且它們還都面臨著一個(gè)共同的對(duì)手——Ajax,未來還會(huì)有HTML5來攪局。所以今后一段時(shí)間,我們大概只能看到它們之間發(fā)生一些小規(guī)模的局部戰(zhàn)爭(zhēng)。
◆FlashPlayer在瀏覽器中的覆蓋率現(xiàn)在超過95%,地位已經(jīng)極其穩(wěn)固,有如今日之Windows,但同時(shí)也意味著基本上再?zèng)]有上升的空間,只能依勢(shì)固守。而Silverlight則有望以后起之秀的姿態(tài)從Flash中搶走一部分市場(chǎng)份額,然而考慮到其他廠商對(duì)微軟的警惕心理和Web標(biāo)準(zhǔn)領(lǐng)導(dǎo)話語(yǔ)權(quán)的力量,Silverlight恐怕也難以取得非常理想的戰(zhàn)績(jī)。作為用戶的我們,其實(shí)也沒有多大必要去在意誰(shuí)會(huì)是***的贏家(歷史為鑒,最終的贏家最初通常都在人們的視野之外。Google勃興而引導(dǎo)網(wǎng)絡(luò)時(shí)代,當(dāng)初沒有任何人預(yù)見到),只要領(lǐng)會(huì)時(shí)代和技術(shù)交鋒進(jìn)步的精彩之處就好了。
【編輯推薦】
- Flex4beta的Spark布局特性解析
- FlexBuilder4十大新特性閃亮登場(chǎng)
- Flex4beta架構(gòu)變化概述
- Flex4Beta引入新元素功能更強(qiáng)大
- FlexBuilder開發(fā)方法及特點(diǎn)解析