[转]关于SilverLight:你需要知道的十件事情
本帖源自: http://www.cnblogs.com/lxinxuan/archive/2007/08/23/866540.html
微软高调推出号称“Flash杀手”的Silverlight之后,虽然得到了普遍的关注,但是仅有的几个演示内容似乎仍不能让大家弄明白这到底是有什么独到之处,如果仅仅是替代Flash的已有功能的话,肯定不值得微软如此隆重的登场推介。
简单的说,Silverlight是一个跨平台跨操作系统的插件,使Web开发者能够在浏览器中建造丰富的媒体体验和RIA应用。目前发布的版本为 RC版,可用于Windows平台上的IE和Firefox浏览器,以及Mac OS X平台上的Firefox和Safari浏览器。
在公共发布版本来临之际,现在正是了解Silverlight的好时候,本文解释了微软的Silverlight 10个主要特点,希望能够帮助你更多了解Silverlight的好处和局限性。
本文作者Shawn Wildermuth是微软MVP(最有价值专家)(C#),Wildermuth Consulting Services的创始人,已经从事软件开发超过20年。目前Shawn正在全美做Silverlight的巡回授课,教人们如何在自己的项目中使用Silverlight。
1、Silverlight是跨平台/浏览器的
对于大部分开发团队,创建一个能够在所有流行的浏览器(包括IE、Firefox、Safari、Opera)上完美运行的Web站点是很具挑战性的事情。这不只是增加代码实现的问题,还要进行大量复杂的测试。
通常面对这个问题的解决方法有两个:仅支持少数最流行的浏览器或者增加质量保证人员的数量。
而Silverlight允许“一次开发,到处运行”,微软已经承诺会支持Windows和Mac上的Opera,而Silverlight的Linux版Moonlight也正在开发中。
2、Silverlight 1.1 才是好戏开场
对于目前的Silverlight 1.0 RC版,仍有很多组织在考虑是否开始在此平台上进行开发。Silverlight 1.0已经有了许多重要有趣的功能,但还有更多的精彩内容仍需到1.1版才会出现。
Silverlight 1.1(目前仍处于Alpha预览)初次开始支持.NET,包括了基本的.NET语言:C#和Visual Basic。而微软说,Silverlight 1.1将会带有.NET对动态语言的支持,例如Ruby、Python、动态VB和托管JScript。等到1.1正式发布,所有.NET语言的支持都会 加入近来,这等于给浏览器添加了.NET编译器。
3、Silverlight 使用开发者们已经掌握的技术
Silverlight由微软现有的一些技术创建而成,如XAML,JavaScript以及.NET技术。如果你已经很熟悉微软.NET和Web开发技术,这些都可以应用在Silverlight的开发中。
你选择开始新项目的Silverlight版本主要基于开发团队的技术方向。如果你的开发团队主要做ASP.NET服务器端开发(主要是C#和 VB.NET),你就需要等待1.1的正式发布,如果你的团队专攻像JavaScript这类的客户端开发,Silverlight就正适合你。
4、Silverlight的用户界面使用标记语言——就像HTML
Silverlight使用XAML来进行用户界面设计。你可能已经很熟悉另一种标记语言了:HTML。HTML文件是纯文本的,它只需要告诉浏览器如何渲染网页,XAML也是这样的,只不过,执行文本命令的不再是浏览器,而是Silverlight。
无论开发者在服务器端用什么工具进行怎样的开发,最后你总要创建动态的HTML页面。XAML是标记语言,因此你可以使用服务器端技术动态创建XAML,就像你的开发团队动态创建HTML一样。标记语言有所不同,但技术并未变化。
5、Silverlight和AJAX技术互为补充
网络是不断进化的。回到1990年代,所有人都告诉开发者应该把尽可能多的执行都放在服务器端,技术上没问题,但是这相当影响用户体验。现在AJAX已经广泛流行开来,把代码直接放置在浏览器中就可以有效改善用户体验,这方面最典型的代表就是Google Maps。
Silverlight也参照了这样的模型,允许在浏览器中创造更加丰富的用户界面,而采用AJAX和服务器端交换数据使Silverlight更加强大,结合了Silverlight丰富的用户界面和AJAX的异步数据传输,用户将得到非常舒适的交互体验。
6、Silverlight允许开发者和设计者协同工作
网络要求开发者们必须越来越多地考虑设计和美观问题,对用户的快速响应和直观的界面已经成为开发标准,这需要在开发中同时加入美术设计和用户体验规划。
然而,美术师和程序员使用完全不同的资源和工具。通常情况是,美术师把图片文件或者HTML框架发给开发者以整合应用程序代码,当设计做出更改,整合就没完没了地进行。
Silverlight能提供更好的开发模式。微软提供给Silverlight的工具包是一系列复杂工具的集合,例如Visual Studio,还有连接设计者的工具,成为Expression Studio。
对于Silverlight,主要的设计工具是Expression Blend,它可以按设计者们所熟知的方式创建XAML内容,使用起来和Adobe Illustrator或者Photoshop差不多。但不同之处在于Blend和开发者使用同样的工程项目文件,XAML和JavaScript文件, 就像在Visual Studio中那样。当设计完成并修整好,不需要进行中间的整合过程,设计者就可以看到开发人员直接将其作为项目素材加入开发项目。这样做有助于设计者和 开发人员更加紧密地协同工作。
7、Silverlight将分包发布
Silverlight会分成多个数据包发送给浏览器,也就是说代码会分成一个或多个包(JavaScript文件,编译文件等等),设计也分成一个或多个包(XAML),以及其他文件(包括图片、字体、视频)。
刚开始习惯了Flash的单文件分发模式的开发者会不大理解为什么这样做。实际上,这是有好处的。分离的包比现在的Flash完整打包更有助于在服 务器端动态地创建内容,并按照标记语言自由组合。Silverlight也提供功能可以使用zip文件把所有XAML代码使用的内容打包给用户下载。
8、Silverlight是崭新的
在写就本文的时候,Silverlight 1.0为RC版,Silverlight 1.1则刚刚发布Alpha版,这项技术与类似的其他公司同类技术(尤其是Adobe的Flash和Flex)相比还不够成熟。Flash目前已经到了 9.0,它花了很长时间才达到现在的普及度,但这不是说Silverlight追不上来,微软在学习他人的经验和教训方面很有一手(可以参考一下Java 和.NET),当然这也不是绝对的。
Silverlight不是Windows Forms、Windows Presentation Foundation(WPF)、Java Applet或者Sharepoint的替代者,简单的说,如果你需要创建丰富的,优秀的,同时具备跨所有平台和操作系统的应用,那么 Silverlight正合适。
9、Silverlight XAML对照WPF XAML
要把XAML吹捧成为微软WPF的特长之处并不难,但是它实际上并没有看起来那么优秀,这一方面是由于WPF较低的采用率,另一方面就是WPF XAML和Silverlight XAML的区别了。
首先,WPF的采用率相对于其他客户端技术而言(例如Visual Basic 6和.NET的Windows Forms)比较低,因此XAML也基本上被荒废了。
第二,Silverlight XAML的语法比WPF XAML要简单一些,当然也会比WPF XAML弱一点,这既是好事也是坏事。Silverlight非常容易上手,但是从WPF转移而来的开发者可能会觉得有点不够用。
按我的感觉,较简洁的语法对于Silverlight实际上是最合适的,因为运行环境对于用户而言越精简越好。Silverlight并不需要把所 有东西都囊括进来,对于一个轻量级客户端而言没有这个必要。当然,要能给Silverlight增加更多的功能肯定不错,但是目前不能仅仅考虑这些,我们 需要谨慎考量加入多少,同时还能保持接口的简洁和高效。
10、Silverlight非常适合学习XAML
就象前一节所说的,Silverlight有着轻量级的XAML语法,这意味着它对于学习XAML的工作方式非常有益,引导那些正在学习XAML的 开发者创建简明清晰的代码,帮助他们快速理解Silverlight的功能特性,当他们开始投向WPF的XAML的时候,就会发现更多的功能和特性已经准 备就绪了。
相反的,如果开发者从WPF开始应用XAML,随后换到Silverlight的话就不得不扔掉许多特性。Silverlight的运行时库目前只有大约4.5MB,.NET 3.0运行时库(第一个支持WPF的)则接近30MB。
Silverlight是一个对公司、消费者、用户都大有裨益的新技术,看了上面这些,现在你可以决定该如何在你的Web战略中应用Silverlight了。
转载于:https://www.cnblogs.com/rangeliu/archive/2007/08/23/1188029.html
[转]关于SilverLight:你需要知道的十件事情相关推荐
- 计世网:IT人员秘密思考的十件事情
计世网:IT人员秘密思考的十件事情[@more@] 第一:巨大的安全骗局 编写恶意软件的所有黑客都与安全厂商相互勾结,因为某个人刚刚披露一个安全漏洞,利用这个安全漏洞攻击用户系统的代码就神奇地出现了. ...
- 男孩变成男人的标志35岁前必须做好的十件事情 [转]
不和父亲顶嘴 会哄妈妈开心 不轻易喝醉 不轻易对人说要戒烟,反反复复只会让人觉得言而无信 和她在一起无话可说时,懂得伸手去揽她的肩 失恋的雨夜,自己回家品红酒听肖邦,而不是去站在她楼下淋雨折磨她 不怕 ...
- 【转】:身为男人应做的十件事情
1.至少挑战一次自己的极限,并且 坚持到成功 .不管是考试得第一名,或者游泳游过不曾穿越的河流,或者在讲台上当众演讲,你至少要成为一次主角,至少要让成功证明你一次,这样,在漫长而 平淡 的一生之中,你 ...
- 领导者必须学会做的十件事情
在这个世界上你可以逃避很多事情并且仍然能够获得成功,但是有些事情你根本就无法走捷径. 商业领导者们并不存在于真空之中.成功总是与竞争有关.你可能拥有伟大的产品.服务.概念.战略.团队等等,如果它不能从 ...
- 想不明白的时候可以干的十件事情
洗脸 喝水 吃水果 出去走走 拉伸伸展(心里放松操) 瞭望远方 刷牙 洗澡 睡觉
- Nature :读博之前应该知道的二十件事情
来源:Twenty things I wish I'd known when I started my PhD.科袖网 编辑:学妹 编译自<nature> Lucy Taylor rece ...
- 【企业网盘】盘点从云计算中领悟到的十件事 | 燕麦企业云盘(OATOS)
随着时间的推移,云计算发展到至今已经快有10个年头了,不仅越来越多的企业加入到应用云计算的行列中来,而且越来越多的用户也从云计算中收获颇丰.国内外云存储发展的如火如荼,给国内云计算行业的发展带来了一片 ...
- 软件开发最重要的十件事
0. "面向对象"比你想象的要难得多 也许只有我有这种想法,不过我曾经以为计算机科学课上学过的"面向对象"是很简单的东西.我的意思是,创建一些类来模拟现实世界能 ...
- 成功的前提,35岁前必须做好的十件事
35岁是青春的后期,35岁以后是收获的季节,如果你没有资格说这句话,你将会憎恨自己.所以在35岁以前,在烂漫蓬勃的青春年华里,你最好把下面十件事做好 第一,学会本行业所需要的一切知识并有所发展.已故零 ...
- 2018年中国银行业十件大事,“Fintech深度融合,科技子公司遍地”...
2018年,监管加严.科技发展.中美贸易战.资本市场遇冷--外部环境的变化,对于中国金融业也产生了长足的影响,行业去年也发生了数件不平凡的大事,接下来与雷锋网(公众号:雷锋网)一起来回顾一下大事记. ...
最新文章
- java Excel 导入 IllegalStateException 异常处理 不同的数据类型
- Socket通信总结(附C++实现)
- Console控制台的正确打开方式
- PostgreSQL递归查询
- Cortex系列ARM内核介绍
- ftp上传图片出现550_FtpClient 实现文件上传
- spring 注释_Spring@懒惰注释
- 浪潮as5300技术方案_浪潮智能存储AS5300G2双活解决方案
- Ambari安装之部署本地库(镜像服务器)(二)
- 不同修饰符的访问权限(private,缺省(默认即default),protected,public)
- testmeshpro合批_TextMesh Pro新手使用手册
- 明解c语言入门篇第三版第九章答案,明解C语言 入门篇 第一章答案
- graphpad怎么修改图片大小_Graphpad作图小技巧:如何统一图片尺寸
- Android开发之渐变效果gradient属性
- oracle 取月份的第一天
- cisco Linux SRv6 实战踩坑记录
- js金额千分位 及 清除千分位
- 58 同城 post 参数分析之 eval 加密
- X-pack 为 Elasticsearch 安全保驾护航
- 【力扣-20】有效的括号