转自--http://hi.baidu.com/wl5026442/item/6ce62b4d19ff64e61381da9c

SilverLight可以看作是WPF的一个简化版本,或者一个轻量版本。

SilverLight是基于浏览器插件的,在浏览器中运行,服务器端不需要部署任何环境,客户端只需要安装Runtime浏览器插件,无须安装.net Framework 3.0。所以,SilverLight的运行环境不受操作系统和浏览器的种类限制(更准确的说,是受到较少的限制)。

WPF可以编写Web程序或者桌面应用程序,可以直接编译为独立运行的.Exe文件。WPF运行时必须安装.net Framework 3.0。这就要求WPF目前运行的操作系统必须是Windows Vista或者Windows XP SP2。

此外,SilverLight作为WPF的一个轻量级的版本,比WPF削减了很多功能。 
比如,WPF支持直接在XAML中绑定触发来触发动画,而SilverLight就只能通过托管代码或者Javascript来进行。 
另外,WPF直接支持3D效果和3D镜头变换,但是SilverLight就不支持这个了。

Silverlight原名WPF/E 就是WPF Everywhere 是WPF的一个子集。

由于名称的关系, 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所描述的画面,藉以达成多媒体效果。

WCF,你就先把它想成Web Service的下一代也没什么问题。
WCF为Windows Communication Foundation,是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework 3.5的重要组成部分。从功能的角度来看,WCF完全可以看作是ASMX,.Net Remoting,Enterprise Service,WebService,MSMQ等技术的并集。 
WPF是Windows Presentation Foundation,微软新发布的Vista操作系统的三大核心开发库之一,其主要负责的是图形显示,所以叫Presentation(呈现)。 WPF相对于WinForm,将美工(控件样式设置)与实现(代码的业务实现)分开,是一种新的架构方式。 
VS2008新特性是.Net Framework 3.5。

转载---WCF、WPF、Silverlight和区别的更多相关文章

  1. WPF与winform与silverlight的区别

    收到了一封学生的邮件: =========================== 金老师您好: 最近在学C#.NET,基本语法学习的差不多了,接下来准备学习图形界面设计部分.但是我目前对于.NET的Wi ...

  2. XData -–无需开发、基于配置的数据库RESTful服务,可作为移动App和ExtJS、WPF/Silverlight、Ajax等应用的服务端

    XData -–无需开发.基于配置的数据库RESTful服务,可作为移动App和ExtJS.WPF/Silverlight.Ajax等应用的服务端   源起一个App项目,Web服务器就一台,已经装了 ...

  3. WPF/Silverlight Template使用及总结(转)

    WPF/Silverlight 中的控件都有Style和Template两种属性.前者解释为样式,是用来改变控件原有属性的,比如 Button 控件的(Width,Height,Background ...

  4. WPF/Silverlight HierarchicalDataTemplate 模版的使用(转)

    上一篇 对Wpf/Silverlight Template 进行了总结,本篇继续上一篇,主要是介绍 HierarchicalDataTemplate 的使用方法.HierarchicalDataTem ...

  5. WPF基础到企业应用系列7——深入剖析依赖属性(WPF/Silverlight核心)

    一. 摘要 首先圣殿骑士非常高兴这个系列能得到大家的关注和支持.这个系列从七月份開始到如今才第七篇,上一篇公布是在8月2日,掐指一算有二十多天没有继续更新了,最主要原因一来是想把它写好,二来是由于近期 ...

  6. Mvvm Light Toolkit for WPF/Silverlight系列之搭建mvvmlight开发框架

    Mvvm Light Toolkit for WPF/Silverlight系列之搭建mvvmlight开发框架   本章节,我将通过示例介绍如何搭建mvvmlight开发环境.示例中的我会针对wpf ...

  7. wcf wpf

    转 http://blog.csdn.net/thunder09/article/details/5792157 WPF就是所谓下一代Windows界面层技术,我觉得还有满有前途的.不过Vista发布 ...

  8. WPF/Silverlight深度解决方案:(一)解锁被Storyboard束缚的关联属性

    原文 WPF/Silverlight深度解决方案:(一)解锁被Storyboard束缚的关联属性 如果您在使用WPF/Silverlight进行相关动画开发中使用了Storyboard,并对关联属性进 ...

  9. WCF与Web API 区别

    WCF与Web API 区别(应用场景)   Web api  主要功能: 支持基于Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, ...

  10. WPF/Silverlight 页面绑定Model验证机制升级版

    关于WPF/Silverlight的数据验证,想必大家都不陌生了. 各大牛的博客里都不泛对这方面讨论的文章. 个人比较赞赏 JV9的“Silverlight实例教程”里的Validation数据验证. ...

随机推荐

  1. vue-cli搭建vue项目环境

    该篇文章是继https://www.cnblogs.com/qing-5/p/11321585.html来写 1.打开终端,输入指令"npm install --global vue-cli ...

  2. undefined reference to `udev_device_get_action'

    /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libusb-1.0.a(libusb_1_0_la-linux_udev.o): In ...

  3. B+树Java代码实现以及测试

    M阶B+树的定义: 任意非叶子结点最多有M个子节点:且M>2: 除根结点以外的非叶子结点至少有 M/2个子节点: 根结点至少有2个子节点: 除根节点外每个结点存放至少M/2和至多M个关键字:(至 ...

  4. 【Redis】事务 (超详细)

    一.概述 二.相关命令列表 2.1 MULTI 2.2 EXEC 2.3 DISCARD 2.4 WATCH key [key ...] 2.5 UNWATCH 三.命令示例 3.1 事务被正常执行 ...

  5. 将mysql从5.5.25升级到8.0.12

    将mysql从5.5.25升级到8.0.12过程中遇到几个问题,记录如下: 将数据库安装好后,导入原来的数据,启动tomcat,报错unable to load authentication   ca ...

  6. CPU性能的主要指标

    来源: http://blog.itpub.net/24435147/viewspace-694470/ CPU的主要指标: CPU Utilization CPU 使用率,CPU的使用时间百分比,7 ...

  7. 个人推荐-几款好用的App

    前言 在使用智能手机的过程中比较喜欢尝试一些新奇好玩的app,同时也积攒下了不少个人认为很有帮助或很有特点的app,写这篇随笔当做一个记录吧. 便签-小周便签 一款功能十分强大的便签app,在编辑界面 ...

  8. 本地开发的jar包放到本地maven仓库

    mvn install:install-file -Dfile=C:\Users\Administrator\Desktop\taobao-sdk-java-1455552377940-2016060 ...

  9. Python计算AUC

    AUC(Area under curve)是机器学习常用的二分类评测手段,直接含义是ROC曲线下的面积.另一种解释是:随机抽出一对样本(一个正样本,一个负样本),然后用训练得到的分类器来对这两个样本进 ...

  10. 基于 es6 的 javascript 实用方法

    一.求数字数组的平均数 - 使用 数组的 reduce() 方法将每个值添加到累加器,初始值为0,总和除以数组长度. const average = arr => arr.reduce((acc ...