WinFx 的必要性:为绝对初学者提供的理解
WinFx 技术的需求,WinFx 所需的工具,以及 WinFx 的链接
WinFx (.NET Framework 3.0) 入门
各位朋友
我写这篇文章是为了向大家介绍 WinFx (.Net framework 3.0) 所需的大部分信息。我之所以有写这篇文章的灵感,仅仅是因为我觉得网上的信息都散乱地分布在各处,对我来说,收集信息和工具来推进软件开发的新时代变得非常困难。而且我也确信,现在从 .net2 迁移到 WinFx 不会像从 0.1 迁移到 0.2 框架那样容易。我试图用自己的话来写这篇文章,以便于理解,并指明正确的方向,因为所有的开发人员都需要这样做。我相信,一旦您阅读完本文档,您将能更轻松地学习和开始使用 .net 3.0。
满足技术需求
在您阅读本文之前,我想问您一些我在探索 WinFx 时脑海中浮现的问题。请在继续阅读本文之前,将这些问题铭记在心。
- 首先,我想问您的是,您有多少次觉得 Windows 应用程序开发和 Web 开发在创建 UI 方面是完全不同的?
- 您是否曾想过,Windows 应用程序能否拥有与我们通过 HTML 在网站上获得的相同外观和感觉?您的设计师在为 Windows 窗体准备 GUI 时能有多大的灵活性?
- 您知道多少种通信方法,有多少种您尝试实现过,并分析了软件的需求?让我说,您可能知道 XML Web 服务、Remoting、MSMQ……而且很少尝试实现所有这些方法,也很少分析需求来选择其中最合适的一种。
- 您有多少次不得不处理应用程序中非常非常复杂的业务逻辑,有多少次需要调试代码以确保您的代码处理的数据是正确的?在实现 ERP 系统时可能就会出现这种情况。每当您尝试实现那种复杂的代码时,您的代码看起来会是怎样的?在没有您的帮助的情况下,您的团队中有多少成员能够理解它?
- 您如何向您的客户、团队成员和项目负责人展示您的代码,并提供 99% 相同的文档,以便他们都能轻松理解您所做的一切?我敢肯定,这永远是不可能的,对吧?
- 您知道多少种软件应用程序?让我说,您可能知道,标准的 Windows 应用程序、网站、智能客户端应用程序和 Windows CE。客户可以或已经要求任何新的应用程序类型吗?
一旦您找到了这些问题的答案,您就会发现微软推出的新技术 WinFx,它只不过是 .NET Framework 的代号。
好的,现在我们有了一个愿景,为什么我们需要一些演进以获得更智能、更自动化的开发环境。让我非常非常简要地解释一下 WinFx 技术,仅作为其入门部分。我提供了一个链接,您可以从中找到有关特定主题的详细信息。
您可以从以下链接找到有关 WinFx 的有趣白皮书:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/intronetfx30.asp
演进与介绍
许多基本需求促使微软发布 .net 框架。但让我指明一个方向,以便更好地解释框架 3.0。
.NET 框架运行在您的 .net 应用程序和操作系统之间作为中间层。因此,它当然被视为托管代码,从而降低了应用程序崩溃的风险。CLR 负责管理您的代码和应用程序使用的资源。如果我们展望未来,.net Framework 3.0 正在等待着我们。
简而言之,.NET 3 (WinFx) 是 .net 2.0 的一个封装,具有一些令人难以置信的功能,让我激动不已!这些封装又分为四个主要部分。
1. WPF (Windows Presentation Foundation)。
Windows 桌面应用程序 UI 设计的新时代。以下是一些主要功能:
- 从现在开始,我们将不再使用 .NET 2.0 之前使用的 WinForm 控件。一切都是 XML。您编写的任何内容都将是用于设计的 XML。微软官方称之为 XAML。
- 由于这个 XML,现在在 WinForm 设计中也可以实现您在 HTML 页面中可以做的所有事情。
- 类似 Web 的层叠样式表也可以在 WinForm 中实现。
- 设计师像为网页一样在 Photoshop 中绘制屏幕。然后,您可以执行与将该布局转换为 HTML 相同的步骤。
- 提供了新型应用程序,称为“WPF 基于浏览器的应用程序”,它可以在 Internet Explorer 中运行,就像 ActiveX 和 Applet 一样。
- 3D 建模。
- 像 GIF 文件一样的动画也可以在 Windows 窗体中实现。
链接
WPF 架构和功能
http://msdn.microsoft.com/library/en-us/dnlong/html/wpf101.asp
WPF 初学者教程
详细了解 WPF 的功能
http://en.wikipedia.org/wiki/Windows_Presentation_Foundation
入门视频
http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20060817wpfkg/manifest.xml
首次动手实验
http://www.microsoft.com/downloads/details.aspx?FamilyID=05755a9d-98fa-4f16-bfdc-023e3fd34763&DisplayLang=en
2. WCF (Windows Communication Foundation)
分布式应用程序开发和网格计算的通信方法的新时代,具有前所未有的灵活性。这就是他们所说的面向服务的应用程序架构。
- Web 服务、WSE、Remoting、MSMQ……所有这些现在都映射到一个 API 中。
- 易于部署和与应用程序集成。
- 借助 WCF,XML Web 服务的访问速度不再是问题。
链接
学习 WCF (架构与基础)
http://msdn.microsoft.com/library/en-us/dnlong/html/wcfarch.asp
WCF 开发入门
http://msdn.microsoft.com/library/en-us/dnlong/html/introtowcf.asp
3. WF (Windows Workflow Foundation)
这是微软在 .net 3.0 中推出的非常非常酷的功能。借助这个基础,您可以实现任何您甚至无法想象的复杂业务逻辑。只需几个小时,您就可以完成几周的工作。功能如下:
- 绘制流程图,然后代码部分将自动生成。当然,您需要输入一些代码。
- 在文档中表示您的逻辑,实际上就是您实现的代码。
- 不再需要代码的语法和注释,因为您的逻辑是以流程图的形式呈现的。
- 通过状态图维护对象的 (应用程序对象) 状态。为您的对象绘制状态图,它将在 IDE 中准确地达到您绘制的状态。
- 当我看到并行计算和多线程应用程序开发的演示时,简直难以置信。只需绘制带有并行流程的顺序流程图即可。无需考虑线程和多进程管理。
链接
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/hmnwkfwwf.asp
理解 WF 中的组件
http://msdn.microsoft.com/msdnmag/issues/06/12/windowsworkflow/
4.Windows Info Card: 我对此一无所知。如果您有人能理解,请告知我。
如何开始 WinFx (工具和资源)
我进行了研究,找到了合适的工具,这样您就无需再次研究即可开始使用 .net 3.0。整理所有这些信息并使其方向正确是一段艰难的时光。
1. Visual Studio 2005 是 WinFx 开发的工具。因此,无需担心新工具。
2. 安装和下载 .net 3.0 框架。但是,通过此安装,您的 2005 IDE 将不允许您创建 WinFx 应用程序。
http://www.microsoft.com/downloads/details.aspx?FamilyID=10cc340b-f857-4a14-83f5-25634c3bf043&displaylang=en
3. 对于 WPF 开发 (基于 WinFx 的 Windows 窗体设计),请安装“Microsoft Visual Studio Extension for WPF”。安装此扩展后,您可以创建 WPF 窗体、WPF 应用程序、WPF 页面、WPF 控件、WPF 浏览器应用程序 (这不是 Web 应用程序)。这些扩展还允许您创建 WCF 服务。
http://www.microsoft.com/downloads/details.aspx?familyid=F54F5537-CC86-4BF5-AE44-F5A1E805680D&displaylang=en
4. 对于工作流开发,请安装“Microsoft Visual Studio Extension for Workflow Foundation”。安装此扩展后,您可以创建序列、序列服务、序列状态图。
http://www.microsoft.com/downloads/details.aspx?familyid=5D61409E-1FA3-48CF-8023-E8F38E709BA6&displaylang=en
以上就是全部。现在您可以成为 .NET 3.0 的专家了。
现在,它们为 XAML 编辑和 WPF 设计提供了许多工具。就像我们有很多 HTML 工具一样。尽管我们可以在 VS IDE 中完成 HTML 的所有工作,但设计师仍然会偏爱 Dreamweaver 来进行复杂的 HTML 设计。同样,尽管 VS IDE 为 XAML 的创建和编辑提供了 Windows 窗体所需的一切,但微软的 IDE 并不是用于复杂 WinForm 设计 (如 3D 建模) 的合适工具。因此,微软提供了两个工具:
Microsoft Blends
使用这些工具,您无需编写任何 XAML 语法即可创建更好的 XAML 文档。以 Resource Dictionary 的形式为 Windows 窗体创建样式表。这就像您为 HTML 文档在 Dreamweaver 中创建 CSS 文件一样,以 Class Dictionary 的形式。
http://www.microsoft.com/products/expression/en/expression-blend/try.mspx
Microsoft Design
使用这些工具,您可以创建更复杂的 XAML 文档,甚至包括 3D 建模。这可以与 ADODB Photoshop 相媲美,您可以在其中创建布局并将其导出为 HTML 文档。
http://www.microsoft.com/products/expression/en/expression-design/free-trial.mspx
此外,还有一些第三方工具可用于此设计,但我只使用过这两个工具,它们确实是令人惊叹的工具,我们以前甚至无法想象它们能用于 Web 应用程序。
Microsoft Design 和 Blend 的一些功能只能在 Windows Vista 环境中实现,例如玻璃窗口、窗口控件的 3D 动画。微软正在不断推出更多 WinFx 控件,并且每年都会发布。许多微软合作伙伴公司已经开始构建基于 WinFx 的第三方控件,但它们都还没有发布 Beta 版本。
好的,现在我认为您对 Windows Framework 3.0 有了更好的入门。所以,您还在等什么?让我们一起努力,让艾哈迈达巴德成为我们第一个开发基于 WinFx 的商业应用程序的公司。据我所知,古吉拉特邦只有大约 10% 的人开始关注这个领域,也许占全球软件公司的 10% (我猜的)。而我做到了!
当然,这不像我在本文档中解释的那么容易,但它非常有趣。您需要学习所有新的工具、所有新的 API 和所有新的概念来使用 WPF、WCF 和 WF。我们需要学习很多新东西,正如我提到的,从 .net 2 迁移到 .net 3 不会像从 .net 1.1 迁移到 .net 2.0 那样容易。我们需要花一些时间来学习 WinFx 开发的策略。他们提供了新的事件模型、新的属性概念、新的容器概念,等等,不胜枚举。即使是 Web 应用程序,我们也可以使用工作流基金会,所以这也需要学习,而且对于所有软件专业人士来说,这都是一个全新的概念。在开始时犯很多错误总是好的,这样我们就可以在初期学到很多东西。
我在这里写的所有内容都是我所理解和学到的。我可能在某些地方犯了错误,所以如果您发现任何进一步的正确信息,请给我发邮件,以便我可以更正信息,其他人可以利用这些信息。我希望我们能尽早开始学习这项技术,因为我认为在一年内,人们就会需求它并需要专家。所以,让我们在这个不可预测的计算机技术竞赛的开端,尽早起步!
我收集了很多关于 WinFx 的视频学习课程,在这些视频中,他们通过编程演示探索了 80% 的新术语。
所以,让我们开始新的未来之旅吧,我们可能会面临,尤其是那些从事微软技术工作的人。
学习资源
http://wpf.netfx3.com/ (包含 WPF、WCF、WF 和 CardSpace 的视频、示例应用程序、代码、技巧)
http://www.netfxguide.com/guide/_net_framework_3_0.aspx (WinFx 完全指南,几乎是您开始 .net 3 所需的一切)