微软为什么选择Silverlight作为WP应用程序的开发框架?

引言:

今天在微博上, 现任MVP @老徐FrankXuLei 遭遇另外一位同行被忽悠的“事件”,详情见此: 天朝技术圈子 尽出极品 ,事儿也简单,也就是技术交流过程中的一问一答, 可最终为什么会导致老徐如此气愤呢?

归根到底,还是天朝技术圈子内的浮躁氛围,缺少踏实做技术的心态有关. 本文就老徐题在MSDN论坛碰到的这事,略作简单回答,如有不正确的地方,请圈内朋友指正!

Q:微软为什么会选择SL作为Windows Phone应用程序的开发框架??

A:回答这个问题,估计要把时间拉回到2008年,微软推出WPF(Windows Presentation Foundation)/WPF E.

WPF是微软下一代的界面表现技术,是微软最新.NET Framework 3.0的四大核心技术之一。WPF基于.NET Framework和DirectX技术,能够让开发出连自己都想象不到眩目界面,同时WPF简化了界面开发技术(WinForms),后来,WPF/e 演化成现在的Silverlight, 当初发布的时候,有很多人都搞不清楚两者之间的关系,也就错以为这2个是相同的技术,其实,两者除了在UI部分使用了相同的XAML语言做为界面显示技术外,本质上是有些不同的。

纵观微软几个核心的技术领域,WinFroms、WPF、Silverlight、ASP.NET and so on…这些技术的本质,无非是底层所使用的框架不同,

在Windows中,诸如窗体绘制等功能都是由GDI来实现,WinForms在底层使用的是GDI+,玩过图形编程的朋友应该不陌生,GDI+也是在C++非托管代码上又包了一层实现的,从而,我们才能使用C#,VB这样的托管编程语言调用GDI+功能绘图。

WPF底层使用的是DirectX, 就是开发游戏时使用的那个技术,WPF原来的代号为:“Avalon”,有朋友戏称:“我佩服”听起来牛X吧? WPF是运行在.NET Framework 3.0架构下,为用户提供界面,2D/3D图形,文档和媒体提供了统一的描述跟操作方法,此时,DriectX也更新到了 DirectX 9/10版本,主要还是在3D渲染引擎也大大改进,你现在用的windows 7 ,windows vista,就是它的功劳。

Silverlight其实在API层你可以看成是WPF的字集或者一个轻量版本。 SilverLight原来设计的初衷是基于浏览器插件,同时,也被业界认定是与flash强有力的竞争对手,它在浏览器中运行,服务器端不需要部署任何环境,客户端只需要安装Runtime浏览器插件,即SL(2,3,4,5)三个版本,而无须安装.net Framework 3.0。所以,SilverLight的运行环境不受操作系统和浏览器的种类限制(更准确的说,是受到较少的限制)。 WPF可以编写Web程序或者桌面应用程序,可以直接编译为独立运行的.exe文件。但有一条,WPF运行时必须安装.net Framework 3.0。

1G63535bZ

扯了这么多,也都是些老掉牙的事了,貌似还没有归结到:“微软为什么会选择SL做为WP应用的开发框架”这个主题上来,有了前面的开胃菜,你就对接下来要说的,多少会能理解点。

微软的Windows Mobile大家并不陌生,在某个时间段内,市场占有率,开发人员数量,应用数量,也是响当当的,WM的底层则是.NET Compact Framework.

Q:什么是 Microsoft .NET Compact Framework?

AMicrosoft .NET Compact Framework 是针对 Microsoft .NET 计划的智能设备开发框架,是实现 Microsoft 随时随地在任何设备上为客户提供良好体验的目标的关键所在。.NET Compact Framework 将托管代码和 Web 服务带给了智能设备,它允许安全的、可下载的应用程序在诸如个人数字助理 (PDA)、移动电话和机顶盒等设备上运行.

智能设备框架?可下载应用程序?个人数字助理?移动电话?这些词并不陌生,在现在当时看来,是不是挺那么耀眼的?,.NET CF有其不足之处,诸如动画效果、GPU加速、2D/3D图形渲染等,随着移动智能终端的发展,微软手里握着这么多互相补充的技术不用,岂不是傻子?正如:@林永坚Jake: 所说,早在Silverlight2版本时,Win CER3已经支持SL2了,再加上微软的“三屏一云”战略,SL势必会担当重任,

所以,哦,不对,该总结了。。。

总结:

老徐也不要生气,那位同行(MSDN的斑竹)的研究方向可能确实不在智能终端这块,但,他直接把你的话去掉问号再还给你,就不对了,微笑 ,寥寥数语,也未必能把问题说清楚,也可能字里行间有错的地方,望各位指正。

posted @ 2012-05-17 14:51  jason wei  阅读(315)  评论(0编辑  收藏  举报