WPF与winform与silverlight的区别

1.WPF是可以用来开发网站  但WPF不适合做网站  此类技术占用电脑资源太多.

2.可以做网页,在局域网内为妙,如果有WPF网页开发需求,可以尝试转换平台到Silverlight,更适合浏览器应用开发。

3.用sl/wpf做过几个项目,桌面应用wpf首选,做网站还是用sl吧。

4.
silverlight 是wpf的简化版。
silverlight只可用于给WEB应用程序添加动态内容
WPF则可以编写在跨越WEB和桌面的应用程序

转:
http://blog.csdn.net/bitfan/article/details/6128391

5.

收到了一封学生的邮件:

===========================

金老师您好:
        最近在学C#.NET,基本语法学习的差不多了,接下来准备学习图形界面设计部分。但是我目前对于.NET的WinForm、wpf、silverlight这三者的关系弄的不是很清楚,一般书中很少介绍wpf和silverlight,网上搜了一下关于WinForm和wpf的区别,有的说WinForm是wpf的子集,有的说WinForm和wpf是共存关系,弄的很乱。想请教一下您这三者之间到底有什么样的关系呢?
                                                                                                                                                                            您的学生
===========================
 
以下是我对这三者间关系的理解,如果不对,请业界朋友指正。
 
在Windows中,诸如窗体绘制等功能由GDI实现,放在操作系统内核中。Windows Forms在底层使用的是GDI+。GDI+是GDI的“面向对象包装”,使用C++实现。.NET Windows Forms应用程序中使用的GDI+其实是在C++实现的非托管代码之上又包了一层,从而让我们能使用C#这样的托管编程语言调用GDI+功能绘图。
 
WPF底层使用的是DirectX,就是通常用来开发游戏的那个DirectX。WPF与Windows Forms这两者并没有什么关系。按照微软的意图,WPF是用来取代Windows Form的,所以最新的Visual Studio就使用了WPF开发界面,这是一个很明确的信号。
当然,出于兼容目的,Windows Forms与WPF将长期并存,可以把它们看成是两套独立的界面技术。
 
Silverlight在API层可以看成是WPF的子集,但事实上除了这点之外,Silverlight与WPF并没有任何联系。因为Silverlight应用程序不依赖于.NET Framework,只要用户计算机(或手机)安装有Silverlight运行环境(比如用户通过互联网给浏览器添加了Silverlight插件),就可以跑Silverlight应用程序,并不要求用户安装庞大的.NET Framework。Silverlight运行时环境在API层面也可以看成是标准.NET Framework的功能子集,但它完全是重新写过的,独立于标准的.NET Framework,虽然为了方便应用程序开发,微软努力保持两者在API层面的一致性,但并不排除Silverlight运行时环境日后会拥有全新的为.NET标准环境所不具备的功能。
 
Windows Forms/WPF/Silverlight这三者其实是独立发展的三个技术领域,只不过微软出于方便开发的目的,有意让Silverlight与WPF在应用层面开发体验(甚至包括大部分应用层代码)高度一致罢了。
 
从开发角度来看,Windows Forms已有多年的历史,高度成熟,拥有大量的第三方控件等各种资源,如果开发“标准”与“通用”界面类型的Windows应用程序,使用它可以获得较高的开发效率和不错的运行性能。
 
WPF的长处在于它可以开发非常“个性化”的Windows应用程序,你可以不受任何限制地实现你所能“梦想”到的各种用户界面,而且在动画等多媒体方面,WPF优于Windows Forms,另外,WPF的数据绑定机制也比Windows Forms要强大和灵活。WPF的短处在于它对计算机硬件的要求较高,对于硬件配置较低的计算机,其运行性能不如Windows Forms版本。就目前来看,WPF的最佳平台是Windows 7。
 
Windows Forms和WPF主要用于开发桌面应用程序,Silverlight主要战场是互联网,通常用它来开发RIA的互联网应用程序,或者是跑在手机等智能移动设备上的应用程序。可以这样说,会WPF,不费太多力气,就可以转去开发Silverlight应用程序,两者实在是太相似了,特别是界面层代码,由于都使用XAML,这使我们可以比较容易地为某一应用程序同时开发“桌面版”、“手机版”和“浏览器版”三种版本,而这三种版本其用户界面都可以拥有一致的外观和用户使用体验。
 
 
6.http://bbs.csdn.net/topics/360224171(csdn论坛转)
 
7.转:http://shanyou.blog.51cto.com/363653/74313/
由于名称的关系, WPF与WPF/E一直被认为是类似的东西.其实两者除了呈现UI的部分使用的是共同语言XAML之外,两者在本质上有很大的不同. 甚至,XAML对WPF与Silverlight有不同的意义,也不能算是两者间"共同的语言".
    XAMLWPF来说,是一种把.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所描述的画面,达到表现多媒体的效果.
 
 


posted @   阿玛  阅读(6502)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示