摘录的些许概念__WinFX

WinFX

百度百科:http://baike.baidu.com/view/309502.htm?fr=aladdin

WinFX就是微软继DOS、Win16、Win32之后推出的第四代API。

WinFX 是 Windows Vista 的托管代码编程模型,它构建在 .NET Framework 的基础上并对其进行了扩展。WinFX 不仅为目前面对的软件挑战提供了切实可行的解决方案,也为创建现在不可能创建的软件和服务提供了新的机会。它使得开发人员和设计人员可以快速创建新的应用程序和体验,使它们更加可靠和安全、视觉效果更好、信息管理更智能化、连通性更好、协作更方便。

2提高编程速度
WinFX 的主要目的是使开发人员比现在更快、更简单地创建各种应用程序,而无论他们属于全球 100 强企业的开发团队,还是属于小型 ISV 的开发团队。为此,WinFX 提供了:
• 跨越所有 Windows Vista 功能的一致的编程模型
• 执行常见任务的单一、直观而“正确”的方法
• 封装常见任务的高级类库
• 建立在现有技能基础上的熟悉的编程模式
• 对工具友好的框架
3提高软件质量
WinFX 也重视帮助开发人员提高软件质量。现在开发人员面对的最大挑战之一是如何轻松地创建安全、可靠、可伸缩、多版本和易部署的应用程序。WinFX 将提供一种编程平台,使开发人员在整个应用程序的生命周期中能够更容易地提供这种质量,同时又不会降低效率。为此,WinFX 将提供:
• 开发人员易于理解的部署和更新支持
• 对于开发人员透明的常见任务的安全性支持
• 消除缓冲区溢出等常见编程错误的默认功能
4缩小开发、设计人员的差异

WinFX 也开始缩小开发人员和设计人员之间的差异,使他们能够创建更美观、更易于使用的应用程序。传统的系统级 API(如 Win32)主要集中在作为客户的系统软件开发人员上。WinFX 提供了获取新客户的机会,从而需要在创建应用程序方面变得更加简单。因为 Windows Vista 的核心功能是新的 Windows Presentation Foundation(以前的代号为“Avalon”)子系统和 AERO shell,所以核心客户将变为设计人员,来帮助提供丰富、一流的用户体验。

Vista生成器最终将跟以前的Win32 API(Application Programming Interface,应用程序编程接口)进行分离,取而代之的是可管理的WinFX,而WinFX就是微软继DOS、Win16、Win32之后推出的第四代API。据外刊报道,以前利用Win32 API开发的软件,在微软承诺的维护期之后将不能运行。 
  Win 32 API历经Windows 95到XP,受到众多应用软件开发商的追捧。过去,无论是最常用的字处理、电子邮件、即时通讯软件,还是专业的杀毒、ERP软件等等,大都利用微软提供的API进行开发,这样能省去直接跟系统资源、硬件打交道的麻烦。微软提供了近7.8万个Windows API以及大量的辅助开发工具,这种友好的姿态让无数开发人员甘愿在微软平台上创造各种应用软件。但另一方面,微软又通过API“控制”了软件的开发,帮助自己成就了霸主地位。然而,在Win32 API逐渐淡出人们的视野后,新一代的API还能如微软设想的那样延续Win32时期的辉煌吗? 
以下内容来自2006年
  挑战来自互联网 

  事实上,微软首先要迎接的便是互联网所带来的挑战。在最近举行的“Zend/PHP展会”上,Google副总博思沃斯称,计算的力量正在由专有技术、微软的API转向Web上的链接和内容。他认为,10年前,API意味着控制,但目前占有主导地位的是链接。“在目前的这个世界上,API就是链接。”尽管博思沃斯有意跳过了应用软件最终都要跟硬件打交道这一事实,但也说明一种真实的现象:随着网络的兴起,技术不再让用户、投资人和软件开发商有多大兴趣,如何利用已有的技术提供多样化的服务才是关注的焦点。正如博斯沃斯所预测的,微软的API似乎有被边缘化的趋势。 

  软件的消费需求变了,应用软件开发商随之而变。过去在C/S(客户端/服务器)模式下,软件由开发人员根据客户的需求,制订开发计划,然后调用操作系统API来实现,最后部署到客户的终端和服务器上。现在,软件开发正在经历着从C/S结构到B/S(浏览器/服务器)结构的变革,软件可以不用部署到客户端,用户只要上网打开浏览器就可以实现需求。 

  “在企业级应用上,”大唐软件总经理助理兼规划咨询部经理陈彬说,“采用B/S开发的软件对客户端的要求降低了,(软件)大部分功能,包括界面控件,都放到应用服务器上部署和共享。”一旦一切操作都在网络上完成,实现这些操作的软件就不用像以前一样必须安装在客户端上,也就不必再调用桌面操作系统的API,而是把与硬件设备打交道的烦琐工作交给中间件或服务器去处理,这样,桌面操作系统API的生存空间不得不面临挑战。 

  在B/S模式下,变的不仅是软件开发的方式,软件开发人员也在变。新一代的程序员对Windows API的了解也大不如前,博思沃斯表示他们更多地使用PHP、LAMP组合(Linux、Apache、MySQL、Perl/PHP/Python)。这一点从人力资源的供求关系也可以看出。据纽约市人力资源调查显示,Windows API程序员的数量远不如从前,所以遇到需要Windows API开发人员时,这些程序员的身价可以达到13万美元/年,而近年来人数急增的网络开发人员却只能挣到8万美元的年薪。 

  不过,不同的应用软件开发产商对此有不同的解读。“防毒安全产品,在补足系统安全性时,需要尽可能地贴近操作系统,”趋势科技高级产品管理与技术顾问齐军介绍说,安全应用产品不仅需要与微软互相开放API,“实际上,为了更好地保护系统,对微软API的依赖很大。”尽管WinFX的前途不明朗,但在安全等跟操作系统联系紧密的领域,WinFX胜算还是很大。只是在CRM、ERP等注重客户业务开发的领域,随着B/S开发模式的渐渐普及,将逐渐淡化对操作系统API的需求。 

  出击,微软求变 

  微软已经看到了这些威胁。所以,Vista出来了,带着全新的WinFX。 

  没有全新的技术,就不会有震撼的软件。微软的WinFX已经把繁杂的Win32 API减少到8千个左右,在.NET框架下采用可管理代码编程模式,跟底层系统资源的关系更密切,能自动管理如内存等,减轻程序员的负担。另外,WinFX还加入全新的图形用户界面子系统Avalon、文件子系统WinFS和网络服务通讯子系统Indigo,使得开发环境更加友好。据Gartner预测,这些技术表明微软的API发生了巨大的改变,Win32 API终将被WinFX替代,而成为新操作系统中的遗产,正如Win32取代DOS和Win16一样。 

  尽管WinFX代表微软应用程序设计的重大进步,但Gartner认为这是有代价的。在一段时间内,程序员还可以继续使用Win32 API开发应用程序,不过利用WinFX开发的程序并不向下兼容,只能在Vista平台上运行。而且,Vista操作系统带来的变化和WinFX开发者框架迟早将会刺激开发者转向.NET框架,因此开发人员应当尽早掌握.NET框架可管理编码的技能,才能应付在2008年全面使用WinFX时会出现的种种问题。 

  当然微软不会忘记自己的霸主地位也来自于应用程序开发人员的贡献。所以,提供更好的开发工具、指南和大规模的宣传培训必不可少。随Vista一并提供的 SDK(软件开发者工具包)含有一套用户界面组件和行为,微软称新的Vista SDK将过去分散的工具、工具包和技术内容组合在一起,能支持端到端Windows客户开发。微软也准备了一系列能让开发人员熟悉和提高使用WinFX的活动,如Windows硬件工程大会等。 

  微软对自己的各种努力一向很自信。在最近一次专业开发人员大会(PDC05)上,微软宣布由三十多家独立软件供应商(IRV)已经确认将发行新的适用于Vista操作系统的应用软件。微软认为这是业界对微软下一代操作系统的热烈回应。从 2002 年就开始对微软下一代操作系统投入特别关注的Windows SuperSite专家 Paul Thurrott表示,微软把这些技术提供给现有的用户可以扩展 Avalon 和 Indigo 技术的市场,鼓励开发人员尽快的接纳这些技术。这样,WinFX 便能够更快的达到 Win32 API 几十年才达到的高度。 

  但火速蹿起的竞争对手们并不想把下一个十年再留给微软。在API的争夺战中,开源操作系统Linux所提供的免费API几年来在欧洲不断攻城掠地;在API之外,Sun公司力推的J2EE平台,也让年轻的客户端软件开发人员根本不用去了解Windows API;近段时间以来,Google举起“网络服务”的大旗,不断推出如Froogle购物、Gmail等免费的网络应用,直接威胁到利用微软API开发的各种应用软件。而微软当然也在Vista的一再而三的调整中努力寻求着对自己最为有利的方法。 

以下采集自以为当年的一位微软员工的记录文章。

 大家好。我是   Brad   Abrams,在   Microsoft   的公共语言运行库小组工作。今天在这里我们要谈一谈什么是   WinFX。通过业内的一些消息,您可能对它已早有耳闻。也许,您在一些网络日记中看到人们对它的谈论。今天,在这里,让我们来对它追根溯源吧。 <br/> <br/>   不过,在我们开始探讨   WinFS   的细节之前,哦,我想先谈谈关于   WinFX   开发的历史过程。追溯一下,我们引入   Win32   API   是在   1993   年,那是我们第一次将它公开给开发人员。没多久,它就与   Windows   95   版一起进行了发布。这样,从我们引入   Win32   API   算起已经历了超过   10   个年头了,现在也确实到了更新我们关于开发平台的概念的时候了。 <br/> <br/>   另外一件有意思的事情是平台会存在很长的时间?所以,我们必须确保我们构建的新平台有很长的寿命而且将会存在很长的时间。 <br/> <br/>   那么什么是   WinFX   呢?WinFX   是一个面向对象的   API,它利用   .NET   Framework   并公开   Longhorn   的每一个方面,将操作系统的每一个角落都呈现给开发人员。我为这个   API   感到非常兴奋异常,因为这是我们第一次真正地使   Windows   的核心   API   充满活力,从而使应用程序的开发人员能够以一种面向对象的方式访问   Windows   的每个角落。这意味着,所有的类对子类和扩展都是可用的,您能够自定义解决方案。而且在托管代码中它也是可用的,可以为您提供您希望在托管代码中得到的安全性、可靠性和健壮性。它构建于   .NET   Framework   之上并扩展了   .NET   Framework。所以,如果您熟悉   .NET   Framework,那么现在,您在家使用   WinFX   就能搞定一切。 <br/> <br/>   让我们花一两分钟看一下   Win   …   我喜欢   WinFX   这个名称,它非常酷。WinFX   由两部分组成。一部分是   Windows   而另一部分则是   FX,不是吗?相当基础。Windows   部分实际上是说出了   WinFX   的渊源,它来自   Win32   和   Win16,这些   API   是构建所有   Windows   应用程序的基础。这样它就为   Windows   部分提供了一个很好的发展过程:Win16、Win32、WinFX。 <br/> <br/>   FX   代表   framework。它表示   WinFX   继承自   .NET   Framework。所以如果您熟悉   .NET   Framework,而且现在正在   .NET   Framework   上编写代码,那么当将来转移到   WinFX   时会非常轻松。让我们继续,看一下我们在   PDC   中给出的介绍,如果您想看的话,可以在   Longhorn   开发人员中心找到。 <br/> <br/>   这一介绍为您提供了命名空间和   WinFX   中可用的非常关键的类型的高级概述。在这一层次的介绍中,您可以看到主要的应用程序模型   —   当您在这个新的   WinFX   API   集上构建应用程序时可以构建的不同类型的应用程序。稍后,我们会对它们进行逐一探讨。 <br/> <br/>   该介绍的剩余部分划分为四个主要内容。首先是三个主要的支柱:表示、数据和通讯。如果您回想一下,您的每一个应用程序都是由一些表示组成的,您如何与用户进行交互;如果应用程序由一些数据组成,您如何来使用数据或   XML,如何读取和写入信息;如果应用程序包含通讯功能,如何实现网络上您所在的节点与网络上其他人的节点之间的通讯。 <br/> <br/>   有一个基本块,这个基本块包含所有可用的、无所不在的基础结构。好的,让我们探讨一下更多的细节,您可以看到   WinFX   中可用功能的种类。第一个就是客户端应用程序模型。如果您正在构建一个在客户端上运行的应用程序,并且要利用客户端操作系统的强大功能,我们有   Windows   窗体这一功能   —   现在您已经了解并喜欢的   .NET   Framework   中功能。 <br/> <br/>   另外,对于要构建   Longhorn   应用程序(在   Longhorn   上运行的应用程序),我们有   Avalon   功能,它在   system.windows   命名空间中。而对于构建   Web   服务应用程序,我们则有   ASP.net   和针对   Web   服务的新技术(代号   Indigo)。而且这两种技术共享   system.web   命名空间中的同一个基础应用程序模型。我们还有数据系统。利用我们在   Yukon   中所做的工作,您能够在带有   UDT   的数据库中编写存储过程和托管代码。Yukon   已经成为   WinFX   中的一个非常强大的应用程序模型。 <br/> <br/>   另外,我们正在引入文件系统中数据存储的一个新的抽象(称为   WinFS),它可以让您在   DOS   中访问数据库之外的日常信息。此外,还有移动设备应用程序模型,它们可以成为应用程序模型的组成部分。如果您要为小型设备或者必须在已断开连接并且电源供应受限的状况下工作的设备构建应用程序的话,您便可以使用这些组成部分。 <br/> <br/>   好的,现在让我们进入命名空间的核心部分,看看里面有什么。您将看到的第一个命名空间就是   system.windows。它包含   Avalon   子命名空间和的核心类型,Avalon   是   Windows   新的表示子系统。它在   Longhorn   操作系统中是可用的,并且是为   Longhorn   构建一流的客户端应用程序的主要方式。 <br/> <br/>   当然,我们还有您了解和喜欢的   .NET   Framework   中的表示的其他部分。System   Windows   窗体用于构建必须在整个   Windows   操作系统范围内运行的客户端应用程序。System   Web   UI   为您提供了   ASP.net   计划的   UI   视图。 <br/> <br/>   接下来,让我们转到数据上来,我们要探讨的是   System.data,也就是我们了解和喜欢的   ADO.NET   栈,没错就是它。今天,我很高兴地宣布,即使在   WINFX   中我们也没有改变数据模式。而且我们在   Windbey   中引入了一个叫做对象空间   (Object   Spaces)   的新命名空间,它为您提供了数据的目标视图,这样您就可以根据这些对象以及它们的方法来访问数据库的行和列,而不必去了解数据库的架构。 <br/> <br/>   我们要探讨的下一个主题是   WinFS。现在,WinFS   表示在这个命名空间中,就像我前面提到的,WinFS   是一种真正意义上的、现代化的   Windows   文件系统。它为您带来的就是   —   我们已经采用了   SQL   Server   关系数据库并且已加入到操作系统之中,从而使各种各样的应用程序都可以使用它。 <br/> <br/>   接下来,让我们来了解一下   Collaboration   栈。您可以看到,我们有各种各样的功能,您可以利用这些功能实现从网络上的一个节点到另一个节点的通讯。您会赞赏并且能吸引您的注意力的第一个东西就是   System.Collaboration。在这里,我们将协作支持添加到操作系统的核心部分。 <br/> <br/>   下面,我将重点介绍   System.Message   Bus。System.Message   Bus   是   Indigo   的功能,它可以用于构建面向服务的应用程序,也就是在网络上共享协定的应用程序。我们还有   System.Net,它是以一个非常低的级别访问网络资源的核心功能。我们还将为您提供一个   WinFX   的高级别概述。在接下来的几周里,你们将会看到更多关于这里讲的每一个领域的详细信息。 <br/> <br/>   但如果您是一名   .NET   Framework   开发人员,您可能对了解   .NET   Framework   与我们刚才谈论的   WinFX   有何种关系感兴趣。重要的一点就是要认识到   WinFX   包含并扩展了   .NET   Framework。WinFX   百分之百地包含   .NET   Framework,而且在   Longhorn   中我们将继续深入讨论。所以,就像现有的   Win32   用程序将在   Longhorn   中能很好地工作一样,.NET   Framework   应用程序同样会在带有   WinFX   的   Longhorn   中高效地工作。 <br/> <br/>   因此,您可以将   .NET   Framework.   看作是   WinFX   中可重新发布的子集。把   WinFX   看作是和   Longhorn   操作系统以及未来的操作系统紧密地联系在一起的子集,而将   .NET   Framework   看作是比   WinFX   低一级的子集。 <br/> <br/>   下面总结一下我们所探讨的内容,对于所有的   Windows   操作系统来说,WinFX   都给开发人员提供了一个全新的开发人员界面。它是一个现代的、面向对象的   API,我们在设计上花费了大量的时间,以确保它非常适合   .NET   Framework   并且易于使用。为   Longhorn   和为随后的     WinFX   做好准备的最佳方式是从现在起就在   .NET   Framework   中进行构建。谢谢。 <br/> <br/> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值