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