这主要是一篇关于WPF、WPF Everywhere、Silverlight 、RIA的文章。
为什么说杂谈呢,因为本来想写点有深度的技术文章,可是发现不行,因为我没有深刻的去体验WPF/Silverlight,所以也不好发展、向下发散
开去。
其实本文主要是阐述微软和主要竞争对手Sun、以及Adobe的一些产品的竞争以及一些横向的对比,以及微软的一些产品的发展方向。(o(∩_∩)o 哈哈,不过到后来好像也给省了.......
摘抄一部分觉得还ok的片段:
RIA(Rich Internet Applications)富互联网应用,具有高度互动性、丰富用户体验以及功能强大的客户端.
RIA具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。RIA具
有通信的特点则包括实时互动的声音和图像。
RIA的发展经历了:
Macromedia Flash/Flex
Java SWT
JavaFX
WPF/WPF E
SilverLight
等阶段.
WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统
一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

其中Microsoft Silverlight是微软所发展的 Web 前端应用程序开发解决方案,是微软丰富型互联网应用程序(Rich Internet Application)
策略的主要应用程序开发平台之一,以浏览器的外挂组件方式,提供 Web 应用程序中多媒体(含影音流与音效流)与高度交互性前端应用程序
的解决方案,同时它也是微软 UX(用户经验)策略中的一环,也是微软试图将美术设计和程序开发人员的工作明确切分与协同合作发展应用程
序的尝试之一。
 
WCF、WPF、Silverlight和区别
 
开始

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。
 
结束

一个有趣的话题讨论:
WPF/E已死,Silverlight只是个冒牌货,Java RIA开发还要在黑暗中摸索更长的时间。
http://www.javaeye.com/topic/78357

看了后多多少少总觉得有点鸡肋的感觉...