`
javatoyou
  • 浏览: 1016595 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

WPF和Silverlight到底有什麼不同?

 
阅读更多
由於名稱的關係, WPF與WPF/E一直被認為是類似的東西.

其實兩者除了呈現UI的部分使用的是共通語言 XAML 之外,

兩者在本質上有很大的不同.

甚至,XAML對WPF與Silverlight有不同的意義,也不能算是兩者間"共通的語言"




XAML對WPF來說,是一種把.NET程式語言改用XML來描述的方式.

換句話說,XAML用在WPF上,像是另外一種程式語言.與C#, VB , IronPython相似.

所以XAML能做的, C# , VB一樣都可以做到. 但是反過來, C# , VB 能做的,

XAML不一定能做到,因為XAML是為了配合開發工具,特別設計出來的一種語言,

本身有他的局限性,所以還是得配合正規的程式語言,才能完成一個真正有用的程式.

但是以目前XAML所具備的能力,不靠C# , VB而做到平常簡單Flash可以做到的,應該是沒啥問題.




因此, Application = Code + Markup的作者Petzold才會把這本書的結構寫成先用以C#來寫WPF程式,後半部才介紹XAML. 避免大家誤解 WPF = XAML.

XAML還可以用在WF上,所以並不局限於WPF. 如果用了XAML,以為這就是WPF的全部,就大錯特錯囉!




然而,XAML對Silverlight來說,本質比較貼近SVG.

XAML 用來描述構成畫面的結構樹,然後配合Javascript去操作這顆表示UI的樹,以達到互動的效果. 所以對Silverlight來說, XAML像是用來擴充HTML/CSS原本不足的一組Tag. 就像Firefox之中,一樣可以用Javascript去操作SVG所描述的畫面,藉以達成多媒體效果.

http://blogs.msdn.com/senwang/archive/2007/04/17/wpf-silverlight.aspx
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics