热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Silverlight3学习笔记(1):准备工作

VS2010已经出来了相当长一段时间了,在VS2010中提供的就是Silverlight3的开发环境,尽管Silverlight的版本已经升级到3了(好像Silverlight4bet

 

VS2010已经出来了相当长一段时间了,在VS2010中提供的就是Silverlight3的开发环境,尽管Silverlight的版本已经升级到3了(好像Silverlight4 beta版也出来了),不过我一直没有学习,主要精力一直放在与ASP.NET相关的技术上了,比如WCFASP.NET MVC2,上个月看了几个“前辈”的博客,看到他们也都在学习Silverlight,为他们生命不止、学习不已的精神所折服,也激发了我学习Silverlight的兴趣。在本学习笔记中目前以Silverlight3为主,因为我目前就是使用VS2010中自带的Silverlight开发环境学习的。目前Silverlight的版本升级很快,.NET用了10年时间才从1.0升级到4.0,而Silverlight1.0升级到4.0所花的时间真的是不长(不过如果跟GoogleChrome浏览器相比,两年时间从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.NETF#for循环的例外)。选择自定义之后点击下一步,出现如下界面: 

如果您像我一样略懂C#编程并且对F#这个动态语言也有学习的兴趣,建议您和我一样选择,这样只占用4.2G磁盘空间了。选择好之后点击“安装”就可以安装VS2010了,和以前安装不同的,在安装VS2010过程中会重启一两次系统。等安装完成之后就可以看到下面的画面:

以前很多人安装到这一步就点击完成,这样做确实是完成了VS2010的安装了,但是您还少安装了一个重要的组件,那就是MSDN。小时候我们学习语文的时候从忘不了新华字典,一遇到不认识的就翻新华字典,甚至老师布置作业要我组词的时候我都会翻新华字典,查到对应的字之后一般在后面有例子说明怎么组词。MSDN也有这么一个功能,如果你在编码或者看别人源代码中遇到以前没有接触过的类,你也可以在MSDN中翻这个类,一般也会找到这个类的用法示例及注意事项等。好,在这里我们不点击“完成”按钮,而是点“安装文档”来安装帮助文档,之后您会看到如下界面:在这里选择帮助文件的安装位置,一般情况下保持默认即可,点击“确定”按钮之后会看到下面的界面:在这个界面中您可以选择要安装的帮助组件,比如你如果没有在安装VS2010时选择SharepointVB.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 AppletFlash及现在的SilverlightHTML5将来会直接支持多媒体,如果它取得了成功,或许RIA会成为一个历史名词,但是“将来”到底有多远,谁也不知道。就像喊了多年的“C/C++必死”、“IE6已亡”的口号一样,实际上C/C++仍然占据着非常重要的地位,并且IE6在浏览器市场份额中也是最大(尽管存在着很多缺点),对于HTML5什么时候真正能像现在它所憧憬的那样在现实中被应用起来,我们只能拭目以待。Java AppletJava Applet是一种利用Sun公司(现已被Oracle公司收购)的Java语言开发的客户端组件(插件),在早期它是一种比较普遍的客户端技术,客户端需要安装Java运行环境JREJava Runtime Envirment)才能运行Java Applet。潜入了Java Applet的网页被打开时,其中的Applet代码被下载到本地客户端,由本地客户端的JRE运行。不过到今天已经很少有人使用Java Applet开发客户端应用了。FlashFlashAdobe公司提供的一种RIA技术,在没有Java Applet的日子里Flash独领风骚了很多年,据说Flash Player最高时具有90%以上的装机率,最近有向移动领域发展的趋势,不过苹果公司拒绝了在其流行的iPhone上使用,而据目前在Android上的表现来看,它似乎也表现得不是太好。SilverlightSilverlightMicrosoft公司提供的一种RIA技术,使用Silverlight的好处是.NET开发人员可以利用已经学习过的.NET开发语言(比如C#或者VB.NET)来开发,上手和掌握起来比较快,而且可以利用微软公司的VS这个开发工具,微软公司的软件在易用性商确实做得没有话说。说句题外话,在桌面客户端开发比较炫的游戏可以使用基于Java平台的JavaFX和基于.NET平台的XNA,当然如果仅仅是开发软件,也可以使用WPF,我有一个朋友就在中烟集团湖北分公司开发基于WPF技术的应用。如果仔细分析Java AppletFlashSilverlight的话,我们会发现它们具有一些共同点:(1)都是作为浏览器的插件运行(当然有些可以作为浏览器外插件运行);(2)都会当被嵌入的页面打开时下载到客户端运行;(3)都需要客户端运行环境的支持;(4)都会尽可能支持多种操作系统(跨平台)和支持多种浏览器(跨浏览器)。因为是作为浏览器的插件运行,所以它要求以一种安全的方式运行,仅能访问客户端的一些有限资源而不能执行一些需要较高权限的操作(比如获取系统硬件信息或者格式化磁盘分区等),它需要客户端安装运行环境,FlashSilverlight的运行环境安装都只有几M大小,比较容易下载和安装(Java Applet的运行环境JRE则大多了,不知道这是不是它运行不起来的原因,也不知道AdobeMicrosoft是否也从Java Applet上吸取了很多经验教训)。并且,如果客户端没有安装相应的运行环境,在浏览器中会看到安装提示,只有得到了用户的同意之后才会安装(国内很多软件公司为了提高装机量采用了不提示或者误导的方式让用户安装,这其实是病毒的做法)。除此之外,它对所在的服务器上的资源的访问权限也不大,比如在Silverlight中进行数据绑定就要使用WCF今天的准备工作算是做完了,包括了软件方面的准备和知识方面的准备,这只是我这个Silverlight初学者的第一篇系列文章,在以后的时间中我会以初学者的身份谈我对Silverlight的理解和认识过程。如果在跟周公学习Silverlight之前,您仅仅对C#或者对拖拽ASP.NET控件有所了解的话,建议您适当地了解有关B/SC/SRIA的知识有助于我们的学习提高,建议想学习Silverlight的朋友仔细分析和比较一下这三者之间的特点和优缺点。周公

2010-09-07

本文出自 “周公(周金桥)的专栏” 博客,请务必保留此出处http://zhoufoxcn.blog.51cto.com/792419/389195


推荐阅读
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 数据库锁的分类和应用
    本文介绍了数据库锁的分类和应用,包括并发控制中的读-读、写-写、读-写/写-读操作的问题,以及不同的锁类型和粒度分类。同时还介绍了死锁的产生和避免方法,并详细解释了MVCC的原理以及如何解决幻读的问题。最后,给出了一些使用数据库锁的实际场景和建议。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
author-avatar
高--洁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有