技术开发 频道

Silverlight 3:有改进但与Flash尚有差距

 创建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那样丰富。

0
相关文章