《微软银光技术的10大技术革新》由会员分享,可在线阅读,更多相关《微软银光技术的10大技术革新(5页珍藏版)》请在金锄头文库上搜索。
1、微软银光技术的微软银光技术的 1010 大技术革新大技术革新对于任何成长中的企业来说,设计一个合适的网站是一件非常重要的事情, 但是如何让你的网站具有富互联网应用程序(Rich Internet Applications,RIA)的体验却不是那么简单。为了在这方面为开发者减轻负担, 微软最近推出了 Silverlight这是一个针对 Web 开发者而推出的跨平台、 跨浏览器的插件。这个目前以“候选版”形式提供的插件可以支持具有丰富用 户体验的应用程序开发,其中包括多媒体、交互性和动画等。Silverlight 插 件目前可以支持 Windows 平台上的 IE 和 Firefox 浏览器,以及
2、在 Mac OS X 平 台上的 Firefox 和 Safari 浏览器。 笔者使用 Silverlight 的时间比较长,一直在研究这个微软号称“Flash 杀 手”的工具。根据几个月的第一手体验,对它的技术方面的精华进行了总结。 随着 Siverlight 公众版的发布时间的日益接近,现在是时候来熟悉 Silverlight 以及其如何影响你的 Web 应用程序了。然而,关于 Silverlight 的信息如此众多,一时之间让人难以分辨哪些是重要的内容,哪些只是广告宣 传。下面我将尽我的最大努力来总结出关于 Silverlight 你应该知道的十件事 情。 1 1、Silverlight
3、Silverlight 消除了跨浏览器消除了跨浏览器/ /操作系统的问题操作系统的问题 对于大多数开发团队来说,开发一个可以同时支持当今比较流行的浏览器 (包括 IE、Firefox、Safari 和 Opera)的网站并不是一件容易的事情。问题 不仅仅在于要编写更多的代码,还包括由此带来的呈指数级别增加的测试工作。 随着开发者为不同操作系统的不同版本的浏览器开发应用程序,测试的工作量 会变得非常巨大。 通常情况下有两种方式可以让开发人员解决这个问题:只支持一部分浏览器, 或者增加质量保证人员的数量来应对大的工作量。 相比之下,这个 Silverlight 插件则不管用户的操作系统和浏览器,而
4、提供 了一个统一的开发模型。目前,Silverlight 支持两种操作系统和三种浏览器。 微软承诺将在以后增加对 Windows 和 Mac 平台上的 Opera 浏览器的支持。此外, Mono 项目(.NET“开源版”项目)已经在它的 Moonlight 项目中取得了巨大的 进步,通过该项目可以使 Siverlight 插件支持 Linux 平台。 2 2、SilverlightSilverlight 1.11.1 更值得期待更值得期待 最近发布的 Silverlight 1.0 让许多机构开始考虑他们是否要开始使用 Silverlight。虽然 Silverlight 1.0 具有很多重要
5、的和有趣的功能,实际上大 多数对 Siverlight 的采用要等到其 1.1 版的发布。 目前还处于 Alpha 预览阶段的 Silverlight 1.1 版将首次全方面支持.NET 平 台。这包含基本的.NET 语言、C#和 Visual Basic。此外,根据微软表示, Silverlight 1.1 还将为动态语言提供.NET 支持,诸如 Ruby、Python、动态 Visual Basic 和受控 JScript。 在我看来,Siverlight 所支持的的重要语言是 C#和 Visual Basic,因为它 们允许目前的.NET 开发者来创建有意思的 Silverlight 应
6、用程序。在 Silverlight 1.1 版中,任何.NET 语言都将被支持,因为真正提交给浏览器的 实际上是.NET assembly。 相比之下,Silverlight 1.0 只支持在客户端解释的 ECMA 语言。 Silverlight 1.0 非常适合于那些已经在使用客户端脚本语言编程的现有 Web 开发者。 Silverlight 1.1 还支持一个丰富的客户定制模型,这对确保一个综合性的 开发体验是非常重要的。Silverlight 1.0 的体验还比较不成熟,不太可能让 第三方团体对其管理开发感兴趣。 3 3、SilverlightSilverlight 使用了开发者已经了解
7、的技术使用了开发者已经了解的技术 Silverlight 是由已经存在的微软技术组合而来的:一个混合的类似 Windows 展现框架的 XAML(XML 应用程序标记语言)、JavaScript 和.NET 技术。 如果开发者已经比较熟悉微软的.NET 和 Web 技术,他们就能够使用他们已有 的知识来创建 Silverlight 应用程序。即使开发者没有这些技能,掌握了这些 技术也不仅仅对某个单独的产品或项目有用,它可以被应用到 Silverlight 应 用程序以外的开发中,这与其他解决方案的情况不完全一样,例如 Adobe Flash 的 ActionScript。 至于选择哪个 Sil
8、verlight 版本来应用到一个新项目中,这取决于你的开发 团队的技能情况。如果你的开发团队主要是进行一个 ASP.NET 服务器端开发工 作(大多数情况下是 C#和 VB.NET),你应该等到 Silverlight 1.1 版推出。如 果你的团队比较熟悉客户端脚本语言,例如 JavaScript,Silverlight 1.0 是 一个值得介绍的伟大平台。 4 4、SilverlightSilverlight 用户界面仅仅是标记语言用户界面仅仅是标记语言 XAML 是 Silverlight 用于进行用户界面设计的混合语言。你可能已经对另一 种流行的标记语言已经非常熟悉,即 HTML。H
9、TML 文件是简单的文本,它包含的 信息可以告诉 Web 浏览器如何展现一个页面的外观和给用户的感觉。XAML 也做 相同的事情。但是,与浏览器解释关于如何表现这个文件的指令不同的是,由 Silverlight 运行时来完成展现工作。 XAML 作为标记是很重要的,因为它可以被动态的创建。无论你的开发者使用什么工具来进行服务器端的 Web 开发,你都可以创建动态 HTML 来创建页面。这 个技术非常引人注目,因为你可以创建在站点中重用的 HMTL 代码。一个很好的 例子是大多数网站的主页设计在通常情况下,页面头部和底部在整个页面中是 要被重复使用的。 因为 XAML 仅仅是标记,你能够使用服务
10、器端的技术来动态的创建 XAML,就 如同你的开发团队以前使用 HTML 的方式一样。这是一个不同的标记语言,但是 技术是相同的。 5 5、SilverlightSilverlight 和和 AjaxAjax 技术是互补的技术是互补的 网页技术正在不断的发展。回到 1990 年,当 Web 技术最初被引入的时候,每 一个人都在警告开发者应该尽可能快的转移到服务器端进行编程,这样应用程 序才能提升高度。虽然这种做法从技术上讲是对的,但是它降低了用户体验。 现在 Ajax 技术风行一时。简单的来说,Ajax 直接在浏览器中编写代码,可支 持更好的用户交互。其典型的例子就是 Google 地图服务、
11、微软的 Live 地图。 Silverlight 遵循了这个模式,它在浏览器中带来了更具表现力的用户界面。 使用 Ajax 技术来在服务器端和客户端进行数据交换可以让 Silverlight 应用程 序更加强大。将 Silverlight 的丰富的用户界面模型应用到 Ajax 的强大的数据 传输模型中,可以得到令人难以置信的交互体验,无需强迫用户等待页面刷新 时间。 6、Silverlight 让开发者和设计者一起工作让开发者和设计者一起工作 Web 正在强迫开发团队来更多的思考设计和美工工作。除非特殊情况,响应用户的体 验和美观的界面已经变成了一个必须要考虑的方面。通常情况下,这就要求在应用
12、程序开 发中运用美工技巧和用户界面设计技巧。今天,一般通过雇用美工开完成网站的设计工作。但是,美工所使用和实现的资源通常与开发者使用的工具是不相同的。通常情况下, 美工将图片文件(例如 Photoshop 或.jpg 文件)或 HTML 线框提供给开发者,然后由其来 综合到一个项目中。无论你使用的技术是什么,这些设计必须被整合到 Web 应用程序代码 中。随着设计的变化,这种整合工作被一遍又一遍的重复做着。Silverlight 提出了一种更好 的开发过程。微软的 Silverlight 工具集包括了传统的开发工具,像 Visual Studio,还有新的 面向设计者的工具,像 Express
13、ion Studio(相关文章:微软 Expression Studio 能挑战 Adobe 吗? ,http:/ 。 对于 Silverlight 来说,主要的设计工具就是 Expression Blend,它允许通过一种对设计 者方便而熟悉的方式来创建 XAML。对于设计人员,使用 Blend 就像使用 Adobe Illustraor 或 Photoshop 一样方便。它们的比较大的区别是 Blend 与开发者使用相同的基础文件。 Blend 和 Visual Studio 操作相同的项目文件、XAML 和 JavaScript 文件。当一个设计被创建 和修改的时候,在 Silverli
14、ght 中不需要使用整合步骤。设计者可以看见他们的设计与开发 者所增加的相同的逻辑进行交互。这样可以帮助设计者和开发者紧密的进行合作。 7、Silverlight 可以分开提交内容可以分开提交内容 Silverlight 是以分片形式提交给 Web 浏览器的。这意味着代码在一个或多个封装的包 中(JavaScript 文件、代码集等等) ,设计也是作为一个或多个包(作为 XAML 文件)进行 传输,其他资源也是被分开进行传输(包括图片、字体和视频等) 。一些对 Flash 的单一文 件提交熟悉的开发者在才开始接触 Silverlight 的时候可能会认为这是 Silverlight 平台的一个
15、 不足。 而实际上,我认为这是一个好的功能。相比于 Flash 的方式,分开的数据包使动态服 务器端的内容的创建更加轻松。它让我们可以在服务器上创建引人注目的动态 XAML,并 简单的以其他标记的方式来传输它。Silverlight 具有一个工具可以使用 zip 文件来打包被 XAML 代码所使用的多个文件,并高效的下载它们到客户端,不过它不是一个必须的要求。8、Silverlight 是新事物是新事物 现在,Silverlight 1.0 正处于候选版阶段(Release Candidate) ,而 Silverlight 1.1 则处于 Alpha 版。这是微软对此类技术的首次尝试。 相比
16、于其他公司提供的类似服务,这个技术还不够成熟,其中与其竞争的最出名的就 是 Adobe 的 Flash 和 Flex 产品。Flash 目前的版本是 9.0,它已经经历了很长的一段时间的 发展,无论是在普及度还是功能丰富性都已经处于领先地位。但是,这不是说 Silverlight 就不会追上它。微软在从别人的成功和失败中学习方面有自己的一套东西。当然,也不是 说 Silverlight 一定会赶上竞争对手。 如果你计划创建的应用程序主要是用来替代数据驱动的桌面应用程序,你可能会怀念 在 Silverlight 中的所缺少的基本控制和数据绑定功能。Silverlight 不是 Windows Forms、WPF、Java Applets 或 Sharepoint 的替代者。 简单来说,Silverlight 不是被设计用来取代早期版本的企业应用程序。但是如果你想 创建一个跨平台、跨浏览器的富用户体验的引人注目的应用程序的话,Silverlight 无疑