沉浸式開箱 Windows Dev Kit 2023

微軟技術棧發表於2022-11-24

圖片

過去的30年,我們一直在用 x86 的計算機作為我們的主要娛樂,生活和生產工具。但隨著移動終端的普及和應用場景的改變,有更多低功耗,高效能,體積小的裝置正在漸漸取代我們傳統的 x86 裝置,這就包括了我們的手機,平板以及筆記本,物聯網等。這些裝置有別於傳統的 x86 終端,採用不同的指令集。這是未來幾年的增長點,不同廠商都在開始嘗試在 ARM 上製造不同的終端。在上週我就收到了微軟的 Windows Dev Kit 2023,下面我就來說說這幾天我的使用體驗。

從開箱開始

微軟並不是 2022 年才做 Arm 的裝置,最早的裝置應該是 10 年前的 Surface RT。在 10 年前的 Surface RT,是一個非常超前的產品,可惜的是當時受制於系統架構以及軟體生態,在出了兩代裝置後就暫停了這個裝置的更新了。很多人說,軟體生態的不完善是 Surface RT 的致命傷,那這一代的 Windows Dev Kit 2023 又有什麼不一樣呢?

圖片

上圖是我開箱後,看到的 Windows Dev Kit 2023 硬體模樣。你可以看到它像友商的 Mac mini,比較小巧。裝置放在桌面,一點也不佔地方。介面也齊全,包括3個 USB A,2 個 USB C,1個 mini DP,一個 RJ 45 的網口和一個 90 瓦的電源。還有在裝置上少不了一個田牌 LOGO!這告訴大家這是一個微軟裝置。作為一個開發者套件,已經是一個比較討好的外觀了。Windows Dev Kit 2023 配置的是高通驍龍 8cx Gen 3 的 CPU,32 GB 記憶體,512 GB 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 應用的模擬使 Win32 應用的豐富生態系統在 Arm 上可用。這使得使用者無需對應用進行任何修改,便可獲得執行現有 x86 win32 應用的體驗。應用甚至不知道它在 Arm 電腦上的 Windows 上執行,除非它呼叫特定 API (IsWoW64Process2)。另外 WOW64 層 Windows 允許 x86 程式碼在 Arm64 版本的 Windows 上執行。x86 模擬的工作原理是將 x86 指令塊編譯到具有最佳化功能的 Arm64 指令中,以提高效能。服務會快取這些已轉換的程式碼塊,從而減少指令轉換開銷,並可在程式碼再次執行時實現最佳化。將為每個模組生成快取,以便於其他應用在初次啟動時使用這些快取。

向下相容性是非常重要,為系統遷移帶來了非常重要的保障。這也是微軟吸取了 Surface RT 的教訓。也是對現有軟體生態的承諾。

Arm 64 原生應用生態

向下相容只是一個短暫做法,是否有軟體廠商為 Arm 64 的 Windows 開發應用呢?這也是更重要的事情。我是一名開發者,我從我日常用的應用程式看看,首先是瀏覽器,除了微軟家的 Microsoft Edge 已經是原生應用外,像 Firefox 和 Chromium 都已經是原生支援了,至於 Chrome 我覺得只是時間問題。像會議系統, Microsoft Teams 和 Zoom 都已經是原生應用,至於騰訊會議還沒有。辦公用的 Microsoft 365 都已經是 Arm 64 原生。其他社交類軟體和工具類軟體還沒有做出原生軟體,我比較驚喜的是 VLC Player 也已經是原生了。當然作為一個開發者套件,一些常用的像 Visual Studio , Visual Studio Code 也是原生支援的。所以在我工作和生活所需中, 原生程度達到 40% ,甚至 50% 階段我也覺得非常滿意。畢竟我在3年前經歷了 Apple Silicon 的轉變,當時的原生應用更少。這是一個好的開始,也希望有更多的軟體製作商,加把勁利用 Windows Dev Kit 2023 開發出體驗更好的原生應用。

圖片

PWA 也是不錯的選擇

生態完整,大家關注的是桌面應用,其實現在 PWA 應用也可以為大家補全軟體生態。現在 Web 應用也是非常強大,在網際網路下,也是不錯的選擇。透過 PWA 我可以把我平常使用的主要社交平臺應用安裝到本地,還有石墨等日常工作也透過 PWA 安裝到本地。對於那些做混合應用的網際網路開發商也是一個比較好的支援。

圖片

開發正當時

Windows Dev Kit 2023 是面向開發者的產品,自然有一個完整的開發者工具鏈。我會從程式語言,開發工具和框架以及應用場景三個方面和大家說說。

程式語言

要有應用,必須得程式設計。那大家熟悉的程式語言有 Windows on Arm 的支援了嗎?答案是肯定的,如 .NET 6/.NET 7 就有支援,而像 Java( Microsoft Open JDK 11 or 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。我就嘗試用一些比較特別的方法去實現了 .NET MAUI 的除錯。我也在這裡分享一下:

  • 你可以透過 Visual Studio 2022 on Arm 或者直接去 http://dot.net 安裝和下載好 .NET 7 Arm 64 的版本
  • 開啟 PowerShell 執行

    dotnet workload install maui-windows
  • 建立一個新專案看看

    dotnet new maui -o demoapp
  • 修改 .csproj 註釋掉一下這句

    <!-- <TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst</TargetFrameworks> -->
  • 然後直接用 Visual Studio 2022 開啟專案,執行即可。你也可以加斷點進行操作

圖片

這樣你就可以在 Windows On Arm 上最佳化你的跨平臺應用了。

應用場景

在官方文件上,你可以看到關於 AI 的應用,而且你可以堆疊多臺 Windows Dev Kit 為你的 AI 模型結合 Azure 做處理。也可以透過本地 NPU 能力去完成模型的推理工作。透過低功耗,高效能的 Arm 裝置,在未來 Windows 都會成為非常重要的邊緣裝置。

有小夥伴問,除了桌面,AI,那雲原生呢?其實 WSL 2 就是一個雲原生的環境。你可以在上面完成更多雲原生的操作,畢竟 Linux 在 Arm 64 上的開發工具鏈非常完善。你可以透過 WSL 2,配置好 Docker,Dapr,以及 K3s,還有和資料科學,機器學習相關的能力,以及 Azure 配套的 CLI。作為一個開發者套件,我覺得 Windows Dev Kit 2023 是完美的。

圖片

小結

Windows Dev Kit 2023 正式開啟了 Windows on Arm 的軟體生態之路,這是非常重要的。Developer 優先,是微軟 Arm 戰略中重要的一環。希望有更多的廠商和小夥伴儘快投入到 Windows on Arm 的研發上。為下一代的計算終端,提供更好的支援。

相關文件

瞭解 Windows Dev Kit 2023

相關文章