WPF正式發(fā)布已經(jīng)一年多了,但國內(nèi)的很多人對(duì)于這個(gè)名詞仍然很陌生,當(dāng)然這是很正常的,畢竟一項(xiàng)技術(shù)的推廣和成熟需要一個(gè)漫長的過程。最近我很高興看到國內(nèi)越來越多的技術(shù)愛好者開始學(xué)習(xí)WPF,有學(xué)生、美工、也有正從事WPF開發(fā)的朋友,但相比較國外的WPF開發(fā)隊(duì)伍而言,還屬于“珍稀物種”,不過這是一個(gè)好的現(xiàn)象,也希望有越來越多的人加入到這只新生技術(shù)力量中來。
WPF技術(shù)社區(qū)(不包括blog)
國外比較著名的WPF社區(qū)以
MSDN WPF Forum為主,codeproject上也有不少不錯(cuò)的WPF文章。微軟自己也為.NET Framework 3.0專門提供了一個(gè)門戶:
www.netfx3.com,原來wpf專欄是wpf.netfx3.com,但目前已經(jīng)遷移到另外一個(gè)網(wǎng)站,叫做windowsclient.net,其中你不僅可以找到大量的WPF范例和教程,也可以找到有關(guān)WinForm的資源,這一點(diǎn)從這個(gè)域名的字面就可以看出來(它是為Windows客戶端技術(shù)準(zhǔn)備的)。
nibblestutorials.net也是個(gè)不錯(cuò)的網(wǎng)站,網(wǎng)站本身就是用silverlight實(shí)現(xiàn)的,由于界面特別有質(zhì)感會(huì)給人一種眼前一亮的感覺。這個(gè)網(wǎng)站的內(nèi)容全部是WPF、Silverlight的教程,也有Blend的教程,對(duì)于初學(xué)者來說確實(shí)是一個(gè)不可多得的網(wǎng)站。
WPF Blogs
WPF Blogs在最近一段時(shí)間如雨后春筍一般,似乎越來越多的人開始接觸WPF了。當(dāng)然比較有看頭的Blog自然還是最早一批從事WPF開發(fā)的人或者干脆是WPF開發(fā)團(tuán)隊(duì)的人。下面舉出一些比較有代表性的Blog:
ATC Avalon Team Blog
http://blogs.msdn.com/atc_avalon_team/注釋:這個(gè)Blog恐怕是最早的WPF Blog了,而且在2006年6月就已經(jīng)關(guān)閉,不過里面的文章質(zhì)量還是不錯(cuò)的,畢竟是WPF team的人寫的,估計(jì)很多案例是拿來做測試用的。
WPF 3D Team Blog
http://blogs.msdn.com/wpf3d/default.aspx WPF Text Team Blog
http://blogs.msdn.com/text/ WPF XPS Team Blog
http://blogs.msdn.com/xps/ Tim Sneath's Blog
http://blogs.msdn.com/tims/ John Smith's Blog
http://www.infusionblogs.com/blogs/jsmith/default.aspx 注釋:John Smith是比較早從事WPF開發(fā)的一批人之一,他還開發(fā)了一套WPF類庫,從一定程度上解決了一些開發(fā)中的問題,你可以從
http://www.codeproject.com/useritems/WPFJoshSmith.asp了解他的這套類庫。
Ian Griffiths's Blog
http://www.interact-sw.co.uk/iangblog/ 注釋:Ian Griffiths是Programming WPF的作者
Adam Nathan's Blog
http://blogs.msdn.com/adam_nathan/ 注釋:WPF Unleashed的第一作者
WPF范例
最近一段時(shí)間最著名的范例應(yīng)該就是Family Show 2.0了,這是由Vertigo公司出品的,最主要的一個(gè)原因可能與其共享源代碼有關(guān),很多學(xué)習(xí)WPF的人都會(huì)關(guān)注這個(gè)應(yīng)用程序,確實(shí)其中有很多東西可以借鑒和參考,而且一些效果也做的很不錯(cuò),這個(gè)程序不僅僅讓那些以前從事WinForm開發(fā)的人感到震撼,就連一些外行人看到這么漂亮一個(gè)程序也不盡會(huì)感嘆幾句,或許這對(duì)于用戶才是真正友好的用戶界面。有關(guān)Family Show的詳細(xì)信息可以參考:
http://www.vertigo.com/familyshow.aspx當(dāng)然,F(xiàn)amily Show僅僅是一個(gè)代表而已,其實(shí)WPF應(yīng)用程序現(xiàn)在已經(jīng)有不少了,只不過很多是不公開源代碼的,或者還處于開發(fā)階段,或者開發(fā)完了但還沒有發(fā)布,或者有些是非共享的。例如新的Microsoft Dynamics CRM中就用WPF來做數(shù)據(jù)呈現(xiàn),如報(bào)表、關(guān)系網(wǎng)、聯(lián)系人等。
Yahoo Messenger也是有很名的一款基于WPF實(shí)現(xiàn)的軟件,其界面真的可以用完美來形容,不得不感嘆UI設(shè)計(jì)師的功底,這一點(diǎn)也是國內(nèi)很多軟件所應(yīng)該學(xué)習(xí)的,似乎國內(nèi)軟件根本不注重界面這一塊,要么就是照搬國外著名軟件的界面,比如VS IDE。有關(guān)Yahoo Messenger的詳細(xì)信息可以參考:
http://messenger.yahoo.com/windowsvista.phpthe North Face(著名的服飾和背包品牌)也有一個(gè)基于WPF的應(yīng)用,是一個(gè)產(chǎn)品的瀏覽器,只不過下載不到,有關(guān)這個(gè)軟件的介紹可以看:
http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201147 New York Times Reader也是很有名的WPF范例之一,由于它通過WPF基本還原了紐約時(shí)報(bào)的排版,給人的感覺就像在看真正的紐約時(shí)報(bào)一樣,有關(guān)它的詳細(xì)信息可以參考:
http://firstlook.nytimes.com/ WPF產(chǎn)業(yè)
以WPF為基礎(chǔ)的產(chǎn)業(yè)在國外已經(jīng)逐漸形成,以幾家老牌控件廠商為首的“WPF先鋒隊(duì)”已經(jīng)沖到了最前線,比如Infragistics、Xceed、ComponentOne等都是我們十分熟悉的控件廠商,當(dāng)然其制作出來的WPF控件也自然是比較牛的,Infragistics將其拳頭產(chǎn)品NetAdvantage升級(jí)為WPF的版本,叫做NetAdvantage For WPF;Xceed的WPF Grid堪稱一絕,不信的話你可以去
Xceed的網(wǎng)站看看Demo,相信你一定會(huì)被這套控件的絢麗效果所折服;ComponentOne則瞄準(zhǔn)了Silverlight控件市場,推出了代號(hào)為Sapphire Control Suite的產(chǎn)品,目前ComponentOne正和Silverlight team密切合作,這與目前Silverlight的不成熟有關(guān),很多效果和控件還很難實(shí)現(xiàn),有了ComponentOne的介入,相信以后開發(fā)silverlight應(yīng)用會(huì)很輕松(當(dāng)然肯定不是免費(fèi)的);VantagePoint也出了一套WPF控件,不過這套控件的風(fēng)格有些特別,第一眼乍一看還以為是Flash動(dòng)畫,比如風(fēng)車、街機(jī)按鈕、開關(guān)、電壓指示器等,不過放在程序中應(yīng)該會(huì)很玄,給人一種娛樂的感覺。
還有一些公司則完全做WPF咨詢兼開發(fā),不過目前為止還沒有特別出名的,好些還是剛剛成立的小公司(有幾家是原來最早從事WPF開發(fā)或者參與過著名的WPF范例的人開的)。不過有一家公司不得不提,那就是identity mine,這是一家典型的從事WPF開發(fā)咨詢的公司,它與微軟合作開發(fā)了多款基于WPF的應(yīng)用,具體大家可以去看該公司的網(wǎng)站:
http://identitymine.com/。我個(gè)人很看好WPF咨詢這塊市場,畢竟WPF剛剛起步,知道有WPF這個(gè)東西就不錯(cuò)了,能夠精通實(shí)屬不易,這無疑會(huì)成為技術(shù)咨詢公司的核心競爭力。
thirteen23也是很著名的WPF解決方案提供商之一,從它網(wǎng)站首頁的橫幅中就可以看到它的產(chǎn)品有多么多,并且大部分(也許是全部)都是基于WPF的,具體信息大家可以看該公司的網(wǎng)站。國內(nèi)到目前為止只看到過個(gè)位數(shù)的公司在從事WPF開發(fā),至于開發(fā)咨詢就更少了(微軟自己除外)。
WPF工具
目前大部分的開發(fā)者還是基于VS2005+.NET Framework 3.0 Extension在做WPF開發(fā),VS2008目前仍然是beta版,恐怕用的人并不多,當(dāng)然其對(duì)于WPF的支持要遠(yuǎn)遠(yuǎn)好于VS2005,就讓我們期待明年2月VS2008正式發(fā)布吧。
Expression Blend和Expression Design作為WPF最主要的兩款設(shè)計(jì)工具,目前已經(jīng)有Expression Blend 2 Sep Preview版本了,功能上比Expression Blend 1.0強(qiáng)好多,對(duì)于很多原本不支持的WPF功能進(jìn)行了增強(qiáng),我個(gè)人用下來覺得使用Expression Blend進(jìn)行WPF開發(fā)要比在VS2005中開發(fā)不知道好多少,最突出的特點(diǎn)就是Expression Blend的界面預(yù)覽功能明顯要比VS2005 extension強(qiáng),并且支持動(dòng)態(tài)資源,基本上只要xaml是正確的都可以在設(shè)計(jì)時(shí)顯示出界面來,這樣才叫所見即所得嘛!VS2005對(duì)于WPF而言似乎還是只能當(dāng)代碼編輯器來用,希望VS2008在這方面能夠有所改進(jìn),至少不要?jiǎng)硬粍?dòng)就說XAML無法呈現(xiàn)。
至于Expression Design目前仍然是1.0,不過功能基本夠用了,Expression Design可的確是給美工用來編輯矢量圖形的,設(shè)計(jì)完了再導(dǎo)入Expression Blend,似乎更像一個(gè)圖像編輯軟件。
最后祝大家國慶快樂!