天天看點

Windows Project Reunion

本來轉自 https://www.cnbeta.com/articles/tech/991531.htm

源于看完 https://docs.microsoft.com/en-us/windows/apps/project-reunion/ 之後還是雲裡霧裡,但是在 https://github.com/microsoft/ProjectReunion 這個裡面,可以看到,c++ API可以直接使用window UI 3.0. 至于更多所謂的 “Project Reunion does not replace the existing Windows app platforms and frameworks such as UWP and native Win32, and .NET. Instead, it complements these existing platforms with a common set of APIs and tools that developers can rely on across these platforms” 隻能看後續的發展了。

在上個月的 Build 2020 大會中,微軟宣布了 Project Reunion,并大緻介紹它可以用來建構統一的 Windows 應用程式,能夠更好地打破 Win32(即 Windows API)和通用 Windows 平台(UWP)API 之間的障礙。但很多開發者不清楚它的功能究竟有哪些、能夠用來幹些什麼。于是,微軟最近又更新了一份文檔,對 Project Reunion 進行了更為詳細的介紹。

Windows Project Reunion

根據微軟的最近介紹,“Project Reunion 是一組庫、架構、元件和工具,你可以在應用程式中使用它們,以從各種應用程式中體驗到強大的 Windows 平台功能。Project Reunion 結合了 Win32 本機應用程式的功能和現代 API 使用技術,是以這些應用程式可适用于不同 Windows 平台。”

由此看來,開發者若想将自己的應用釋出至不同 Windows 平台,通過 Project Reunion,就無需進行重寫。Project Reunion 可自動适應首選應用程式模型和部署機制。

Project Reunion 的功能分為三個主要類别——新 API、聚合 API 和 API 子集。開發者可以按照自己的需求使用每種不同級别的功能。

目前,Project Reunion 中已有的元件包括:

  • WinUI 3 for XAML 利用 XAML 的功能,可以幫助開發者為各種應用程式建構流暢的 UX。
  • C++/WinRT、RUST/WinRT 和 C#/WinRT 提供自定義類型的語言本地投影,友善 C++/Rust/C# 開發人員調用 Windows API,更輕松地使用自己熟悉的語言建構各類 Windows 應用群組件。
  • MSIX-Core 用于打包應用程式,以通過商店或自己的傳遞管道分發到 Windows 桌面計算機。

微軟表示,還有更多的元件在計劃中,例如:

  • 支援 Edge/Chromium 的 WebView2,帶來了一次用 HTML+JS 編寫應用程式并在所有平台上重複使用的便利。
  • Modern Lifecycle helpers 能夠使應用程式對功耗更加敏感,并對運作時系統的功耗管理和使用者狀态的變化做出反應。
  • Startup Tasks 可讓應用程式在不過度使用資源的情況下開始工作,或準備快速使用時活躍起來。
  • Update Scan Integration 有助于在與其他系統維護任務同時執行的同時,使應用程式自動保持最新。

随着 Project Reunion 的發展,它提供的功能将不僅限于合并現有的 Win32 和 UWP 模型,而是将為所有應用程式提供附加功能以供使用。

Project Reunion 是完全開源的,微軟表示,希望依靠社群的力量來為它提供更好的發展。