乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - Windows On Arm市场洞察和兼容指南

什么是基于ARM的Windows

https://docs.microsoft.com/zh-cn/windows/uwp/porting/apps-on-arm

基于ARM的Windows指代运行在由ARM架构处理器驱动的PC之上的Windows版本。

ARM CPU体系结构的节能特性允许这些PC拥有全天的电池寿命和对移动数据网络的集成支持。这些PC还提供了强大的应用程序兼容性,并允许你以未修改的形式运行现有x86 Win32应用程序。

image

常用术语

  • ARM,通常指代运行了基于ARM64处理器的Windows桌面版本的现代PC
  • ARM32,通常指代运行了基于32位ARM处理器的Windows桌面版本的现代PC

主要优势

Windows 11/10 ARM电脑可帮助你随时随地继续工作.

image

  • 始终连接到Internet。通过手机数据连接,只要获得手机网络信号就可以上网-就像使用手机上网一样。当你在办公室中、在家中或在你信任的另一个WLAN网络附近时,可以连接到WLAN以节省手机网络数据流量并继续工作。大多数Windows ARM电脑都允许进行手机网络数据连接。

  • 电池使用时间超过一整天。耗电量比其他电脑少,即使持续使用一个日常工作日或上课日,它的电源也不会耗尽,也不必为寻找插座接通电源而担心。如果你使用电脑是为了娱乐和休闲,则播放存储在电脑上的视频可达数小时之久,中途无需给电池充电。

  • 开机迅速。不使用电脑时,只需像在手机上一样按下电源按钮即可关闭屏幕。当你取出电脑并重新打开时,它会立即打开。你可以利用课间、会议期间或其他活动中的琐碎时间来完成你想做的工作,不必浪费时间等待电脑启动。

应用体验

CES 2022:借助高通公司新的骁龙8cx第三代和7c+第三代计算平台,Windows on Arm PC生态系统得到发展

image

https://blogs.windows.com/windowsexperience/2022/01/04/ces-2022-windows-on-arm-pc-ecosystem-grows-with-qualcomms-new-snapdragon-8cx-gen-3-and-7c-gen-3-compute-platforms/

在2022年国际消费电子展之前,高通公司扩大了其产品组合,推出了骁龙8cx第三代计算平台,旨在为高端超薄和无风扇笔记本电脑提供顶级性能和非凡体验。公司还推出了骁龙7c+第三代计算平台,以强大的5G连接和先进的AI体验加强入门级Windows PC生态系统。

这两个平台都利用智能互联技术实现了PC体验的现代化,并重新定义了移动计算。

骁龙8cx第三代标志着全球首个5纳米Windows PC平台。先进的5纳米工艺节点与其他优化措施相结合,极大地提高了高通公司Kryo CPU的性能,同时保持与上一代相似的功耗,使效率达到了新的水平。

适用于Windows的Snapdragon开发者套件

从微软订购

image

image

Snapdragon开发者工具包。为由Snapdragon驱动的设备开发和测试Windows on ARM64应用程序。

您准备好将您的Windows应用程序移植到ARM上了吗?

Windows版Snapdragon开发者套件以迷你PC的形式提供了Snapdragon®计算平台的功能和用户体验。该套件专为在Arm上运行和测试而设计,是高通技术公司(QTI)与微软合作的最新产品。(QTI)与微软合作的最新产品。用它来测试您移植到由Snapdragon驱动并运行Windows 10的Always On Always Connected PC(ACPCs)的应用程序。

宏碁、惠普、联想、微软和三星等OEM厂商在由Snapdragon驱动的ARM设备上销售Windows 10。除了越来越多的生产力和IT管理产品被移植到Snapdragon上,Visual C++编译器和ARM64库从Visual Studio 15.9开始就可以使用。您还可以找到许多常用的开源开发工具的原生ARM64版本,用于重新编译、优化和测试您的应用程序。

通过该工具包,您可以开发出广泛的功能,这些功能推动了Snapdragon在移动计算领域的突出地位。

  • 高通公司®AI引擎
  • 高通公司® Hexagon™ Vector eXtensions
  • 海克斯康张量加速器
  • 高通Aqstic™音频编解码器和高通Aqstic智能扬声器放大器
  • 高通公司® aptX™音频技术
  • 支持HDR的4K 30 FPS视频捕获和视频播放
  • 具有14位图像信号处理的高通Spectra™ 255图像信号处理器
  • 高通公司®处理器安全性
  • 高通公司®内容保护

随着更多搭载Snapdragon的Windows设备的上市,Snapdragon开发者套件是一种经济有效的方式,可以启动您的开发工作。

image

开发资源

开源软件

一些开源的开发工具可以对ARM64上的Windows提供本地支持。

编译器

  • LLVM,用于Windows 10 on ARM的LLVM版本允许开发人员构建应用程序以在ARM处理器上原生运行。该二进制文件包括一个编译器、链接器和编译器库,可以从GitHub上的LLVM项目下载。
  • MinGW和GCC

框架

  • Chromium框架,用于Windows on ARM的本地Chromium构建可以wollyss.org下载,并为使用所有Windows on ARM设备的人提供熟悉的网络浏览体验。Chromium嵌入式框架(CEF)也被移植到了ARM64设备上,开发者可以使用这个开源框架将Chromium网络浏览器嵌入他们的应用程序中。
  • .NET 5.0框架,.Net是一个由微软开发的软件框架,旨在被大多数为Windows平台创建的新应用程序所使用。[.Net 5.0版本]+(https://devblogs.microsoft.com/dotnet/announcing-net-5-0/)带来了对ARM64设备的支持
  • gstreamer,是一个开源的多媒体框架,设计用于各种操作系统和硬件结构,包括Windows和64位ARM设备。
  • FFMPEG库FFmpeg是一个跨平台的多媒体框架,旨在记录、转换和流传音频和视频。FFmpeg被设计成可以在各种操作系统和机器架构上编译和运行,包括ARM设备上的Windows。

工具、编辑器、库和更多

  • Visual Studio Code是一个源代码编辑器,可以在你的桌面上运行。有用于Windows和Linux的64位ARM版本。它支持各种编程和脚本语言。它还支持运行时环境,如.NET和Unity。
  • WiX安装器。WiX是一套支持ARM64的构建工具,帮助开发者构建Windows安装包。
  • WSL/WSL2。ARM上的Windows 10包括Windows Subsystem for Linux 2(WSL 2)。WSL 2使用虚拟化技术来运行一个完整的Linux内核。WSL 2还可以运行用于应用开发的容器,与WSL 1相比,它提供了更快的文件I/O,对于那些希望在Linux环境中开发应用的软件开发人员来说,这是一个很好的起点。
  • Electron是一个使用JavaScript、HTML和CSS构建跨平台桌面应用程序的框架。现在你可以用Electron 6.0.8或更高版本为ARM上的Windows 10构建你的应用程序
  • OpenVPN,开发人员可以使用OpenVPN在路由或桥接配置和远程访问设施中创建安全的点对点或站点对站点的连接。你可以在这里找到下载Windows ARM64安装程序的说明。
  • Boost是一个可移植的C++源码库集合,实现了包括ARM64在内的各种CPU架构的操作,反映并扩展了C++11及以后版本中定义的标准接口。

这些工具和其他工具的ARM版本意味着您可以开发在ARM64环境下原生运行的应用程序,如Snapdragon®计算平台上的Windows。

微软生态

应用程序的兼容性

如果您是骁龙系统Windows的新手,请看看微软为开发者提供的大量文档,从Windows 10 on ARM应用程序和体验开始

开发和移植到ARM

许多消费者应用程序和商业解决方案都是针对 ARM 编译的,并可在Windows的Snapdragon上原生运行。

  • 为ARM64编译桌面应用程序,仿真足以让许多应用程序无缝运行,而且x86 64位应用程序的仿真目前正在Windows Insider中进行预览(从build 21277开始)。尽管如此,将您的应用程序编译为ARM/ARM64仍可确保您的用户享受原生性能,如视频《构建ARM64 Win32 C++应用程序》中所示。
  • 为ARM64编译UWP应用程序,x86 32位应用程序可以在Snapdragon上的Windows中模拟运行,几乎不需要修改。这包括经典的桌面应用程序和UWP(通用Windows平台)应用程序。为了获得最佳性能,请使用应用包架构Visual Studio 15.9或更高版本添加一个包,为ARM64编译您的应用。当用户将您的应用从微软商店安装到Windows on Snapdragon设备上时,如果ARM/ARM64版本可用,则会自动安装。
  • x86内核模式驱动程序和用户模式驱动程序框架(UMDF)不能被模拟。您必须按照使用WDK构建ARM64驱动程序中的步骤,为ARM64编译它们。
  • Visual C++ Redistributable软件包,该包安装了Visual C++库的运行时组件。它目前可用于x64、ARM64和x86架构(搜索 "redistributable")

调试和故障排除

在大多数情况下,您可以使用Visual Studio或WinDbg来调试Snapdragon上Windows的应用程序和驱动程序,就像您调试其他Windows模块一样。

  • ARM64,了解在ARM64和Windows on Snapdragon上进行调试时应使用的工具和版本。
  • 调试仿真问题。当仿真的x86 32位应用程序在Windows on Snapdragon上不能正常运行时,请查阅微软关于x86桌面应用程序故障排除的文档。例如,禁用动态代码生成的应用程序将无法正常运行。如果您的应用程序试图钩住Windows组件或将其DLL加载到Windows进程中,您将需要重新编译这些DLL以匹配系统架构(ARM64)。一个相关的资源是ARM上的程序兼容性故障排除器
  • UWP应用程序。如果您的ARM32或ARM64 UWP应用程序在ARM上不能正常工作,请查阅ARM UWP应用程序的故障排除
  • 报告问题。对于开发过程中反复崩溃等问题,请收集完整的崩溃转储,然后将转储和细节发送给我们。一定要收集 "完整的内存转储",通常存储为C:\Windows\memory.dmp

学习资源

在Snapdragon®平台上开发Windows的入门知识

在ARM上开发UWP应用程序的基础知识

使用Visual Studio进行开发

为ARM64和ARM64EC准备开发环境

骁龙平台Windows的现代(连接)待机模式

现代待机的用例,以及实施和测试

参考

posted @ 2022-01-26 14:48  TaylorShi  阅读(997)  评论(0编辑  收藏  举报