CA 周记 - 记我的 Windows Dev Kit 2023 使用体验

我请教下,CA 周记 - 记我的 Windows Dev Kit 2023 使用体验
最新回答
七年觐汐

2024-11-27 10:31:23

在过去三十年,x86架构的计算机主导着我们的日常生活和生产工具。然而,随着移动终端的普及和应用场景的演变,低功耗、高性能且体积小巧的设备,如智能手机、平板、笔记本电脑以及物联网设备,正在逐渐取代传统的x86设备。这些设备采用与传统x86设备不同的指令集。这是未来几年的增长点,各厂商正纷纷尝试在ARM架构上开发不同的终端产品。在上周,我收到了微软的Windows Dev Kit 2023,下面我将分享这几天的使用体验。

从开箱开始,微软并不是2022年才涉足ARM设备领域,最早的ARM设备可以追溯到十年前的Surface RT。十年前的Surface RT是一款非常前瞻的产品,但由于系统架构和软件生态的限制,在推出了两代设备后就暂停了更新。很多人认为,软件生态的不完善是Surface RT失败的关键。那么,这一代的Windows Dev Kit 2023又带来了哪些不同呢?

开箱后,我看到了Windows Dev Kit 2023的硬件设计,它小巧便携,放在桌面上几乎不占空间。设备接口齐全,包括3个USB A、2个USB C、1个mini DP、一个RJ 45网口,以及一个90瓦的电源适配器。设备正面的田牌LOGO也显而易见,这表明它是一款微软出品的设备。作为一款开发者套件,它在外观设计上已经非常友好,配置方面,搭载高通骁龙8cx Gen 3处理器,内存为32GB,存储空间为512GB NVMe,完全能满足体验和开发的需求。从价格来看,4488 RMB的售价对于厂商或个人开发者来说都非常友好,这也体现了开发者套件的价值所在。

在软件生态方面,软件生态是至关重要的,再好的硬件设备若没有软件生态的支持,将会是徒劳无功。微软的Surface RT就是一个很好的反例,不支持exe程序的运行是其最大的遗憾。在激活Windows Dev Kit 2023开发者套件后,我进行了深度体验,以了解其在软件生态上的改进。

Windows Dev Kit 2023搭载的是Windows 11 on ARM版本。在“设置 > 系统 > 关于”中,可以看到与硬件和系统相关的信息。体验下来,这个ARM版本的Windows 11与x86版本几乎一致,一般用户在使用该套件时,几乎不需要任何过渡成本,不会像Surface RT那样在软件体验和系统变化上产生巨大的差异。

在软件方面,与十年前不同,这次的软件可以运行exe程序。这是非常重大的进步,因为exe文件影响了Windows用户多年。此外,它是向下兼容x86的32位或64位结构,如微信、QQ、腾讯会议等日常应用都可通过exe进行安装。通过任务管理器查看后台运行情况,可以看到既有原生Arm64应用,也有x86应用。在兼容性上,Windows 11表现得非常好,得益于x86的模拟技术,x86应用的丰富生态系统在Arm上可用。这使得用户无需对应用进行任何修改,就能获得运行现有x86 win32应用的体验。应用甚至可能不知道它在Arm电脑上的Windows上运行,除非它调用特定API(IsWoW64Process2)。此外,WOW64层Windows允许x86代码在Arm64版本的Windows上运行。x86仿真的工作原理是将x86指令块编译为具有优化功能的Arm64指令,以提高性能。服务会缓存这些已转换的代码块,从而减少指令转换开销,并可在代码再次运行时实现优化。每个模块生成的缓存,使得其他应用在初次启动时就能使用这些缓存。

向下兼容性是关键,它为系统迁移提供了重要保障,也是微软吸取了Surface RT教训的结果,同时也是对现有软件生态的承诺。

在Arm64原生应用生态方面,向下兼容只是一种过渡策略,是否有软件厂商为Arm64的Windows开发应用呢?这是更重要的事情。作为一个开发者,我观察到浏览器方面,除了微软自家的Microsoft Edge已经是原生应用,Firefox和Chromium也已原生支持,对于Chrome,我预计只是时间问题。会议系统方面,Microsoft Teams和Zoom已经是原生应用,至于腾讯会议则还在开发中。办公应用Microsoft 365已经是Arm64原生。其他社交类软件和工具类软件还在适应原生软件的阶段,我惊喜地发现VLC Player也已经原生支持。作为一款开发者套件,Visual Studio、Visual Studio Code等常用工具也是原生支持的。因此,在工作和生活所需中,原生应用的覆盖率达到了40%甚至50%阶段,这是一个令人满意的结果。毕竟我在三年前经历了Apple Silicon的转变,当时的原生应用较少。这是一个良好的开始,也期待更多的软件制造商充分利用Windows Dev Kit 2023开发出体验更好的原生应用。

生态完整不仅关注桌面应用,Web应用和Progress Web App(PWA)也是一个不错的选择。现在,Web应用非常强大,在互联网环境下,PWA也可以为软件生态提供补全。我可以通过PWA将常用的社交平台应用安装到本地,如石墨等日常工作也可以通过PWA安装到本地,这为混合应用的互联网开发商提供了很好的支持。

Windows Dev Kit 2023面向开发者,自然有一套完整的开发者工具链。从编程语言、开发工具和框架,以及应用场景三个方面,我将与大家分享。

编程语言方面,对于不同语言编写的应用,Windows on Arm已经提供了很好的支持,如.NET 6/7,Java(Microsoft Open JDK 11或17),Python 3.11,以及VC++ Runtime等都有相关原生支持。这为使用不同语言的开发者提供了极大的便利。编程语言只是第一步,兼容和扩展相关的库需要更多开发者的努力。

开发工具和框架方面,原生支持的开发工具包括Visual Studio 2022 on Arm和Visual Studio Code。Visual Studio Code在功能完整度上更胜一筹,我常用的如远程调试、Python/.NET/Java/NodeJS/Rust组件都没有问题,还有Markdown工具和PDF工具也都没有问题。我重点介绍Visual Studio 2022 on Arm,你会发现安装时与x86版本有所不同,很多模板支持缺失,包括Azure、.NET MAUI、Python开发等。这比较正常,因为Windows Dev Kit 2023当前的主要任务是解决Windows桌面生态和开发场景。然而,一些框架如.NET MAUI,我尝试使用一些特别的方法实现了调试,分享给大家,以便在Windows on Arm上优化跨平台应用。

应用场景方面,在官方文档中,你可以看到关于AI的应用,通过堆叠多台Windows Dev Kit为AI模型结合Azure进行处理,或者通过本地NPU能力完成模型推理工作。低功耗、高性能的ARM设备在未来将成为重要的边缘设备。

有小伙伴问,除了桌面和AI,还有云原生吗?实际上,WSL 2就是一个云原生环境,你可以在此完成更多云原生操作。Linux在Arm64上的开发工具链非常完善,你可以通过WSL 2配置Docker、Dapr、K3s,以及与数据科学、机器学习相关的能力,以及Azure配套的CLI。作为开发者套件,Windows Dev Kit 2023无疑是完美的。

总结而言,Windows Dev Kit 2023正式开启了Windows on ARM的软件生态之路,这是非常重要的一步。开发者优先是微软ARM战略中的关键部分,希望更多厂商和开发者尽快投入到Windows on ARM的研发中,为下一代计算终端提供更好的支持。

相关文档