转载请注明出处及作者
在完成本章学习后,你将能够:
- 识别Silverlight和WPF的基本技术
- 区分设计师和开发者的角色
- 认识在Expression Studio 4中的产品
- 理解Visual Studio是如何适应你的设计过程
新鲜的和持续变化的技术已经并且将一直会吸引尖端的人们。感受和使用它们就好像在与未来打交道。在我们之中最幸运的人开始设计和开发基于这些新技术的东西并且创作惊人的新软件。当今时代终端使用者对先前静态的开发标准特性、不断增加的友好期待和互动交流感到厌烦。设计在我们今天用的许多产品中是一种竞争优势。一个拥有华丽界面的软件比一个功能类似却不吸引人的软件要更容易存活。在应用程序中,设计能够提供稳定的投资回报。
Silverlight和WPF简介
WPF是一个能让开发者和设计者能够创造惊人的、具有视觉冲击的Windows应用程序的综合的用户界面平台。有了WPF,开发者和设计者能够创建基于向量图形的丰富桌面应用,并且WPF保持了与用户界面和业务逻辑的独立性。基本上,WPF是在微软.NET
Framework 3.0和.NET Framework
4中的图形子系统。那些在.NET平台语言(例如C#和VB.NET)有经验的开发者能够简单地上手。WPF使用了一个叫做XAML的标记语言,基于XML标记语言。有了XAML之后,设计者和开发者以同样的方式自由地以一种灵活的方法创建用户界面,这也是为什么全世界的.NET开发者和设计者已经开始将他们的工作移到这个平台来的原因。设计者可以由小型的信息设计或者简单的游戏开始并且移动到数据可视化和多点触摸应用。毫无疑问,WPF是一个为在今天的世界创造友好的、吸引人的界面而创造的平台,也是为了明天的自然用户界面。

WPF主要目标在于Windows桌面应用的开发者。微软决定创造一个新的平台,可以将WPF拓展到Web上来拓宽应用的界限并且允许开发者创造新的应用,在WPF子集的帮助下可以运行在任何地方。这个新的平台原本叫做WPF/E,但是幸运的是,之后它被重命名为Microsoft
Silverlight.这个WPF的子集拓展了对于Web的平台,通过一个小的运行时间——一个跨平台的插件。它可以提供强大的特性来传送文本和多媒体,丰富矢量和位图、动画和更多的东西在多样的系统中,例如Windows、Mac
OS和Linux。Silverlight是一个用来创建富互联网应用(RIAs)的轻量级平台。RIAs通常在浏览器中运行并且能够提供与传统桌面应用类似的丰富的体验。Silverlight并不具备所有WPF的特性;它丢失了一些特性,例如在无第三方插件下对实三维空间工作的能力。并且,由于安全的原因,它通常对本地设备和其他系统部件没有访问权——那些通常在浏览器中不可用。请不要认为它是一个缺陷。Silverlight有洗多其他优秀的地方。例如设计者可以在Silverlight中创建移动应用并且可以在Windows
Phone 7系列设备上运行。所有的这些平台都有共同性——但是每一个都有各自合适的地方和需求。
幸运的是,Silverlight已经存在很长时间以至于它有一个巨大的综合的控件标准——当那些不够时,还有免费的或者商业的工具来满足那些难以讨好的开发者的需求。基于Silverlight的历史发展进程,它表示出未来的版本很可能有更小的可下载运行时,而且微软会继续减少Silverlight平台和WPF平台的不同之处。
设计者/开发者工作流程
创建一个良好的用户体验需要两类人:设计者和开发者,他们两者思考并不相同。直到最近,设计者和开发者并不很紧密的在一起工作,而且他们使用完全不同的工具。但那是一个对于过去的迅速的变化。WPF和Silverlight平台统一和简化了设计者/开发者的工作流程。设计者在前端工作——创建华丽的用户界面、添加互动、创造各种尖端的元素。开发者在后台工作——写一些能让应用有功能的代码。设计者和开发者都能使用相同类型的项目,并且有一个共同的切点——XAML,而且在一个平台下工作。
Expression Studio: 设计者的世界
设计者需要一个对他们角色有用的设计套件,一个能让她们和开发者有效率地合作的套件,并且能创建高质量的界面,增加对于WPF和Silverlight应用的互动性。为了满足这个需求,微软创造了Expression
Studio——一个为WPF和Silverlight平台开发的专业的前端设计套件。

Expression Studio 4 Ultimate 由四个相联系的产品组成:
- Microsoft Expression Blend + SketchFlow Expression Blend是一个能够让设计者创建前端的RIAs和桌面应用的交互式设计工具,让应用从概念到完成。有了SketchFlow,设计者可以迅速经历动态用户体验和创建功能原型。
- Microsoft Expression Design 这是一个对于创建和输出WPF以及Silverlight应用和站点的易使用的图形设计工具。它包含了强大的导入工具。设计者可以使用它们从Adobe产品中(例如Photpshop和Illustrator)导入文件。

- Microsoft Expression Web + SuperPreview Expression Web 是一种创作高质量、基于标准站点的专业Web设计工具,可以编辑许多语言和Web标准例如PHP, Microsoft ASP.NET, ASP.NET AJAX, HTML/XHTML, DHTML, CSS 和 JavaScript。在SuperPreview和Microsoft Expression Development Server的帮助下,开发者和设计者能够在同一台计算机上的多浏览器中预览、测试和调试他们的网页。

- Microsoft Expression Encoder 4 Pro Expression Encoder能够通过使用Silverlight平台进行编码、增强和出版Web上的多媒体。拥有它的抓取屏幕特性,你可以记录下你计算机屏幕上的任何活动。

接下来是一个设计者在使用Expression Studio来设计和开发一个Silverlight应用中可能遵循的一个过程。

这是一些在通常设计方案的典型步骤:
- 给客户提供一个设计纲要
- 分析纲要并明白客户的需求与目的
- 研究设计解决方案
- 提供设计需求的说明书或列表
- 形成一系列想法来满足需求
- 用笔和橡皮画出草图
- 在SketchFlow中实验并绘制出原型
- 与客户和开发者交流来选择最好的方案
- 更正并最终确定SketchFlow中的原型
- 选择一种应用配色方案来满足客户的需求或者反映企业形象
- 在Expression Design中设计应用屏幕和控制风格,然后输出XAML文件
- 获得客户在设计屏幕上的认可
- 创建一个Expression Blend测试方案并且导入XAML文件
- 创建应用屏幕的框架,转移并优化背景图像、皮肤控制和增加互动性
- 与源代码控制系统连接并且与开发者方案一同工作
- 与开发者合作,将设计屏幕串在一起,传递互动并实现数据绑定
- 测试方案
- 修改和更正方案
- 帮助客户在其环境下配置应用
要知道,这些步骤解释只是一种可能的方案。对于任何一个设计者这些过程可能都不同:基于特定的方案,一些步骤可能被省略、合并或者扩充。在他们特定的需求、习惯和目的下,设计者也会增加或者改变一些步骤。你将会在第十二章学习更多关于设计者和开发者合作的细节。
Visual Studio: 开发者的世界
在软件发展作为一个学科的开始,开发者就已经拥有他们定做的世界。.NET开发者选择的工具是Microsoft Visual
Studio。这个IDE简化了设计、开发、测试、调试和配置应用。有了Visual Studio,开发者在他们创建产品时可以变得更加有效率。

虽然传统上设计工具和开发工具占据了不同的世界,但是当Expression Blend和Visual
Studio被用来设计WPF和Silverlight应用时,这两个分离的世界拥有了一些重叠的点。Expression Blend和Visual
Studio使用同样的项目结构并且使用XAML作为共享的文件标准——这可以有效率地从应用设计中分离代码编辑。设计者可以在Expression
Blend中创建SketchFlow原型,在Expression Design中设计用户界面(UI)模型,将图形转换为控件,并且在Expression
Blend中增加互动性。开发者可以在Visual Studio中创建兼容的项目,打开并且在设计者的项目上工作,和增加他们的代码来充实应用的功能。
为了更有效率和有成果的工作,设计者和开发者可以通过Microsoft Visual Studio Team Foundation
Server的check-in和check-out功能来共享项目文件。Team Foundation
Server确保了设计者和开发者的工作是相同的、最新的并且对整个团队可以使用的。为了连接Team Foundation
Server,你必须拥有客户通行证书(CAL)。如果你有一个包含MSDN订阅的Visual Studio 2010版本,你就已经拥有了CAL。
关键点
- WPF是一个用来设计和创建Windows桌面应用的综合的UI平台
- WPF是在.NET Framework 3.0至4版本中的图形子系统
- Silverlight是一个WPF的子集,通过可下载的运行时机制将平台拓展至Web
- 拥有Silverlight,设计者和开发者能够创建富互联网应用程序(RIAs)
- WPF和Silverlight都使用XAML标记语言
- 设计者可以在前端工作,创建用户界面和增加互动性
- 开发者可以在后台工作,写一些程序功能性的代码
- Expression Studio是一个包含Expression Blend + SketchFlow, Expression Design, Expression Web + SuperPreview 和 Expression Encoder + Screen Capture的一套专业的前端设计工具
- Visual Studio是对开发者能够简化设计、开发、测试、调试和配置应用程序的IDE
- Expression Blend和Visualo Studio使用相同的项目文件格式,所以他们可以打开同一个WPF或者Silverlight项目工作
- 通过使用在Expression Blend和VisualStudio中集成的Team Foundation Server与你的团队同步