win16 win32 winFX and .NetFramework

--Come from internet

很多人不愿安装.net framework,或者抱怨为了一个小小的几十KB的.net程序的要安装20兆大的.net framework。

首先说明一下,对于windows系统而言,net famework是一个平台,它不是基于win32的,而是一个全新的平台,就像win32、win16、dos平台。如早期的dos就是dos平台的,而win3.X用的就是win16平台,兼容dos平台,后来出了win95/nt/2000/xp/2003(除了64位版本)这些都是基于win32平台的,兼容dos,win16平台的应用。

即将出来的新一代微软操作系统windows vista是基于winfx平台的,注意win32的下一代平台是winfx,而不是win64,因为下一代微软的应用同时着眼于32位和64位计算。为了32位应用与64位应用的通信和兼容,就推出了winfx平台,用来取代先前的win32的。

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

给您的计算机安装.net framework相当于向上提高您计算机的应用兼容性,安装.net framework后,您的计算机会大大增强可扩展性,运行更新更先进的程序。

由于.net framework是较晚时间才推出来的,win98/nt/2000/xp的操作系统里并不没有,需要我们到微软网站上下载安装。win2003已经集成了.net framework,也是由于win2003发行较早当时内置的是1.1版本,现在当前版本是2.0。当然在将要发行的windows vista上内置了.net framework,因为vista的主流程序是基于winfx,而winfx又是基于.net framework。

在下windows vista上尽管兼容win32但这时候的win32已经是维护状态的了。winfx应用程序就成为了主流,如同兼容dos和win16的win98以后,还有谁开发win16或dos程序,那是win32程序大行其道的时候,而windows vista也是这样winfx是主流,win32程序进入维护状态。

一些机器由于种种原因可能还运行比较老的win32操作系统 win98/2000/xp/2003的32位版本,老win32需要与新winfx之间应用兼容或移植,这就是您的计算机需要安装.net framework得价值所在了。旧的win32的操作系统上可以运行基于.net framework的程序,而新的winfx平台是基于.net framework的,这就出现了一个桥梁。尽管windows vista兼容win32,但win32程序在上面运行可能难免要出些问题,但基于.net framework的程序是完全可以正常运行的。

有人说,我在winxp上运行一个win32程序,什么也不需要安装,就可以运行,而运行一个基于.net framework的程序还要先安装.net framework。是呀,因为winxp就是基于win32平台,你那个win32程序所需要的运行库,操作系统本身就带了,而winxp发行的时候还没有.net framework平台,所以需要你现在安装上。当然您的计算机上如果已经安装.net framework,那么以后运行相关的.net程序,也就不必再安装了。

windows vista推出后,基于win32的新程序将越来越少,而基于.net framework的程序越来越多,win32程序将最终被取代如同win16程序和dos程序,那时候您的Winodows计算机上没有.net framework是不可想象的。

Vista 生成器最终将跟以前的Win32 API进行分离,取而代之的是可管理的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时期的辉煌吗?
来自互联网

事实上,微软首先要迎接的便是互联网所带来的挑战。在最近举行的“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的一再而三的调整中努力寻求着对自己最为有利的方法。

什么是Win FX?

WinFX 是Windows Vista的托管代码编程模型,在.NET Framework上构建并扩展之。针对现在的软件(开发)挑战,WinFX提供了新的机会来创建目前不能构建的软件和服务。它使得开发人员和设计人员能够快速创建更可靠、更安全、视觉刺激更好、信息管理更智能、有着更好的互联性和更强的协同性的新应用和新体验。

WinFX是.NET 2.0的扩展,说白了就是在.NET上新加入了很多API。主要增强了三块功能:界面表现(WPF),企业级通讯(WCF),工作流引擎(WWF),其它的一些新特性,比如XPS、InfoCard等等

由于WinFX这个名字给开发人员造成了很多困惑,弄不清楚WinFX和Framework的关系,微软决定将WinFx更名为.NET Framework 3.0。

原文地址:https://www.cnblogs.com/JackieYang/p/1774159.html