wcf wpf

http://blog.csdn.net/thunder09/article/details/5792157html

WPF就是所謂下一代Windows界面層技術,我以爲還有滿有前途的。不過Vista發佈以來,用戶承認度目前確實不高(2009年)。只支持win7和vista. WCF,你就先把它想成Web Service的下一代也沒什麼問題。 WPF用過,就算是winform的下一代吧,繪圖的話能夠實現GDI+一些達不到的效果,國內的書籍資料不多,也就三四本(2009年)。 WCF(Windows Communication Foundation )是一個統一的,可用於創建安全,可靠的面向服務的應用高效的開發平臺。WCF是構建安全可靠的事務性服務的統一框架。它是一種構建分佈式面向服務系統的很是豐富的技術基礎,它統一了消息風格和RPC[Remote Procedure Call]風格,而且經過二進制和基於開放標準的通訊達到了平臺最優化。 它整合了.Net平臺下全部的和分佈式系統有關的技術,例如ASP.NET Web服務(ASMX)、加強Web服務擴展(WSE)、.Net Remoting、企業服務(Enterprise Service)和微軟消息隊列(MSMQ)。 WPF與Silverlight有何不一樣? WPF(Windows Presentation Foundation),主要是提供統一的展示層模組,來創建諸如Windows Vista智慧型使用者體驗,包含了使用者介面、3D模組、多媒體、文件等;而Silverlight是跨瀏覽器上的外掛,傳達下一代網頁多媒體互相性功能,隸屬於WPF功能上的子集,並可與Ajax來作高彈性的程式化互動。兩者都是互補,也是基於XAML的展現層基礎,若與Adobe技術比, Silverlight猶如Flash,WPF猶如AIR(前身爲Apollo),XAML猶如MXML WCF爲Windows Communication Foundation,是Microsoft爲構建面向服務的應用提供的分佈式通訊編程框架,是.NET Framework 3.5的重要組成部分。從功能的角度來看,WCF徹底能夠看做是ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技術的並集。 WPF是Windows Presentation Foundation,微軟新發布的Vista操做系統的三大核心開發庫之一,其主要負責的是圖形顯示,因此叫Presentation(呈現)。 WPF相對於WinForm,將美工(控件樣式設置)與實現(代碼的業務實現)分開,是一種新的架構方式。 VS2008新特性是.Net Framework 3.5。 WPF的全稱是Windows Presentation Foundation,是微軟新發布的Vista操做系統的三大核心開發庫之一,其主要負責的是圖形顯示,因此叫Presentation(呈現)。 08裏主要有WCF,WPF,LINQ等 http://www.cnblogs.com/njypcmqj/archive/2008/05/26/1207284.html http://www.cnblogs.com/jillzhang/archive/2008/02/16/1070907.html WCF用統一的api來整合如今混亂的webservice remoting之類的東西, wpf就是下一代的winform吧 /////////////////// 1.WPF是什麼 Windows Presentation Foundation ,縮寫爲WPF,其原來代號爲「Avalon」,因「我佩服」拼音首字母組合同樣,國內有人調侃地稱之爲「我佩服」。WPF是微軟新一代圖形系統,運行 在.NET Framework 3.0架構下,爲用戶界面、2D/3D 圖形、文檔和媒體提供了統一的描述和操做方法。基於DirectX 9/10技術的WPF不只帶來了史無前例的3D界面,並且其圖形向量渲染引擎也大大改進了傳統的2D界面,好比Vista中的半透明效果的窗體等都得益於 WPF。 程序員在WPF的幫助下,要開發出媲美Mac程序的酷炫界面已再也不是高不可攀的奢望。 WPF相對於Windows客戶端的開發來講,向前跨出了巨大的一步,它提供了超豐富的.NET UI 框架,集成了矢量圖形,豐富的流動文字支持flow text support,3D視覺效果和強大無比的控件模型框架。 WPF與XAML 20世紀90年代中期,基於SGML,衍生出的XML的應用已變得極爲流行。許多開發者把XML視爲解決全部計算機開發問題的靈丹妙藥,XML幾乎無處不在。 針對Vista操做系統,微軟提供了專門的界面開發語言XAML(eXtensible Application Markup Language,可擴展應用程序標記語言)。XAML做爲微軟Vista操做系統的界面描述語言,它可對WPF程序的全部界面元素進行定製,從而構建炫 麗奪目的軟件界面。 XAML做爲界面描述語言(注意是「語言」),它最終會被編譯成.Net後臺代碼。所以,它可以同後臺進行邏輯處理的.NET語言如C#、J#、C++、 VB等協同工做,其工做性質相似於ASP.NET中的HTML。XAML的產生,使得界面描述代碼和程序代碼得以分開,從而提升了開發效率並有利於團隊開 發。 同HTML同樣,XAML既能夠直接編碼,也能夠由專門的工具生成。目前最好的XAML編輯器是Expression Blend,但你也可使用Windows SDK for Windows Vista中的XAMLPad,但功能卻顯得太簡單。 2.WPF何以使人佩服 一直以來,完美的用戶體驗是桌面應用程序和Web應用程序中的一大障礙。許多開發人員絞盡腦汁將界面設計得美觀炫麗些、互動感強些,但費了九牛二虎之力, 仍是差強人意。因爲技術上的限制,Web 應用程序沒法提供與桌面應用程序一樣豐富的用戶體驗。而隨着電腦與每一個人的生活、工做變得密不可分,人們對桌面應用程序的要求也不斷提升。永不知足的人們 要求桌面應用程序可以播放視頻、運行動畫、採用二維或三維圖形,以及調用不一樣的文檔。 想實現這些嗎?那就用WPF!來句流行的廣告詞:用了都說好! 使用 WPF,你能夠建立豐富、美妙的鏈接應用程序,以充分利用 Windows 平臺,其中包括 UI、媒體、脫機通訊和文檔支持。 先來講說WPF程序的設計製做過程。 通常地,大多數WPF程序都將同時包含XAML代碼和程序代碼。咱們首先使用XAML定義程序界面(如前所述,能夠手工編寫,也能夠採用 Experssion Blend等可視化工具編寫),而後再用.NET語言(C#, VB.Net等)編寫相應的邏輯代碼。和ASP.NET相似,邏輯代碼既能夠直接嵌入XAML文件中,也可保存爲獨立的代碼文件。 儘管XAML並不是設計WPF程序所必須,咱們依然能夠按照傳統方式使用程序代碼來實現界面設計製做。可是,若是使用XAML,界面設計和邏輯設計就能夠完 全分離。這樣,不但使程序的開發和維護更加方便,並且當進行團隊開發時,可真正實現「專業的人作專業的事」,把界面設計交給專業的美術設計師們去完成,而 讓咱們精力和時間都寶貴的程序員們專心致志於業務邏輯的實現。真正作到「各盡其能,各施其職」,最終獲得一個功能強大、界面一流的WPF程序。這時,就只 等用戶「滿意一笑,開心買單」了。 據說如今的人都講求實在,講求效益。那麼,WPF給咱們的桌面應用程序和Web應用程序帶來了哪些實實在在好處呢? 首先,一套編碼,桌面應用程序與Web應用程序都可運用,這固然就節省成本啦。固然,某些時間,改改適當代碼是必需的。但改動量如此之小,讓你很驚異偉大的Microsoft,讓你不得不服(WPF的「我佩服」傳說就此而來?)。 其次,WPF不只使美化、多樣化了桌面應用程序,也是使Web變得奇光異彩。WPF使得3D進 入Web成爲可能。好比,你可使用矢量圖形設計軟件(Illustrator, CorelDraw等, 微軟也有了!叫「Expression Designer」)設計好圖片,而後將圖形輸出或導出成爲XAML格式。而後,你能夠在Blend中打開XAML文件,製做成動畫,最後生成的也是 XAML。經過.Net語言(如C#)進行編程,還能夠控制這些XAML。加上有VS2005/2008優秀的開發環境,可謂之「牛B無敵」。XAML+ C#是大趨勢,必將吸引大批追捧者(從微軟.Net的成功,已從一個側面印證了這一點)。 更多的技術細節。 實際上,WPF 的支持範圍遠不止基本用戶界面應用那麼簡單,還包括: (1)文檔的變革。之因此稱其爲「變革」,是由於它不只可使用傳統的屏幕顯示/打印文檔(XPS),並且還可使用 FlowDocument 標記來顯示流文檔。文檔中不只能夠有文字、圖片、連接,還能夠有三維動畫、視頻等。試想一下,在某個重要的日子,當你將全部與他/她在一塊兒時浪漫的照片、 舒適的視頻、甜蜜的話語,加上瀟灑的簽名,發揮你豐富的想象力,作成一個動感十足的動畫,或是豐富趣味的互動遊戲,將之保存爲一份多媒體文檔,在恰當的時 間,利用恰當的機會,把它送給他/她的時候,他/她看到以後又是怎樣一種感受呢?在恰當的時間、恰當的地點,由恰當的人,作出恰當的事,這就是最「恰當不 過」的了! (2)圖形:WPF 支持建立二維和三維矢量圖形。對於二維圖形,WPF 提供標準抽象,例如,形狀、畫筆和繪圖筆,同時還容許三維圖形定義模型,以用於指定光線和攝像機位置信息。與早期技術(GDI, GDI+)不一樣的是,WPF 圖形並非使用開發人員所必須瞭解的單獨一組概念進行圖形圖像繪製,用於圖形描述的XAML元素可以與那些用戶界面其餘元素天然組合。好比按鈕,能夠是文 字,也但是帶圖形和文字的組合,還能夠有更多功能。 (3)圖像:WPF使用 XAML 的圖像標記,可在應用程序中顯示不一樣格式的圖形,包括 JPEG,GIF,PNG及其餘格式。WPF依靠WIC(Windows Imaging Component) 爲編解碼器,以及顯示和存儲圖像的軟件提供標準框架。在 WPF 中,一般圖像元素能夠與其餘元素組合,好比按鈕,能夠顯示爲圖像按鈕而不是簡單的文本標籤。 (4)多媒體視頻及音頻:WPF可以使用MediaElement 標記來顯示不一樣格式的視頻和音頻,包括 WMV、AVI 和 MPEG等。一樣,此元素也可與其餘 XAML 元素相組合,更讓人稱奇的是,你甚至可使三維立方體的全部側面上都顯示視頻。繼續發揮你的想像力,你可讓它們動起來,好比3D旋轉,拖動或縮放某一側 面,或是作出你要的效果。在這個世界裏,你能夠真正作到「人有多大膽,地有多大產」。 (5)動畫:WPF 提供動態顯示絕大部分用戶界面的內置支持。例如,放大和縮小矩形、更改按鈕大小。與Adobe Flash中時間線相似,你還能夠定義包含時間線的情節提要,也能夠調整動畫的發生順序。 (6)數據綁定:基於多數程序都須要顯示數據,所以,WPF提供將數據映射到用戶界面元素的自動支持功能。相似asp.net的方式, WPF 可爲包含在對象和其餘源中的信息提供數據綁定,並且還容許在顯示數據前對其進行排序和篩選。 最後,可以讓原有圖形圖像的重複利用,使你原有的投資發揮最大的效益。 因爲XAML基於XML,它的格式是開放的。所以市面上出現了大量有用的轉換工具,利用這些工具,能夠將你原來在其餘設計軟件(如Photoshop、 Illustrator、AffectEffects,其餘三維設計軟件等)製做出來的圖形圖像、3D動畫等導出爲XAML。 3.針尖對麥芒——WPF給Adobe帶來的挑戰 不是冤家不聚頭。看來,此次微軟與Adobe,是有一場或明或暗的較量了。 微軟大舉擁軍進入UI領域,欲與Adobe一決雌雄?這有可能。微軟的野心,誰也看不透。是否是世界原本不少路,走的人多了,就沒路可走了呢?總之,這種短兵相接的競爭,對廣大用戶而言,老是利好。 這個咱們先無論,讓咱們來看看微軟的Expression系列產品,而後再看看對WPF的影響因素。 微軟與Adobe在UI領域的產品線比較 (1)圖形圖像設計類:Expression Designer。 插畫與圖形設計工具,可以讓你設計賞心悅目的網頁及應用程序窗口介面,此工具也可用在WPF程序上,相似Adobe的illustrator設計軟件。 (2)網頁設計類:Expression Web。 網頁設計工具,與Adobe的Dreamweaver相似,雖不能直接開發WPF程序,但與VS2005或VS2008相結合,可開發出完美的WPF程序了。 (3)動畫設計類:Expression Blend。 專門用來創建互動式桌面應用程序及SilverLight網頁互動式工具。相似Adobe的Flash。 最後仍是介紹一下,Expression Studio家族的新丁:Expression Media。 它是由以前的iView MediaPro演變而來。能夠說其是一個「物件管理工具」,包括了一個用於跟蹤如圖片、字體、音/視頻等數字媒體的可視化目錄,可以將矢量圖形、位圖、 3D內容、視頻、音頻和富文本合成到一塊兒,三維視圖可以自由地混合在其餘2D和媒體元素之間,容許在一個設計做品的不一樣元素之間進行功能強大的可視化交 互;亦可添加3D圖形與動畫,並能對加入的3D對象進行直接控制,如XYZ座標變換、3D照相機、表面材質、Z空間動畫以及表面紋理貼圖等;也可從主流第 三方3D創做工具中導入複雜的幾何圖形,還可以製做高質量交互式視頻,包括 HD視頻。它還支持衆多第三方軟件,這些軟件能夠用於Windows Media編碼、編輯、內容管理、數字版權管理等。 影響因素 WPF與Expression是否是能分得Adobe設計領域的這塊大蛋糕,還有許多因素: (1)微軟推廣WPF和Expression系列產品的決心。 (2)WPF與Vista操做系統的普及密切相關。將來幾年Vista的市場佔有率是WPF可否真正成功的關鍵。任何產品的市場普及都是須要時間的,就象 以前Windows系列產品的升級換代同樣。預計一兩年以後會有激戰加苦戰,同時,Flash與WPF將並存至關長的一段時間。畢竟,這是Adobe苦心 經營多年的市場。擁有大量忠實用戶,這一點從Photoshop圖書市場的火爆可見一斑。 (3)Expression工具是否好用。 (4)價格因素。 (5)在將來市場可否逐漸成爲標準。畢竟Flash的SWF格式已在90%以上的瀏覽器中安裝。 不得不認可,做爲設計領域多年的霸主,Adobe的實力三年內暫時是沒法撼動的。微軟對這方面的但願也是寄與將來的操做系統和開發工具,從目前的狀況來 看,微軟推出的絕大多數設計類產品,都是針對程序開發相關人員的。不過,在微軟步步進逼的同時,Adobe必定會還以顏色。試想當有人把刀架到你脖子上, 讓你就範時,是人都會反擊,況且是設計巨無霸Adobe? Adobe推出的Flash(Flex、Apollo)平臺正在向application領域穩步前進,而且和開源開發工具Eclipse愈走愈近,以便 能與微軟Visual Studio打擂臺。所以,微軟還有至關長的路要走。 4.哪些人應該關注WPF (1)Net Windows Forms開發人員。 在.net 1.0, 1.1或2.0中開發過Windows Forms應用程序的程序員們深有體會,若是須要製做漂亮的界面,咱們不得不使用GDI+編寫大量自定義控件,裏面涉及紛繁複雜的圖形繪製,其中的大量的 繪製API可能曾讓你頭痛不已。恭喜你,當你使用WPF來完成這些任務時,一切變得輕輕鬆鬆。固然,若是你是GDI+方面的高手,你仍然能夠定製你的控 件。 (2)使用Win32及MFC開發者。 Win32及MFC開發者也會遇到程序界面繪製的問題,有時爲了知足用戶「美的享受」,你是否曾經爲諸多的類庫,複雜的繪製算法而費盡腦細胞?它們是否是讓你付出太高昂的時間和精力代價?在WPF裏,「一切盡在掌握中」。 (3)圖形圖像開發人員。 若是你是圖形圖像開發人員,那麼,請留意了!若是你還在爲各類2D,3D的圖形圖像算法而潛心專研時,人家初學者使用WPF,可能輕輕一點,出來的效果已超過你多天左思右想的結果。 (4)網站程序開發人員。 知道XBAP嗎?知道SilverLight嗎?若是不知道,請多關注它們,不然,一年半載以後,你會發現,你落伍了! (5)平面設計人員、Flash開發者。 衆所周知,Photoshop能夠作出炫彩奪目的圖片效果,FLASH動感十足。而號稱Flash殺手的SilverLight (「銀光」,最終微軟將中文字定爲何,不得而知。我倒認爲中文名字應該叫「炫光」,我這裏仍是緣用大多數人的說法吧)一登場, 就引發了無數設計者的目光。它是否是真的Flash Killer?銀光閃現,「閃客」們如何應對?程序員

相關文章
相關標籤/搜索