Windows 擁抱 Android,微軟在下怎樣的一步棋?

編者按:本文來自微信公眾號「CSDN」(ID:CSDNnews),作者:CSDN,36氪經授權發佈。

「Write once,Run anywhere.」

移動開發時代,這句話曾成為很多開發者夢寐以求的願望,這也是 Flutter、React Native 等諸多跨平台工具出現的根本原因。但是彼時所謂跨平台跨更多的是 Android 和 iOS 平台。

那如果,Android 代碼放到桌面操作系統 Windows 上是否能夠運行?

或許在不久的將來,一切皆有可能。

近日,據 Windows Central 報導,微軟正在研究一種能在 Windows 10 上運行 Android 應用程序的方法,且無需修改任何代碼,同時,將 Android 應用程序打包成 MSIX 文件,Windows 應用商店可對此進行分發。而對於這一項目,據外媒透露,微軟內部將其稱之為「Project Latte」,也有知情人士稱,這一項目最早將在 2021 年上線。

1 WSL 或支持 Android 應用程序

在 Windows 桌面操作系統下,作為用戶的你可以輕鬆玩轉 Android 應用。這聽起來似乎很簡單,但是應用的移植,做起來並沒有那麼容易。

事實上,此前為了擁抱 Linux,微軟帶來了黑科技——WSL(Windows 下的 Linux 子系統)。在去年的微軟 Build 2019 上,微軟正式發佈了 WSL 2,它基於 Hyper-V 功能的子集提供了「真正的 Linux 內核」。通過 WSL 2,開發者可以輕鬆地使用 Windows 命令行訪問 Linux 文件系統。另外,微軟還在測試使用 WSL 2 支持 Linux GUI 應用程序以及提供 GPU 加速支持。

因此,Android 應用程序如果想要在 Windows 10 上運行,那麼,基於 Linux 內核的 Android 有望會被插入 WSL 中,而這一舉措的前提是,微軟需要實現一個版本的 Android Runtime(ART),它必須擁有開源、可在 Linux 上運行、x86 兼容等特性。對此,也有網友已經開始搶先嘗試中,並構建了一個名為 Anbox 的項目,它可以在 WSL 上運行 Android 應用程序(https://www.reddit.com/r/bashonubuntuonwindows/comments/eofn5s/run_anbox_on_wsl_2/)。

2 微軟過往的「搭橋」計畫

如果瞭解微軟的從業者或許知道,這並非微軟首次嘗試將 Android 應用程序跑在 Windows 上。

還記得幾年前,微軟曾面向開發者帶來過「搭橋」計畫,彼時一共有四大項目:

  • Project Westminster——用於移植 Web 應用程序

  • Project Centennial——用於移植 Win 32 應用程序

  • Project Islandwood——用於移植 iOS 應用程序

  • Project Astoria——用於移植 Android 應用程序

微軟此舉的目的是,想要彌補 Windows 和 Windows Phone 上的「應用差距」。這樣一平台可以運行多種程序,看起來對用戶有益而無害,但是萬萬沒想到的是引發當時一大批 Windows 開發者的不滿。而不滿的原因主要歸根於在 Windows 平台上用於運行 Android 應用程序的 Astoria 項目。

對於 Astoria 項目,微軟官方曾經公開的消息並不多。但是據外媒報導,Astoria 相當於一個 Android 模擬器,用戶可以使用移動手機直接運行 Android APK 文件,而不需要開發者多做一些其他的工作。不過,有不少人認為,這項目一旦普及開,不僅會讓應用程序盜版變得更加容易,而且還削弱了 Windows 開發人員的利益,因為 Android 應用程序可以輕鬆的在 Windows 上運行,那麼 Windows 開發者的飯碗可能不保,畢竟也沒有理由再去開發本地的 Windows 應用程序。

正因此,Astoria 項目一直沒有公開測試,後來也因Astoria 項目直接相當於一個 Android 虛擬機,這樣容易帶來技術糾紛以及也存在一些法律潛在隱患,最終這一項目被微軟擱置直至後來被取消。如今微軟決定再新造 Project Latte 項目,並提供類似的功能,這不禁讓我們好奇,微軟做好了哪些準備?

3 Windows 為什麼要支持 Android?

近幾年來,微軟各種內外部的大動作無不在彰顯自己正在加快數字化轉型的步伐。

面向內部,2018 年,微軟 CEO 納德拉宣佈,公司迎來重大重組計畫,建兩個新部門,即「體驗與設備」部門和「雲計算與人工智能平台」部門。根據職能劃分,體驗與設備部門涵蓋 Windows、Office 及微軟 365 相關第三方應用和設備體驗。AI 與雲計算部門將推動分佈式計算(雲計算及邊緣計算)、AI 技術的商業化應用。這一重組動作也被外界解讀為 Windows 作為微軟曾經的頂樑柱業務正逐步被邊緣化。

面向外部,微軟以 75 億美元收購 GitHub、擁抱 Linux、深度參與開源,我們正親眼見證著微軟的改變。

正是在這樣的改變中,和過去相比,現在 Windows 用戶量雖然依舊龐大,但聚焦於創建 UWP 應用程序的 Windows 開發者也所剩無幾。

因此微軟想要讓 Windows 10 支持 Android 應用程序,一方面,或是為彌補微軟應用商店「應用空白」。此外,為了讓開發者能夠更專注並降低開發成本,在今年 Build 2020 上,微軟發佈了團圓計畫(Project Reunion),該項目主要是統一 Win 32 程序(舊版 Windows API)和 UWP 應用的 API,並通過注入 NuGet 之類的工具將其與系統分開運行,旨在讓開發者在 Windows 10 設備上統一應用程序開發。

另一方面,更好構建自己的核心競爭力。

幾年前,微軟開始開發一個簡化和封閉的 Windows 版本Windows 10X,它是一款雙屏設備操作系統,同時也支持傳統筆記本電腦。針對 Windows 10X,微軟一直將戰略定位為 Chrome 操作系統的競爭者,尤其是在教育和企業市場上。

作為 Google 的產品,以 ChromeOS 為基礎的 Chromebook 可以運行 Android 應用,因此 Windows 10X 電腦或也會支持 Android 應用程序。

4 其他人做的一些嘗試

在業界的經驗積累方面,實際上,微軟也並不是第一個想用自己的操作系統支持 Android 應用程序的企業。

正如上文所述,Google 在研發 Chrome 操作系統中,用戶使用 Google Play 商店可以在多款 Google Chromebook 上安裝 Android 應用程序。

此外,RIM 公司(黑莓手機製造商)曾試圖在黑莓 10 系統中增加對 Android 程序的支持,以增強自己在 OS 市場的競爭力,但是它最終放棄了;曾有著「Android 殺手」的三星的 Tizen 操作系統具有「應用程序兼容性層」,可在基於 Linux 的操作系統上運行 Android 應用程序。對於不少企業而言,通常將 Android 應用視為解決應用差距的一種解決方案。

假設微軟沒有取消 Latte 項目,或者 2021 年秋季正式發佈了 Latte 項目,將 Android 應用程序引入 Windows 10 操作系統上,那麼 Windows 既能支持 Android,又有了 WSL 的基礎運行 Linux,那麼其將成為真正意義上的通用操作系統。

最後,如果真的在 2021 年秋季正式發佈了 Latte 項目,將 Android 應用程序引入 Windows 10 操作系統上,那麼 Windows 既能支持 Android,又有了 WSL 的基礎運行 Linux,那麼其將成為真正意義上的通用操作系統。

參考:

https://www.windowscentral.com/windows-10-project-latte-android-apps

https://arstechnica.com/gadgets/2020/11/report-microsoft-is-again-planning-android-app-support-for-windows-10/

https://www.zdnet.com/article/do-you-want-to-run-android-apps-on-windows-10-and-if-so-why/

本文經授權發布,不代表36氪立場。
如若轉載請註明出處。來源出處:36氪