鴻蒙 PC 發布之后,想在技術上聊聊它的未來可能

最近鴻蒙 PC 剛發布完,但是發布會沒公布太多技術細節,基本上一些細節都是通過自媒體渠道獲取,首先可以確定的是,鴻蒙 PC 本身肯定是無法「直接」運行 win 原本的應用,但是可以支持手機上「原生鴻蒙」的應用,細節上無非就是 UI 兼容下大屏模式的支持,比如下圖是來自 差評XPIN 的鴻蒙 PC 截圖:

那么問題來了,HarmonyOS 「卓易通 」 作為生態過渡的豐富支持,甚至在應用商店都可以無縫銜接,那么鴻蒙 PC 是否也可以有類似的場景?

因為目前得到的消息是,鴻蒙 PC 不支持側載 ,這個結論我也不保熟,只是在這個大條件下討論,那么 鴻蒙 PC 是不是也可以有個 「W易通」?技術上是否可以支持?


當然,你要說鴻蒙 PC 和鴻蒙手機,本質它們是同源的,App 之間互通理論上沒毛病,從這個角度看,好像又支持側載?
在這里插入圖片描述

那「W易通」?技術上是否可以支持?答案上還真可以,從某些媒體上說的,通過定制 Wine 來兼容已有的 win 軟件,這個或者是一條可行的路,但是其實我也并沒有找到官方下圖的說法和出處,但是不妨礙我們討論可行性。

Wine 這個名字本身就揭示了它核心特性:“Wine Is Not an Emulator”(Wine 不是模擬器),它其實已經被應用很久了,例如:

  • Steam Deck 和 Proton,就是那個 Steam 的掌機,它用的就是為極致游戲定制的 Wine ,Proton 是一個為 Windows 游戲能在 Linux 上流暢運行而深度定制和優化的發行套件
  • CrossOver 和 Whiskey,在 macOS 上運行 win 游戲,也是 Wine 的定制

所以 Wine 確實是一個可行的途徑,Wine 在實際場景里主要是充當一個兼容層,實時地將 Windows 應用的 API 調用轉換為宿主操作系統(如 Linux 或 macOS)能夠理解的等效 POSIX 調用 。

當然,這種設計也意味著 Wine 的兼容性直接取決于其對 Windows API 的重實現程度,所以 Wine 的核心就是重塑 Windows API ,在某種程度上鏡像了 Windows 的結構,例如:

  • wineserver:在 Windows 中主要是由內核提供核心服務,在 Wine 中會由 wineserver 在用戶空間實現 ,它的職責包括實現基本的 Windows 功能,如進程和線程管理、對象管理、進程間通信(IPC)、同步原語、將 Unix 信號轉換為 Windows 異常,處理窗口管理和輸入事件等

  • 核心 DLL 的重實現:Wine 提供了大量核心 Windows DLL 版本,例如 NTDLL.DLL(Windows NT 內核功能的核心接口)、KERNEL32.DLL(基礎操作系統功能,如內存管理、文件 I/O)、GDI32.DLL(圖形設備接口,負責 2D 繪圖)、USER32.DLL(用戶界面元素、窗口管理、消息傳遞)等 ,這些 Wine 實現的 DLL 通常以 Unix 共享對象(.so 文件)的形式存在,它們可以直接調用宿主操作系統的函數

另外 還有 WineD3D ,將 Direct3D 和 DirectDraw API 調用翻譯成 OpenGL 調用的核心組件 ,另外還有 DXVK 這種專注于將 Direct3D API 調用高效地翻譯成 Vulkan 調用的支持。

前面的 Steam 的 Proton 也是一個針對游戲優化的 vkd3d 分支,負責將 D3D12 調用翻譯為 Vulkan ,而 macOS 上或者還需要比如 MoltenVK 將 Vulkan 轉為 Metal ?

當然,翻譯 API 的局限性就不用多說了,還有一些依賴底層驅動支持的場景,很難在通用性上做到完美,當時理論上做到部分應用通用的場景應該可以,甚至在游戲領域反而更有優勢?

當然,還有另外一條途徑就是直接跑虛擬機,或者說虛擬桌面,目前已經有不少人運行成功,比如就有博主用 Os-easy 虛擬機裝上了Windows 11 :

事實上 Linux 上運行 Win 虛擬機一直以來就有,用戶只需選擇鏡像文件并完成基礎配置,同樣也可以在鴻蒙 PC 上使用Windows系統。

安裝完成后,用戶可以在鴻蒙與 Windows 系統之間便捷切換,類似切換桌面的效果,這樣也算是一種場景支持:

當然,虛擬桌面的割裂感會更重,但是在通用軟件場景下會相對更好,但是性能也許會更差一下?

另外,目前也挺多覺得鴻蒙 PC 就是一個平板 PC 化的場景,其實這樣也算是一個趨勢?類似我前段時間一直在聊的 Android PC 化支持,目前 Android 桌面化已經集齊:

  • Linux 終端控制臺支持
  • 桌面模式
  • 外部顯示器支持
  • 窗口多任務,最小化,多實例支持
  • 尚未明確的 Desktop View
  • 外部顯示器排列和切換
  • ·····

例如下方就是 Android 下的外部顯示器排列和切換支持:

最后,貌似目前鴻蒙 PC 雖然能進終端,但是不開放 sudo 權限,apt 也沒有?這部分能力不知道后續是否會開放,從 PC 角度看這部分能力還是有必要的:


比如小米這個 winplay 是不是也是 wine 的定制魔改?我個人感覺,鴻蒙 pc 上游戲通過 wine 體系支持可能會比虛擬桌面更好

在這里插入圖片描述

那么,對于鴻蒙 PC 場景,你有什么技術方向想聊的?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/905567.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905567.shtml
英文地址,請注明出處:http://en.pswp.cn/news/905567.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【JAVA】抽象類與接口:設計模式中的應用對比(16)

核心知識點詳細解釋 Java抽象類和接口的定義、特點和使用場景 抽象類 抽象類是使用 abstract 關鍵字修飾的類。它不能被實例化,主要用于作為其他類的基類,提供一些通用的屬性和方法。抽象類可以包含抽象方法和具體方法。抽象方法是使用 abstract 關鍵…

HTML 顏色全解析:從命名規則到 RGBA/HSL 值,附透明度設置與場景應用指南

一、HTML 顏色系統詳解 HTML 中的顏色可以通過多種方式定義,包括顏色名稱、RGB 值、十六進制值、HSL 值等,同時支持透明度調整。以下是詳細分類及應用場景: 1. 顏色名稱(預定義關鍵字) HTML 預定義了 140 個標準顏色名…

LVS負載均衡群集和keepalive

目錄 一. 集群概述 1.1 集群的定義 1.2 集群的分類 1. 高可用集群 HA 2. 高性能運輸群集 HPC 3.負載均衡群集 LB 4. 分布式存儲集群 二. LVS概述 2.1 LVS的定義 2.2 LVS的工作原理 2.3 LVS 的三種工作模式 2.4 LVS 三種工作模式的對比 2.5 LVS 調度算法 1. 靜態…

ZTE 7551N 中興小鮮60 遠航60 努比亞小牛 解鎖BL 刷機包 刷root 展訊 T760 bl

ZTE 7551N 中興小鮮60 遠航60 努比亞小牛 解鎖BL 刷機包 刷root 3款機型是一個型號,包通用, ro.product.system.modelZTE 7551N ro.product.system.nameCN_P720S15 #################################### # from generate-common-build-props # Th…

單片機-STM32部分:12、I2C

飛書文檔https://x509p6c8to.feishu.cn/wiki/MsB7wLebki07eUkAZ1ec12W3nsh 一、簡介 IIC協議,又稱I2C協議,是由PHILP公司在80年代開發的兩線式串行總線,用于連接微控制器及其外圍設備,IIC屬于半雙工同步通信方式。 IIC是一種同步…

Virtualized Table 虛擬化表格 el-table-v2 表頭分組 多級表頭的簡單示例

注意添加這個屬性,會影響到有多少個層級的表頭: :header-height“[50, 40]”,即后面的columnIndex 如果有fix的列CustomizedHeader會被調用多次,如果有多個層級的表頭,也會被調用多次, 實際被調用次數是(fix數 1 * 表頭層級數量) 以下代碼均刪除了JSX TS版本代碼 <templ…

防御保護-----第十二章:VPN概述

文章目錄 第二部分&#xff0c;數據安全第十二章&#xff1a;VPN概述VPN概述VPN分類VPN關鍵技術隧道技術身份認證技術加解密技術數據認證技術 數據的安全傳輸密碼學發展史 對稱加密算法 --- 傳統密碼算法密鑰解釋流加密分組加密 --- 塊加密算法填充算法PKCS7算法分組模式 公鑰密…

前端項目打包部署流程j

1.打包前端項目(運行build這個文件) 2.打包完成后&#xff0c;控制臺如下所示:(沒有報錯即代表成功) 3.左側出現dist文件夾 4.準備好我們下載的nginx(可以到官網下載一個),然后在一個沒有中文路徑下的文件夾里面解壓。 5.在繼承終端內打開我們的項目&#xff0c;找到前面打包好…

Go語言標識符

文章目錄 標識符的組成規則Go語言關鍵字預定義標識符標識符命名慣例 特殊標識符標識符訪問權限控制 在Go語言中&#xff0c;標識符(Identifier)是用來命名變量、函數、類型、常量等程序實體的名稱。 標識符的組成規則 1、必須以字母或下劃線(_)開頭&#xff1a; 字母包括Unico…

CST軟件對OPERACST軟件聯合仿真汽車無線充電站對人體的影響

上海又收緊了新能源車的免費上牌政策。所以年前一些伙伴和我探討過買新能源汽車的問題&#xff0c;小伙伴們基本糾結的點是買插電還是純電&#xff1f;我個人是很抗拒新能源車的&#xff0c;也開過坐過。個人有幾個觀點&#xff1a; 溢價過高&#xff0c;不保值。實際并不環保…

吳恩達機器學習筆記:多變量梯度下降

1.多維特征 之前我們探討了單變量/特征的回歸模型&#xff0c;現在我們對房價模型增加更多的特征&#xff0c;例如房間數樓層等&#xff0c;構成一個含有多個變量的模型&#xff0c;模型中的特征為 &#xff08; x 1 &#xff0c; x 2 &#xff0c; x 3... x n &#xff09; &…

【Linux Nano Vim快捷鍵大全】

Nano 快捷鍵大全 常用高頻操作 功能描述快捷鍵組合替代按鍵/備注使用頻率顯示幫助CtrlGF1高保存文件CtrlOF3高退出編輯器CtrlXF2高剪切當前行CtrlKF9高粘貼內容CtrlUF10高搜索文本CtrlWF6高替換文本Ctrl\AltR高撤銷操作AltU無中重做操作AltE無中跳轉到行號Ctrl_AltG中插入文件…

uniapp vue 沉浸式窗體如何獲取并排除外部手機瀏覽器底部菜單欄工具欄高度

這個問題可以簡稱為&#xff1a;uniapp vue 獲取可視窗口高度 第一種方案&#xff0c;只改變css樣式 /* 不考慮瀏覽器UI的最小視口高度 */ .element {height: 100svh; /* small viewport height */ }/* 考慮瀏覽器UI變化的動態視口高度 */ .element {height: 100dvh; /* dyna…

React Native告別圖標體積大手動更換慢的噩夢:讓圖標更新像修改文字一樣簡單

寫在前面:凌晨三點的圖標戰爭 “所有圖標都要換成圓角風格,明天上線!”——產品經理這條消息彈出時,我的保溫杯差點從手中滑落。掃了一眼項目中的347個圖標文件,我知道今晚又是個不眠夜。但就在絕望之際,同事發來一個GIF:他只是在終端輸入了iconfont-rn --update,所有…

自然語言處理與BI融合實戰:ChatBI動態語義解析技術架構剖析

在數字經濟時代&#xff0c;數據已成為企業核心競爭力的關鍵要素。如何高效挖掘數據價值、實現智能化決策&#xff0c;成為企業數字化轉型的核心命題。傳統商業智能&#xff08;BI&#xff09;工具雖具備強大的數據處理能力&#xff0c;但其技術門檻高、交互方式復雜等局限性日…

鴻蒙OSUniApp開發支持多語言的國際化組件#三方框架 #Uniapp

使用UniApp開發支持多語言的國際化組件 在全球化的今天&#xff0c;一個優秀的應用往往需要支持多種語言以滿足不同地區用戶的需求。本文將詳細講解如何在UniApp框架中實現一套完整的國際化解決方案&#xff0c;從而輕松實現多語言切換功能。 前言 去年接手了一個面向國際市場…

SpringBoot的外部化配置

一、什么是外部化配置 外部化配置是指把應用程序中各種可配置的參數、屬性等信息&#xff0c;從代碼內部提取出來&#xff0c;放置在外部的配置文件、數據庫或配置中心等地方&#xff08;比如使用.properties、.yml 或.xml 等格式的文件&#xff09;進行管理。提高應用程序的可…

SQL中聯表的運用

當出現要大量數據去查詢時&#xff0c;不要一個個去SQL查詢&#xff0c;應該要批量的去查詢。 def batch_cavity_query(self, fuseids): “”“批量查詢cavity信息”“” if not fuseids: return {} # 創建臨時表批量查詢 try:# 創建臨時表self.cursor.execute("CREATE …

React面試常問問題詳解

以下是30個React面試中常見的問題及簡要解析&#xff0c;涵蓋基礎概念、核心原理、性能優化、Hooks、狀態管理等方面&#xff0c;適用于初中高級開發者準備面試時參考&#xff1a; 一、React 基礎與核心概念 React 是什么&#xff1f; React 是由 Facebook 開發的用于構建用戶界…

【vite好用的配置】自動導入組件、vue中的hook、路徑解析、打包配置、本地運行反向代理配置

前言 之前出了一篇自己搭建 后臺管理系統的文章&#xff0c;今天順便把vite配置&#xff0c;涉及到的一些給大家分享吧。 按需食用哈。 文章目錄 前言一、 自動導入vue中的hook、ref等1. 安裝插件2. 配置 Vite&#xff08;vite.config.ts 或 vite.config.js&#xff09;1&…