技术开发 频道

Visual Studio:Microsoft 开发人员工具路线图

通过与 Visual Studio .NET 协同开发,Microsoft .NET Framework 提供一个可靠的基础,可构建基于 Windows、Web 和移动设备的应用程序。这些应用程序按照设计进行集成并能够在整个企业中有效进行部署。在版本 2.0 中,.NET Framework 将通过在其各个功能领域中引入重大的增强功能来进一步扩展开发人员的能力。新的类将使开发人员能更有效地访问常用组件,如打印机、文件系统和注册表。对 Windows 窗体和 ASP.NET 类进行的改进可将常见方案中的代码量最多减少 70%。通过支持 Intel 和 AMD 的 64 位处理器、改进的 ASP.NET 缓存和页处理以及总体改善的工作集和应用程序启动时间,可靠性和可伸缩性也将得到显著改善。

Windows 客户端应用程序开发(Windows 窗体)

Windows 窗体使开发人员能够具备 Windows 客户端 PC 的全部强大功能。在 .NET Framework 2.0 中,Windows 窗体类将得到增强,以便包含改进的应用程序部署模型、提高的开发人员的工作效率和简化的数据访问。.NET Framework 2.0 还将包含对 Windows 客户端应用程序性能和安全性的显著增强。

.NET Framework 2.0 非接触部署策略通过引入“ClickOnce”(一种将 Web 应用程序部署的简易性和安全性带给 Windows 客户端应用程序的新技术)进而得到改进(图 11)。建立在自说明性程序集、组件清单和并排组件安装的特征基础之上,ClickOnce 使开发人员能够发布、安装和维护 Windows 客户端应用程序,而无需害怕破坏客户端操作系统上的现有功能。尽管传统的部署会生成可能要求对系统注册表和到共享系统文件夹的安装进行修改的 MSI 软件包,但 ClickOnce 发布被定制为安装独立的、无需注册的程序集。开发人员可选择最适合其 Windows 客户端应用程序的模型:ClickOnce 发布、MSI 部署或者两者的组合。

使用 ClickOnce 安装的 Windows 客户端应用程序新功能包括:对脱机运行应用程序的支持,回滚到以前版本的应用程序,在 Windows“开始”菜单中列出应用程序,以及控制面板中的“删除程序”目录。此外,.NET Framework 2.0 中的 ClickOnce 部署使开发人员能够用 Windows 客户端应用程序分发 .NET Framework。


11. 发布向导使 Windows 客户端应用程序能够像 Web 应用程序一样方便地进行部署。

 

为进一步支持该部署模型,我们正在代码访问安全方面进行大量的投入,以便控制从远程 Web 服务器部署的应用程序的功能,从而防止用户受到恶意代码的攻击。在 .NET Framework 2.0 中,授权操作(可以由已部署的应用程序安全地执行)的范围将得到扩展。此外,对 .NET Framework 进行的增强将使系统管理员更容易安全地产生对代码访问安全策略的更新。

其次,Windows 窗体将包含能够提高开发人员工作效率的功能和控件。这些功能和控件包括:用于承载 Office 文档的活动文档容器、Microsoft Office 样式工具栏、直观的拆分器控件、可以在不完全信任模式下运行的声音组件、可以通过托管代码安全访问的 Web 浏览器控件,以及随屏幕分辨率或窗体大小的更改而自动调整窗体上控件位置和大小的布局控件。此外,通过在 Windows 窗体异步编程模型方面的大规模投入,多线程应用程序的实现将得到简化。很多 Windows 窗体控件将具有异步属性,并且将由一个能管理异步任务的新的、直观的 BackgroundWorker 组件加以补充。

这些新的控件和组件将使用为 Windows 窗体设计器计划的增强功能,包括智能标记、视图轮廓线、数据预览等。 使用智能标记,Windows 客户端应用程序开发人员可通过单击鼠标方便地自定义数据绑定控件的外观和行为(图 12);视图轮廓线将简化窗体内控件组的布局,而数据预览将使开发人员能够在设计时查看填充的数据绑定控件。


12. 智能标记可轻松地自定义数据绑定控件和窗体。

 

Web 应用程序开发 (ASP.NET)

Web 应用程序基础结构 ASP.NET(作为 .NET Framework 版本 1.0 的一部分引入)将提供 Windows 客户端开发的瘦客户端对应物。通过显著改善的性能、工作效率和安全性,Visual Studio 2005 和 ASP.NET 2.0 将带来简化、高性能且强大的 Web 开发体验。ASP.NET 2.0 将具有一组新的控件和基础结构,可简化基于 Web 的数据访问,并且将包含能够促进代码重用、可视化一致性以及增强美感的功能。

首先,通过引入用于与数据交互的新控件来调整 ASP.NET 2.0 数据访问。DataSource 控件将以声明方式或编程方式在应用程序中使用,以便封装使用数据(来自数据库、XML 文件、中间层业务对象和其他来源)所需的查询逻辑。DataSource 公开一组公共接口,以便数据绑定控件可以轻松地使用不同类型的数据,而不必要求它支持的每个数据类型都具有唯一的 API。

尽管 DataSource 控件有助于简化数据的检索和更新,但 ASP.NET 2.0 还提供用于显示和操作数据的新控件。GridView 控件是 ASP.NET DataGrid 的后继控件,它添加了自动处理数据的分页、排序、编辑和删除的功能(图 13)。DetailsView 是一个数据绑定控件,它一次呈现其关联数据源中的一个记录。与 Microsoft Access 数据库的窗体视图类似,DetailsView 提供分页按钮,以便在记录之间进行导航。开发人员可以在主控件-详细信息控件方案中使用 DetailsView 控件来更新和插入新记录,其中,主控件的选定记录确定 DetailsView 显示记录。上述控件和其他控件的附加功能大大简化了生成动态的、数据驱动 Web 站点和 Web 应用程序。


13. GridView 控件提供网格元素的分页、排序、编辑、删除和选择,而无需附加代码。

 

其次,ASP.NET 2.0 包含能够在 Web 站点中的页之间确保一致性和代码重用的功能。母版页的引入将使开发人员能够在多个页之间快速共享布局,方法是设计指定控件、菜单栏、页眉和页脚位置的模板(图 14)。与 Windows 窗体中的可视化继承类似,母版页使 Web 站点中的其他页可从母版页继承从而自动获得外观。当开发人员要更改所有页的布局时,只需对母版页进行更新。其他的平台工作效率增强功能包括一组可以简化很多常见 Web 方案(如身份验证、站点导航、管理、个性化等)的框架服务。这些增强功能可减少代码膨胀,增加可维护性,并简化大多数常见 Web 应用程序开发任务的实现。


14. 通过母版页可在多个页之间有效地共享 Web 站点布局。设计器中的灰色区域表示母版页布局;白色区域表示可编辑的页内容。

 

ASP.NET 还有一项新增功能,即合并主题和外观以增强 Web 应用程序的外观。外观是一组属性、模板和自定义代码,可用于将页上控件的大小、字体和其他特征进行标准化。主题合并了多个外观和样式表来指定 Web 站点的整体外观。主题和外观将易于打包、传输以及应用于其他 Web 站点。此外,ASP.NET 将提供多个内置主题,以便开发人员可轻松生成具有艺术美感的 Web 站点。

第三,使用 ASP.NET 2.0 的 Web 应用程序开发人员将能够利用 SQL 缓存无效化来提高其应用程序性能。通过缓存从 SQL Server 数据库中检索的数据(更新该数据之前),这种数据缓存方法将显著提高性能。通过当前可用版本的 SQL Server,ASP.NET 将按照指定的时间间隔轮询该数据库,以确定是否已经对该数据进行更新。然后,只有当有迹象显示对该数据进行了更新时,ASP.NET 才会重新查询该数据库。但是,在针对 SQL Server 2005 数据库进行开发时,开发人员将能够在不确定的时间内缓存数据驱动的页。具备这一功能的原因是 SQL Server 2005 能主动将对数据进行的更改通知 ASP.NET。SQL 缓存无效化的内部测试已证明了,性能好处最高为非缓存数据方案的 10 倍。

第四,通过使用 Visual Studio 2005 IDE,Web 应用程序开发人员将体验到工作效率方面的显著改善。在启用新的 Web 开发人员 IDE 配置文件后,Visual Studio 2005 将只公开与 Web 应用程序开发有关的功能,从而优化开发环境和用户体验。此外,新的基于目录的项目模型将消除解决方案文件的系统开销,同时通过对直接 IIS 枚举、FTP 和文件系统访问的支持,使 Web 开发人员能够享受传统的基于文件系统的项目范型。结果,FrontPage Server Extensions 不再是生成 ASP.NET 页的必要条件。

最后,对 ASP.NET 代码隐藏模型的增强消除了对由脆弱工具生成的代码的依赖,这些代码是传统意义上协调 ASP.NET 2.0 Web 页与其关联类文件所需的。使用不完全类,ASP.NET 提供一个更为可靠的模型,以分隔表示标记与代码。不完全类还将使开发人员能够轻松地以内联方式编写代码(图 15),从而遵守很多 Web 开发人员所熟悉的模型。其他对 Web 开发的 IDE 工作效率增强功能包括:设计时验证引擎、内联 CSS 支持、更灵活的调试等。


15. 通过脚本块中的智能感知可以在设计时执行语句完成和语法检查。

 

通过在控件集、可视化设计器和编码体验中计划的改进,ASP.NET 2.0 将完成常见编码方案所需的代码量最多减少 70%,从而大大简化 Web 应用程序开发体验。

基于设备的开发

通过 Visual Studio .NET 2003 和 .NET Compact Framework,使用 Visual Basic 和 Visual C# 的开发人员获得如下功能:使用与基于桌面和 Web 的开发相同的工具和方法来生成基于设备的应用程序。在 Visual Studio 2005 中,将对智能设备可编程性进行扩展,以便包含更新版本的 .NET Compact Framework,以及对从 IDE 中进行本机 Visual C++ 智能设备开发的支持。

通过在 Visual Studio 2005 中包含本机 Visual C++ 智能设备开发,使开发人员在为 Pocket PC、Smartphone 和其他 Microsoft Windows 驱动设备开发应用程序时具有更大的灵活性。面向移动设备的开发人员将得益于以下几方面:本机 Visual C++ 开发功能和一致的开发体验在所有 Visual Studio 项目类型(从智能设备到 Windows 服务器)中的紧密集成。

对于使用 .NET Compact Framework 生成托管应用程序的开发人员而言,Visual Studio 2005 将支持创建可以在最新设备(包括 Smartphone、基于 Windows CE .NET 的设备和最新版本的 Pocket PC)上运行的应用程序。该版本还将引入一些新的类和控件,用于访问电话功能、消息处理 (MSMQ) 和短消息服务 (SMS)。最后,本机代码互操作性增强功能(包括改进的封送处理、COM 互操作性和运行库承载)将改善智能设备应用程序开发体验。

数据访问 (ADO.NET)

通过第一版的 .NET Framework,Microsoft 引入 ADO.NET — ActiveX 数据对象 (ADO) 的演进产品。ADO.NET 设计为以本机方式支持 XML 以及传统的数据集,它提供强类型的分布式数据访问并通过广泛使用本地数据缓存和开放数据库连接防止不必要地占用数据库端口。产生的性能和可伸缩性方面的改进提供了一个坚实的基础,可在其上增强将来版本的 ADO.NET。

在 .NET Framework 2.0 中,通过添加新的数据访问控件、服务,与 SQL Server 2005 更无缝集成的功能,以及对 ADO.NET 类库本身的改进,数据访问将得到增强。这些增强功能将集中于使用的简易性、代码可重用性以及对 XML 的改进支持等方面。

首先,对数据访问对象模型的可用性进行大量改进。尽管 .NET Framework 的初始版本主要致力于为数据访问开发人员提供强大的核心,但 .NET Framework 2.0 将用附加的类扩展该核心,以便进一步提高开发人员工作效率。此外,跟踪支持将得到改进,以便在多个层以及 .NET Framework 托管代码和本机代码中对数据访问组件进行细致调试。

其次,.NET Framework 2.0 将包含用于对 XML 进行编辑、调试和编码的增强工具以及相关技术(图 16)。除在访问和管理 XML 时提供改善的性能以外,.NET Framework 2.0 版还提供一些扩展功能,用于执行与 XML 操作有关的常见任务,以及其他基于 XML 的标准和技术。


16. 新的 XML 编辑器支持 XSLT 的大纲显示、验证和编辑。

 

最后,Visual Studio 2005 中用于创建 XML 架构的增强功能包括从现有 XML 文档中推断 XSD 架构的功能,以及对基于 XML 的数据处理(使用 XML 查询语言 (XQuery))的本机支持。

高级 Web 服务

通过 Visual Studio .NET 2002 和 2003,开发人员可轻松创建、使用、发现和部署 Web 服务。在 Visual Studio 2005 中,Microsoft 对 Web 服务的持续承诺将通过对 Web 服务增强 (WSE) 库中实现的最新行业标准的支持得到证实。对 WSE 的更新将为创建业务关键的 Web 服务(服务涉及多个信任域、长期运行的操作和对等通信)提供便利。

此外,随着 WSE 的应用日趋广泛,以及高级 Web 服务开发行业规范的不断成熟,WSE 库将被集成到 .NET Framework 中。将来版本的 WSE 将包含这些规范的最新版本,并且将包含策略框架、增强的安全模型和 SOAP 消息处理基础结构。此外,WSE 将支持 IIS 外部的承载(作为可执行文件或 Windows 服务),并且将支持 HTTP 和 TCP 通信。

0
相关文章