VS2010已经出来了相当长一段时间了,在VS2010中提供的就是Silverlight3的开发环境,尽管Silverlight的版本已经升级到3了(好像Silverlight4 beta版也出来了),不过我一直没有学习,主要精力一直放在与ASP.NET相关的技术上了,比如WCF和ASP.NET MVC2,上个月看了几个“前辈”的博客,看到他们也都在学习Silverlight,为他们生命不止、学习不已的精神所折服,也激发了我学习Silverlight的兴趣。
在本学习笔记中目前以Silverlight3为主,因为我目前就是使用VS2010中自带的Silverlight开发环境学习的。目前Silverlight的版本升级很快,.NET用了10年时间才从1.0升级到4.0,而Silverlight从1.0升级到4.0所花的时间真的是不长(不过如果跟Google的Chrome浏览器相比,两年时间从1.0升级到6.0,那么它升级的速度真的不是很快了)。因为升级频繁也就造成了一个现象,关于关于Silverlight方面的中文书籍不多,这也是可以理解的,作者和出版社好不容易将Silverlight2的出版计划定下来,等最后出版发行的时候Silverlight4都已经出来了,而很多初学者总是抱着学习最新的技术的态度,导致书根本卖不出去。在我学习Silverlight3的过程中我参阅了一些低版本的Silverlight中文书籍和Silverlight3的英文书籍,当然在学习的过程中还会去看一些英文的博客(中文的不多,只好看英文的了)。在业界也流传一个说法:“微软的东西,一般经历过三个版本之后就逐渐趋于稳定。”这个话好像多少有些道理,所以我就决定从Silverlight3开始学习。
本节主要是介绍一些准备工作。
VS2010的安装
对于VS的安装大家肯定都熟悉,不过我在很多地方看到的是大家讲VS的全部组件都安装了,不但浪费磁盘空间,还降低了系统性能(比如默认是安装了随VS自带的SQL Server Express,每次系统启动都会自动启动后台服务),除此之外,还有人安装了VS之后不知道顺手把MSDN安装上,害得后来要到网上去问别人在MSDN中就可以找到答案的问题。用《大话西游》中至尊宝的话说:“何苦呢?何必呢?”
在安装过程中有几个关键点,第一个关键点是在选项页时注意不要选择完全,如下图所示:
从上图可以看出完全安装需要7.5G的磁盘空间,实际上有很多组件是我们完全用不着的(当然如果你“精通”用C++和VB.NET及F#写for循环的例外)。选择自定义之后点击下一步,出现如下界面:
如果您像我一样略懂C#编程并且对F#这个动态语言也有学习的兴趣,建议您和我一样选择,这样只占用4.2G磁盘空间了。选择好之后点击“安装”就可以安装VS2010了,和以前安装不同的,在安装VS2010过程中会重启一两次系统。等安装完成之后就可以看到下面的画面:
以前很多人安装到这一步就点击完成,这样做确实是完成了VS2010的安装了,但是您还少安装了一个重要的组件,那就是MSDN。小时候我们学习语文的时候从忘不了新华字典,一遇到不认识的就翻新华字典,甚至老师布置作业要我组词的时候我都会翻新华字典,查到对应的字之后一般在后面有例子说明怎么组词。MSDN也有这么一个功能,如果你在编码或者看别人源代码中遇到以前没有接触过的类,你也可以在MSDN中翻这个类,一般也会找到这个类的用法示例及注意事项等。好,在这里我们不点击“完成”按钮,而是点“安装文档”来安装帮助文档,之后您会看到如下界面:
在这里选择帮助文件的安装位置,一般情况下保持默认即可,点击“确定”按钮之后会看到下面的界面:
在这个界面中您可以选择要安装的帮助组件,比如你如果没有在安装VS2010时选择Sharepoint和VB.NET之类的组件,那么关于它们的帮助组件自然也不用安装了。点击“更新”之后就启动安装界面了,如下图所示:
等安装完成之后就可以进行设置了,设置界面如下:
如果您安装了帮助文件到本地的话,还是建议您使用“我要使用本地帮助”选项,周公我比较穷在租的房子里不能上网,所以也是选择了“我要使用本地帮助”选项,使用本地选项打开速度比较快。
安装完本地帮助之后就可以打开了,和以前有些不同,以前帮助文件都是使用Microsoft Document Explorer打开的,而现在是直接在浏览器中打开,如下图所示:
习惯了使用早期的MSDN的朋友肯定对这个非常不习惯,实际上周公也很不习惯,所以有人开发了第三方软件来模拟早期的MSDN的显示效果,如下图所示:
上图是安装了H3Viewer软件之后的效果(可以再google上搜索这个软件),这个软件是一个体积不到1M的小软件,它是在安装了VS2010帮助文件的基础上模拟出早期的MSDN的效果。
当然,您也可以去微软网站去下载Silverlight的帮助文档,周公现在手头就有Silverlight4的中文帮助文档的CHM格式,如下图所示(这个也可以在google上或者bing上以“CHS_Silverlight_4.EXE”作为关键词搜索,不推荐那些只能花钱才能上排名的国内搜索引擎上搜,转了一圈你还找不到真正的下载地址):
至此安装开发工具和帮助文档的准备工作完成了。尽管还有Expression Blend这类的设计辅助工具可以使用,不过它比较适合于界面设计人员,开发人员还是觉得VS亲切。
几种RIA技术
Silverlight是一种RIA(Rich Internet Applicaation,富互联网应用)之一,在RIA的历史上比较流行的曾经有Java Applet和Flash及现在的Silverlight,HTML5将来会直接支持多媒体,如果它取得了成功,或许RIA会成为一个历史名词,但是“将来”到底有多远,谁也不知道。就像喊了多年的“C/C++必死”、“IE6已亡”的口号一样,实际上C/C++仍然占据着非常重要的地位,并且IE6在浏览器市场份额中也是最大(尽管存在着很多缺点),对于HTML5什么时候真正能像现在它所憧憬的那样在现实中被应用起来,我们只能拭目以待。
Java Applet:Java Applet是一种利用Sun公司(现已被Oracle公司收购)的Java语言开发的客户端组件(插件),在早期它是一种比较普遍的客户端技术,客户端需要安装Java运行环境JRE(Java Runtime Envirment)才能运行Java Applet。潜入了Java Applet的网页被打开时,其中的Applet代码被下载到本地客户端,由本地客户端的JRE运行。不过到今天已经很少有人使用Java Applet开发客户端应用了。
Flash:Flash是Adobe公司提供的一种RIA技术,在没有Java Applet的日子里Flash独领风骚了很多年,据说Flash Player最高时具有90%以上的装机率,最近有向移动领域发展的趋势,不过苹果公司拒绝了在其流行的iPhone上使用,而据目前在Android上的表现来看,它似乎也表现得不是太好。
Silverlight:Silverlight是Microsoft公司提供的一种RIA技术,使用Silverlight的好处是.NET开发人员可以利用已经学习过的.NET开发语言(比如C#或者VB.NET)来开发,上手和掌握起来比较快,而且可以利用微软公司的VS这个开发工具,微软公司的软件在易用性商确实做得没有话说。
说句题外话,在桌面客户端开发比较炫的游戏可以使用基于Java平台的JavaFX和基于.NET平台的XNA,当然如果仅仅是开发软件,也可以使用WPF,我有一个朋友就在中烟集团湖北分公司开发基于WPF技术的应用。
如果仔细分析Java Applet、Flash和Silverlight的话,我们会发现它们具有一些共同点:(1)都是作为浏览器的插件运行(当然有些可以作为浏览器外插件运行);(2)都会当被嵌入的页面打开时下载到客户端运行;(3)都需要客户端运行环境的支持;(4)都会尽可能支持多种操作系统(跨平台)和支持多种浏览器(跨浏览器)。因为是作为浏览器的插件运行,所以它要求以一种安全的方式运行,仅能访问客户端的一些有限资源而不能执行一些需要较高权限的操作(比如获取系统硬件信息或者格式化磁盘分区等),它需要客户端安装运行环境,Flash和Silverlight的运行环境安装都只有几M大小,比较容易下载和安装(Java Applet的运行环境JRE则大多了,不知道这是不是它运行不起来的原因,也不知道Adobe和Microsoft是否也从Java Applet上吸取了很多经验教训)。并且,如果客户端没有安装相应的运行环境,在浏览器中会看到安装提示,只有得到了用户的同意之后才会安装(国内很多软件公司为了提高装机量采用了不提示或者误导的方式让用户安装,这其实是病毒的做法)。除此之外,它对所在的服务器上的资源的访问权限也不大,比如在Silverlight中进行数据绑定就要使用WCF。
今天的准备工作算是做完了,包括了软件方面的准备和知识方面的准备,这只是我这个Silverlight初学者的第一篇系列文章,在以后的时间中我会以初学者的身份谈我对Silverlight的理解和认识过程。如果在跟周公学习Silverlight之前,您仅仅对C#或者对拖拽ASP.NET控件有所了解的话,建议您适当地了解有关B/S、C/S及RIA的知识有助于我们的学习提高,建议想学习Silverlight的朋友仔细分析和比较一下这三者之间的特点和优缺点。
本文转自周金桥51CTO博客,原文链接:http://blog.51cto.com/zhoufoxcn/389195 ,如需转载请自行联系原作