Scott Guthrie 最近为使用.NET 3.5 开发 Windows 客户端应用程序的开发人员所希望的改进进行了大致的描述。这些改变会在接下来的几个月里发布。
这个路线图包括以下几个方面:
为客户端应用程序改进了.NET 框架安装的体验
需要一并安装.NET 框架可能是发布.NET 客户端应用程序的最大困难之一了。微软已经承诺将简化这一过程:
Windows Form 和 WPF 客户端应用程序能够使用这个安装框架,独立地将.NET 框架安装到机器上。这个独立安装工具能够自动下载.NET 3.5 客户端应用程序所需的.NET 框架包。举个例子,如果一个用户已经在机器上安装了.NET 2.0,那么安装程序就能智能地识别,并自动下载.NET 2.0 到 3.5 的升级包(而不会重新下载.NET 2.0 中已经有的组件)。这个做法能够有效地降低客户端安装程序的负载大小,并提升安装体验。我们也会为基于 MSI 和 ClickOnce 安装方案提出改进,以得到一个更完整的应用程序安装体验,并且支持一个更加友好的发布体验。
该安装框架可以与第三方的安装框架集成,例如 InstallShield。这使最终用户能够更快地安装.NET 框架。
改进了运行.NET 客户端应用程序所需工作集大小和启动时间
如果没有运行使用相同版本.NET 框架的其他应用程序,那么打开一个.NET 应用程序所花的时间会比在框架已经加载的前提下启动第二个应用程序的时间要相对长一些。
我们经常被问及如何能够使.NET 应用程序在“冷启动”时快一些。“冷启动”发生于一台机器上没有其他.NET 客户端应用程序正在运行(或最近没有运行过)的时候,这时启动一个.NET 应用程序需要操作系统从硬盘上加载许多数据页(代码,静态数据,注册表等)。如果您正在加载一个庞大的.NET 客户端应用程序或类库,或者硬盘速度很慢,那么这种应用程序的“冷启动”会占用较多的时间。
今年夏天,我们会发布一个 CLR 的更新来进行一些非常有效的内部优化,例如我们会优化我们的数据结构来减少磁盘 IO 消耗,并且改进了加载和运行程序时的内存布局。作为改进所带来的好处之一,这些做法能够大大改进.NET 2.0、3.0 和 3.5 应用程序的工作集与冷启动的性能,显著提高基于.NET 的客户端应用程序的用户体验。取决于应用程序的规模,我们期望.NET 应用程序的冷启动速度能够提高 25-40%。这些改进会自动生效,无需改变应用程序的任何代码,也不用重新编译。
这可能是开发人员最期望的更新之一了。除非运行在一台非常快速的系统上,WPF 的性能看上去的确有些低。目前团队正在对一些常用组件进行更新,以帮助开发人员改进这个问题:
今年夏天我们计划发布一个 WPF 的更新,此次更新包括一系列对于文字、图像、媒体和数据栈的性能优化。这些内容包括:- 移动 DropShadow 和位图模糊效果在目前是由软件进行呈现的,今后将会使用硬件加速(这样可以提高数倍性能)。这些效果的 API 与目前相比会保持不变(这意味着您无需改变任何代码或重新编译即可获得这些优化)。
- 对于文本渲染场景,尤其在使用 Visual 和 DrawingBrush 场景时,性能会得到充分的改善。这些 API 同样会保持不变(这意味着您无需改变任何代码或重新编译即可获得这些优化)。
- 媒体和视频的性能同样会快的多(同样无需改变任何代码或重新编译即可获得这些优化)。
- 我们的更新会包含一个新的 WriteableBitmap API,能够根据一个软件的表面实时地更新位图。我们同样添加了一些强大的 API,使您可以构建更为丰富的图像场景。
- 我们的更新还包括了新的数据扩展性改进,它们能够用于数据编辑场景。这些改进包括容器回收和数据可视化的支持,这使得开发一个数据表现效果丰富的控件变得更加容易。
我经常向开发人员谈论使用 WPF 的话题,一个比较普遍的抱怨就是可以使用的控件数量。微软同样会对此进行改进:
今年晚些时候,我们同样计划发布一些 WPF 的新控件。我们正在开发的有 DataGrid、Ribbon 以及 Calendar/DatePicker 等控件。
对于那些期待额外控件的人来说,这些新的控件对于促进使用 WPF 大有帮助。
Visual Studio 2008 WPF 设计器改进
目前的 WPF 设计器缺乏开发人员熟悉的某些功能,最后一部分改进正是针对这点:
我们同样计划发布一个 VS 2008 的服务更新,包括一些对 WPF 设计器功能的增强。这些改进包括属性面板中对于控件事件标签的支持,源代码模式下的工具箱支持,以及一些经常被提及的功能改进。
这些升级能够帮助开发人员更方便地开发桌面应用程序,而且在大多数情况下并不需要改变代码。不过开发人员需要了解的是,这些改进只支持.NET 3.5 框架和 Visual Studio 2008。查看英文原文: Scott Guthrie outlines the .NET 3.5 Client Roadmap
评论