体验Silverlight 3
我在Windows和Mac OS操作系统上安装了Silverlight,并分别使用自带应用示例和我自己的内容对其进行了测试。
从用户角度来看,Silverlight 3的***新功能之一是它可以支持脱离浏览器运行应用,当然前提是开发者启用了该功能,它可以让用户将Silverlight应用作为一个单独桌面应用来运行,支持启动时运行和处理简单本地数据存储的功能。
在测试中,这个功能运行良好,不过它并不与Adobe AIR等桌面平台处于同一层次。从更大程度上来看,它更类似于Mozilla Prism或Google Gears,不过它具有更丰富的多媒体功能。
定义一个在浏览器之外运行的应用是一件非常简单的任务。只需从"项目"菜单中选择"启用在浏览器外运行应用"。然后该应用程序的用户就可以选择脱离浏览器运行它,以及创建桌面和开始菜单快捷方式。
Silverlight 3另一个漂亮的功能是"Smooth Streaming(平滑流媒体技术)",它实际上通过使用Windows Server 2008上IIS来传输内容而实现。这让它可以传输内容,且能够根据用户网络连接质量来迅速调整内容的质量和带宽占用。
在视频方面,Silverlight 3目前和Flash一样可以支持H.264格式视频和AAC音频,从而可以提供基于互联网的高品质音频和视频。Silverlight 3还包含几个交互式和3D功能方面的改进,为用户提供更强大的内容管理和控制功能。
创建Silverlight应用
创建Silverlight应用的传统方法是,使用微软 Expression Blend进行应用程序的富体验设计,然后使用Visual Studio来完成开发任务。
这可能依然是目前只适合选用的模式,不过在即将于8月份正式推出的Expression Blend 3中,人们完全可以在一个开发环境中完成整个Silverlight应用的全部工作,我对Expression Blend 3的候选发布(RC)版进行了测试。
在Expression Blend 3中最有趣的新功能之一是SketchFlow工具,它可以为Silverlight应用创建原型。SketchFlow使应用程序能够在视觉上模拟出简单交互原型,并将一系列设计草图(wireframe)用于未来的产品设计及开发中。
其背后的理念很明显来自于微软比尔·巴克斯顿(Bill Buxton)的著作《绘制用户体验草图》(Sketching User Experiences),所谓草图即鼓励讨论和协作,而不是最终产品的一个清晰原型。
通过SketchFlow,我可以创建一个显示应用流程的工作流,然后通过拖拽创建示例接口,就像使用铅笔画流程图一样。我认为这种方式很好,不过它也支持用户创建传统意义的原型。
SketchFlow还能被导出为一个Web应用,从而可以更轻松的被团队其它成员评价和审查。借助于这个应用,团队成员可以在原型上实现协作,可以添加注解和直接修改原型。
对于那些希望在Expression Blend中开发的人,或那些已经在Visual Studio中创建了程序,但是不想因为进行一个小修改就要切换环境的人,Expression Blend 3中的增强代码编辑器肯定非常受欢迎。
这个代码编辑器除了具有编辑XAML代码的传统功能外,还可以让你在Expression Blend中编辑C#和VB代码。另外,它还提供了标准的微软智能感知功能,能够自动完成和提示代码。
在Expression Blend 3中还有一个新功能,在生成和测试Silverlight数据应用程序时,能够定义和使用样本数据。
借助于Expression Blend 3中的Behaviors功能,可以创建、使用和重用代码片段,无需编写额外代码,即可直接将其应用于设计环境中。举例来说,一个简单的媒体播放空间可以被直接拖拽到设计界面上。
另外,考虑Photoshop和Illustrator等Adobe工具中拥有丰富素材这个事实,Expression Blend 3可以直接导入这些工具的原始文件格式,并可以保留它们的元素和层。
总结
从很大程度上来说,微软在Silverlight 3中做的还不错,增加了许多功能,弥补了Silverlight与Flash的不少差距。
但是Silverlight依然落后于Adobe的Flash,并且落后于Adobe相关产品--AIR和Flex,缺少了一些人们在富互联网应用(RIA)平台中所期待的一些功能。
另外在市场渗透方面,Silverlight依然落后与Flash,这意味着那些期待更大用户群的开发者仍将选择Flash。最能证明此点的一个事实是,就连微软自己也在使用了Flash技术,例如其新搜索引擎必应中备受热议的视频预览功能。
不过,Silverlight 3仍不失为RIA领域一个非常有前途的产品,相比版本2有了重大的改进,尤其值得提及的是支持高清编码和可脱离浏览器运行。尽管Silverlight不会取代Adobe的产品、Java、AJAX或HTML 5,却也堪称微软平台开发者的一个强大新工具。
基于Mono的Moonlight项目,现在能够为Linux用户提供Silverlight功能,不过Moonlight的功能不像Silverlight 3那样丰富。
【编辑推荐】