VC里面的WIN32程序和MFC程序有什么差别?

VC里面的WIN32程序和MFC程序有什么差别?,第1张

WIN32 程序和MFC 程序生宏颂迅成的都是Windows应用程序。不同的是,Win32程序使用Windows SDK框架生成应用蔽此程序框架,默认该框架程序不使用MFC(微软基础类),生成的都是面向过程的程序框架,程序的入口樱并时WinMain,使用这个框架需要对Windows SDK程序比较熟悉;MFC程序,可以选择单文档、多文档和对话框的应用程序框架,该框架支持MFC,生成的程序框架,都是C++面向对象的应用程序,程序的入口是CXXXApp。

Windows *** 作系统之所以风靡世界,是因为其“易学易用”,从用户的角度出发,让数以万计的非IT人员使用计算机实现娱乐,工作等目的。Windows 8继承Windows桌面的优点,同时提供一种新的用户体验模式 - Windows store风格。换句话说,Windows 8 *** 作系统存在两种不同风格的应用。 本篇将介绍Windows 8应用框架以及开发工具的使用。

理解Windows 8应用框架

正如前文所说,Windows 8具有两个不同风格的应用,Windows store应用和传统Windows桌面应用。两种风格应用使用不同的UI引擎,不同的服务和工具,以及不同的API. 但是,都运行在同一个Windows 8 *** 作系统内核下。

我们简单对比一下两种应用:

Windows store应用

传统Windows桌面应用

Windows store应用增加触控 *** 作,独特的手势 *** 作,提高用户体验性

传统桌面应用主要 *** 作模式是基于鼠标和键盘 *** 作应用

应用开发基于.Net Framework Windows 8 API

应用开发基于Win32 API,或者Net Framework

Windows store应用不推荐大量使用对话框进行人机交互,而推荐使用页面导航的模式进行交互,这种方式更象使用浏览器前进后退的功能进行交互。

传统应用以对话框为主要人机交互方式

在部署方面,用户不需要了解应用安装文件等信息,仅需要在Windows store下载安装即可。

在部署方面,传统桌面应用需要一定的安装和注册流程

Windows 8传统桌面凯搭应用框架

Windows 8传统桌面应用可以根据分为三类,分别是Win32应用,.Net应用和HTML应用。

1.Win32应用主要开发语言为C,C++或VB。该应用被直接编译为CPU代码运行在Win32 API上,其用户界面实现必须使用GDI或者GDI+。

2. .Net应用主要开发语盯闹拿言为C#,VB.NET。该应用被编译为中间语言(IL),然后再被转换为CPU代码运行在CLR(Common Language Runtime)环境。其用户界面实现使用XAML语言。

3. HTML应用主要开发语言为HTML/CSS和JavaScript,该应用基于浏览器运行。

Windows store应用框架

基于相同的Windows 8 *** 作系统内核,Windows Store应用共享相同的API层,称为Windows Runtime APIs。无论使用C/C++,或者基于.Net的C#/VB.NET或者HTML5/JavaScript任何一种开发语言都可以轻松调用WinRT API类库,实现本地应用 *** 作。

值得一提的是,微软综合当前最流行的HTML5/CSS3/JavaScript技术,使Web开发人员可以轻松开发Windows store本地应用。另外,基于XAML的Silverlight和WPF技术都成为Windows 8 *** 作系统部分,不再需要安装插件支持。而Silverlight/WPF开发人员,可以继续使用相关开发技能从事Windows Store应用开发。

Windows Runtime框架

可以看出,WindowsRuntime是Windows 8应用框架重要组成部分之一。微软将WinRT视为继2002年.Net Framework发布后最大的革新。作为Windows Store应用设计和开发人员,从微软设计原则考虑,WindowsRuntime不仅仅是一套简单的API类库弯圆,而是一套独立完整的能够支持WindowsStore应用风格的运行环境。

WindowsRuntime的优点:

1. WinRT运行在Windows 8核心层之上,为Windows Store应用提供API支持访问本地资源,例如GPS,摄像头,麦克等。

2. Windows Store应用运行在安全沙箱中,所以,该应用可以被认为安全的managed的应用。当应用尝试使用未授权本地资源时,WinRT将提示用户是否赋予系统存取权限。

3. 传统Win32 API独立于 *** 作系统内核服务,而WinRT是Windows 8 *** 作系统组成部分之一。 与Win32相比,WinRT更加稳定,其内存管理更加优化,对于应用和系统性能都有很大的提高。

4. WinRT支持本地异步 *** 作,这是对于移动设备而言至关重要的特性。

语言映射层(Language Projection)

Windows 8应用支持多种开发语言,而不同开发语言,需要通过Language Projection映射到Windows Runtime运行环境,开发人员不需要担心语言之间的转换,整个过程都是编译器自动完成。

值得一提的'是,通过语言映射层,开发人员可以在同一个项目中使用不同的开发语言开发项目功能,在随后的文章中,我将提供相应实例演示。

对于Windows Store应用开发语言选择,有以下几个建议提供参考:

1. 对于具有Windows应用开发经验的开发人员而言,C#和C++是最好的选择,相比而言,C#基于.Net Framework,其应用为Managed,比较容易学习掌握。而C++更加贴近底层应用开发。

2.对于具有Web应用开发经验的设计和开发人员而言,HTML5/CSS3/JavaScript是最好的选择。类似PhoneGap框架,Windows 8将提供一个Web Host承载运行编译后的HTML应用,使其达到本地化的效果。

3. 对于具有宏 *** 作经验的开发人员而言,VB.Net是一个不错的选择,其应用开发与微软Office VBA应用开发类似。

今天就说到这里。

NetCoreWinform和普通应用程序的最大区别是底层框架不同。

普通的应用程序使用的是 .NET Framework 、WinForm 和 WPF 库来构建应用程序,这些库都是基于 .NET Framework 框架构建的,是运行在 Windows 平台上的。

NetCoreWinform 使用的是 .NET Core 框架,它是一个跨平台的,可以在 Windows、Linux 和 macOS 等多唤数陆个平台上运行的框架。除此之外,NetCoreWinform 使用的是 WinForms 库,而 .NET Core 中的 WinForms 库与 .NET Framework 中的 WinForms 库有所不同。

另外,NetCoreWinform 和普通的应用程序在编程方式上也有一些区别。NetCoreWinform 支持使用 C#、F# 和 Visual Basic 等语言进行编毕乎程,同时还支持使用 .NET Core 和 NuGet 等技术进行开发和部署。

总的来说,NetCoreWinform 和普通和顷的应用程序相比,最大的区别就是底层框架和运行环境不同,NetCoreWinform 更加跨平台,同时也支持很多现代化的开发模式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12502411.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存