Silverlight 简明教程(1) -- Silverlight简介
最近被公司指派研究Silverlight,说可能会在实际项目中使用。在Silverlight 1.0发布的时候曾瞄过一眼,但由于对javascript不熟悉就pass了。这次新发布的2.0加入了对.NET的支持,这对.NET开发人员来说确实方便了不少。这篇系列就当做是学习Silverlight2的一个系列随笔来发表了,有不对的地方欢迎大家指正。
什么是Silverlight?
silverlight是微软发布的一个跨平台跨操作系统的插件,能够使得Web开发人员在浏览器中构建丰富的媒体体验和RIA(Rich Interactive Application)应用。目前已经支持Internet Explorer, Firefox和Safari,并且微软已经承诺支持Opera。
OS/Browser | IE6 SP1 | IE6 SV1 | IE7 | IE8 | Firefox | Safari | Opera |
Windows Vista/2008 | N/A | N/A | 1.0, 2.0 | 2.0 | 1.0, 2.0 | 1.0, 2.0 | Planned |
Windows XP/2003 | N/A | 1.0, 2.0 | 1.0, 2.0 | 2.0 | 1.0, 2.0 | 1.0, 2.0 | Planned |
Windows 2000 | 2.0 | N/A | N/A | N/A | N/A | 2.0 | N/A |
Windows Mobile 6 | 2.0 | N/A | N/A | N/A | N/A | N/A | N/A |
Mac OS 10 | N/A | N/A | N/A | N/A | 1.0 | 1.0 | Planned |
Mac OS 10 Intel | N/A | N/A | N/A | N/A | 1.0, 2.0 | 1.0, 2.0 | Planned |
Linux | N/A | N/A | N/A | N/A | Planned | Planned | Planned |
为什么使用Silverlight?
1、Silverlight是跨平台跨浏览器的。
在开发传统的Web应用程序的时候,我们经常会遇到一些在IE中显示是好的,但使用Firefox浏览就会出现变形的情况。这使得开发人员必须要了解IE和Firefox在HTML布局以及CSS样式控制上的差别。但是,基于现状,大多数浏览器应用程序的开发都是针对IE的。然而随着其他浏览器的占有率越来越高,那种如Java所宣称的一般的“一次开发,到处运行”的要求便越来越强烈。通过使用Silverlight技术,我们可以关注于自己的实现,而浏览器显示方面的差异,我们则可以将其交给微软去解决。
2、Silverlight显著提高了用户体验。
传统的Web应用程序由于浏览器和HTML表现能力的限制,相比较于Windows桌面应用程序来说在用户体验方面则差了很多。而Silverlight的出现的目标之一就是让Web应用程序的表现力接近于Windows桌面程序。
3、Silverlight已经加入了对.NET的支持。
Silverlight 1.0发布的时候,仅仅只推出了Javascript引擎和XAML解释器,以及浏览器内置插件,这个时候如果构建Silverlight应用程序只能使用Javascript,对代码的编写和调试都不是很方便。而Silverlight 2.0加入了对.NET的支持,使得.NET开发人员可以很容易的掌握silverlight的开发。
4、Silverlight允许开发者和设计者协同工作。
很多时候,相对于功能实现方面,客户更关注的是用户体验和美观问题。而在开发传统的Web应用程序中,通常美工是将原型的PSD文件或者HTML代码发给开发人员,由开发人员在其中根据所给的原型来调整样式和布局。但就在这个整合的过程中,开发人员可能经常会发现很难做到美工所给出的效果,而美工则看不懂开发人员整合后的代码,最后只能采取一个折中方案。随着这种现象越来越多,最终发现所开发出的应用程序的效果相比于原型已经有了很大的差别,而降低了用户满意度。而在Silverlight中,美工人员所使用的Blend Expression和开发人员使用的Visual Studio使用同样的工程项目文件,任何一方的修改都能够立即反馈到另一方,从而加强两者之间的协同工作。
5、Silverlight将矢量图形、文本、媒体和动画结合在一起,使开发更容易。
在传统的Web应用程序中,如果要实现媒体播放的控制或者动画,必须编写大量的Javascript代码。尽管已经有了很多的框架来帮助我们完成所需要的效果,但很多时候限于各种条件仍然很难实现。在Silverlight中,通过使用内置的XAML语法和.NET编程可以很轻松的实现这些功能。
使用Silverlight有什么限制?
1、Silverlight需要在客户机上安装一个4.0MB左右的插件。
跟Flash一样,要在客户机上运行Silverlight应用程序,需要安装一个4.0MB左右大小的插件。一般来说,如果客户机可以连接到Internet,那么将会提示到微软网站上去下载这个插件。但如果客户机不能够安装插件,则不能够使用silverlight技术来创建应用程序。
2、Silverlight应用程序不能提供准确的URL定位。
设想如果一个网站是全站使用Silverlight技术,而某人需要知道该网站的其中某一条信息,在目前暂时无法提供准确的URL去定位到该条信息。其实这也是RIA本身所存在的一个问题。
Silverlight的几个注意事项:
1、Silverlight只是一项客户端技术,它自身并不能去做一些服务器端的操作:比如读写数据库,存取Session的值等。
2、Silverlight的部署并不依赖.NET Framework的环境,只要安装了silverlight的插件,即使在静态的HTML页面中也可以运行silverlight程序。
3、Silverlight在客户端的表现本质仍然是HTML和javascript,但这些都是由silverlight中的插件引擎去处理的。