应用程序架构

来自BetaWorld百科
跳转至: 导航搜索

Win 32应用

Win32是“Microsoft Windows 32位操作系统API”的缩写形式,这意味着应用程序已编译为在32位版本的Microsoft Windows上运行。 用Win32 C ++编写的程序同样是由C ++版本编写并编译的,该版本将编译为32位Windows可执行文件或共享库(.DLL)。 此代码可能能够从Windows 95以后的任何版本的Windows上运行,但大多数现代程序至少需要Windows XP Service Pack 3

Win32应用程序是为使用Win32应用程序员接口(API)编写的程序。 Win32 API是程序功能的集合,它允许程序触发几乎所有的操作系统操作 - 例如打开文件。 Win32程序通常在Windows操作系统下运行,但是Win32 API的仿真在其他平台上是可用的。

Win32 API仍是现在开发者最常用的开发Windows 应用程序的API,Win32应用程序相较于UWP来说,更为稳定,并且更加实用。

Windows Presentation Foundation(WPF)应用

WPF(Windows Presentation Foundation,开发代号 “Avalon”)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

WPF比Win32更能为程序带来惊艳的视觉与图形效果。Windows Vista的大部分Aero 对象的开发就得益于WPF

WPF基于DirectX引擎,支持GPU硬件加速,支持更多完美丰富的视觉体验。

WPF的失败

WPF虽然带来了完美的视觉效果与崭新的功能。但是,它本身对于显卡的标准过高,内存占用过大,也让多数开发者和用户遗憾。

而Microsoft对于其应用的推广不力,也间接的导致了该应用平台在市场上的惨败。

Metro 应用

为新型式的应用程序,在Metro界面中运行,为全屏幕操作。(Windows 8.1 及以上版本支持至少1024x768 分辨率窗口运行)设计上跟随Metro设计风格。Metro型的应用将同时兼容x86/64和基于ARM的Windows。

设计语言采用Microsoft Design Lnguage,引入Charm 栏等全新特性。

Unvirsal Windows Platforms(UWP)应用

UWP旨在让所有设备运行在一个统一的Windows10系统核心之上。这样的设计使得一款应用可以在所有Win10设备上运行,今后Win10手机、平板电脑、笔记本电脑、PC、Xbox,甚至是3D全息眼镜HoloLens、巨屏触控Surface Hub和物联网设备例如Raspberry Pi 2等都不再有界限。新的通用平台允许新类型的Windows10通用应用真正实现一次编写、一套业务逻辑和统一的用户界面。应用在统一的Win10商店中将只会有一个安装包,而它将适用于所有Windows 10 设备。Windows 10 UWP将帮助Windows应用中更上一层楼。UWP会根据不同的设备类型使用相应的自适应UI控件,并使用运行Windows 10的所有设备上必须具有的通用 API 集。

现状

微由于微软对API的不开放,对开发者支持的严重不足,以及APK转制UWP计划的终止,WP的停止开发,导致开发者热情降低,软件功能较Win32系于与Android 应用严重不足,用户热情减退,但纷纷唱衰该架构,但现如今,仍有许多官方开发者与第三方UWP开发者十分热情地为前旗下UWP应用添砖加瓦,功能基本可以和Android应用同步,如哔哩哔哩(官方,第三方)抖音(第三方),爱奇艺(官方),芒果TV(官方),获得用户要一致好评,而Windows Core OS 即将诞生,众多用户对UWP的未来仍充满着希望。

PWA

PWA(Progressive Web App,渐进式网页应用)是一种理念,使用多种技术来增强web app的功能,可以让网站的体验变得更好,能够模拟一些原生功能,比如通知推送。在移动端利用标准化框架,让网页应用呈现和原生应用相似的体验。微信小程序就是基于PWA实现的。

PWA不能包含原生OS相关代码。PWA仍然是网站,只是在缓存、通知、后台功能等方面表现更好。Electron程序相当于包裹OS原生启动器(Launcher)的网站,未来,许多Electron程序可能转化为PWA。

微软目前已经支持PWA应用上架Icrosoft Store,而Microsoft Edge(EdgeHTML)也有相关技术支持。