開源鴻蒙 OpenHarmony 4.0 Beta2 發(fā)布,多平臺開發(fā)框架 ArkUI-X 首發(fā)
8 月 7 日消息,開源鴻蒙近日在 gitee 發(fā)布了 OpenHarmony 4.0 Beta2 版本更新,帶來了標準系統(tǒng)能力的持續(xù)完善。
此外,方舟開發(fā)框架 ArkUI-X 1.0.0 于 8 月 6 日迎來 Canary1 版本,主要能力范圍包括:
- 應(yīng)用開發(fā)范式:支持基于 ArkTS 的聲明式開發(fā)范式。
- 應(yīng)用開發(fā)模型:支持 Stage 開發(fā)模型。
- 開發(fā)者工具:提供 DevEco Studio(IDE)和 ACE Tools(命令行)兩種 ArkUI-X 應(yīng)用構(gòu)建工具。
- 混合開發(fā)能力:ArkTS 聲明式開發(fā)范式和 Stage 模型支持集成在現(xiàn)有 iOS / Android 應(yīng)用中,通過現(xiàn)有應(yīng)用加載,解析和運行。
- 跨語言調(diào)用能力:提供 FFI(Node-API)和平臺橋接兩種機制,用于 API 擴展和平臺插件開發(fā)。
- 基礎(chǔ)測試調(diào)試:支持單元 / UI / XTS 集成測試和 ArkTS 斷點調(diào)試。
據(jù)介紹,方舟開發(fā)框架(IT之家注:簡稱 ArkUI)為 OpenHarmony 應(yīng)用的 UI 開發(fā)提供了完整的基礎(chǔ)設(shè)施,包括簡潔的 UI 語法、豐富的 UI 功能(組件、布局、動畫以及交互事件),以及實時界面預覽工具等,可以支持開發(fā)者進行可視化界面開發(fā)。
ArkUI-X 進一步將 ArkUI 擴展到了多個 OS 平臺:目前支持 OpenHarmony、HarmonyOS、Android、 iOS,后續(xù)會逐步增加更多平臺支持。開發(fā)者基于一套主代碼,就可以構(gòu)建支持多平臺應(yīng)用。
開源鴻蒙 OpenHarmony 4.0 Beta2 更新內(nèi)容:
應(yīng)用框架
- 更新 ArkTS 卡片刷新方式,支持通過數(shù)據(jù)代理的方式刷新內(nèi)容。
- ArkTS 卡片支持靜態(tài)卡片配置、靜態(tài)圖展示。
ArkUI
- Xcomponent 組件支持 Texture 模式繪制、popup 支持位置自定義、彈框支持通過鍵盤 ESC 鍵逐層退出、ListItem 支持長距離左滑刪除手勢、ArkTS / JS 卡片支持渲染完成回調(diào)、Image / Text 組件支持隱私遮罩、ContextMenu 支持分段顯示能力。
- 動畫效果增強,包括:布局屬性、背景圖片大小位置屬性、顯隱屬性支持隱式動效,list 支持 scrollToIndex 動效、Tabs 模糊動效、popup 出現(xiàn) / 消失動效,支持自定義動畫,滿足開發(fā)者多種多樣動畫訴求。
- 開發(fā)效率增強:支持命名路由的能力,借助此能力可針對不同頁面設(shè)置不同的切換動效;輕量級 ArkUI 框架支持定義全局數(shù)據(jù)對象,可進行應(yīng)用內(nèi)頁面間的數(shù)據(jù)共享。
- 全局 API 支持 Stage 模型多實例場景。
應(yīng)用包管理
- 支持對應(yīng)用分發(fā)類型和附件信息的設(shè)置和查詢。
- 支持通過文件擴展名列出支持打開該文件的應(yīng)用列表,實現(xiàn)了文件擴展名與應(yīng)用的匹配關(guān)系。
- 支持企業(yè)應(yīng)用的安裝管理,對于證書類型為“enterprise”的應(yīng)用,安裝需要申請“ohos.permission.INSTALL_ENTERPRISE_BUNDLE”。
分布式數(shù)據(jù)管理
- UDMF(統(tǒng)一數(shù)據(jù)管理框架)支持跨設(shè)備拖拽場景下對分布式目錄的文件臨時授權(quán)。
- 提供 RDBstore NDK 接口 :包含增 / 刪 / 改 / 查 / 事務(wù)、數(shù)據(jù)加密、數(shù)據(jù)分級保護、備份 / 恢復能力。
- Key-Value 和分布式數(shù)據(jù)對象支持根據(jù)數(shù)據(jù)量自動選擇數(shù)據(jù)同步的通道。系統(tǒng)會根據(jù)數(shù)據(jù)量大小自動選擇藍牙通道或基于 WiFi 的 P2P 通道進行數(shù)據(jù)的同步。
分布式軟總線
- 支持對基于軟總線連接的 link 信息進行管理。
- 支持會話級的傳輸能力協(xié)商,可通過協(xié)商確定設(shè)備間傳輸?shù)哪芰Α?/li>
分布式硬件
- 分布式場景下的音頻錄制時延性能得到優(yōu)化。
- 分布式文件系統(tǒng)支持在以藍牙引導的 P2P 連接環(huán)境下進行文件互訪。
- 支持組網(wǎng)設(shè)備名稱變化的監(jiān)聽。
文件管理
- 支持公共圖片文件在設(shè)備端和云端進行同步(設(shè)備登錄的帳號需開通云端服務(wù)),支持通過 picker 選擇云端的圖片。
- 支持應(yīng)用定制備份恢復的目錄。
- 支持公共圖片的分類管理,用戶可以在圖庫中通過相冊對用戶圖片進行組織分類。
- 支持應(yīng)用監(jiān)聽沙箱內(nèi)的文件的增改刪。
- 支持應(yīng)用跨設(shè)備分享沙箱內(nèi)的文件。
圖形顯示及窗口
圖形
- 支持對選定區(qū)域取色,可選定區(qū)域后獲得該區(qū)域的主色值、平均色值等參數(shù)并按需使用。
- 支持設(shè)置旋轉(zhuǎn)中心在 Z 軸錨點的偏移,允許在旋轉(zhuǎn)過程中修改渲染的錨點。
- 圖形處理依賴的渲染庫升級至 Skia 0310 新版本,提升了顯示性能。
窗口
- 優(yōu)化了 display 模塊的參數(shù)值獲取方式,從原先軟件方式優(yōu)化為從硬件直接獲取真實值。
- 窗口控件化能力增強:窗口以控件化的方式支持窗口屬性、子窗口、模態(tài)窗口、窗口效果、窗口裝飾、亮滅屏流程、截屏錄屏。
媒體
音頻
- 支持音效框架:設(shè)備廠商可配置音效策略和加載自定義音效;應(yīng)用可查詢音頻輸出的音效模式,切換或關(guān)閉音效模式。
- 支持系統(tǒng)內(nèi)錄音能力:可根據(jù)音頻場景屬性篩選,錄制系統(tǒng)內(nèi)播放的音頻數(shù)據(jù)。
- 支持獲取音頻設(shè)備顯示名:播放對象詳細信息內(nèi)可獲取當前播放輸出歸屬的設(shè)備名。
媒體播放
支持音效參數(shù)配置,可以在音頻框架支持音效的能力基礎(chǔ)上進一步配置音效。
音視頻編解碼
- 支持通過 Native API 查詢系統(tǒng)的音視頻編解碼能力。
- 支持通過 Native API 完成音視頻封裝,即將音頻、視頻等編碼后的媒體數(shù)據(jù),按一定的格式存儲到文件里。
- 支持通過 Native API 完成音視頻解封裝,即從比特流數(shù)據(jù)中取出音頻、視頻等媒體幀數(shù)據(jù)。
事件通知
- 支持選定通知并批量刪除通知。
- emitter 支持取消按條件指定訂閱回調(diào)能力。
基礎(chǔ)通信
- WiFi 支持后臺掃描的能力。
- WiFi 支持 STA 模式下的隨機 MAC 能力。
網(wǎng)絡(luò)與通信
- 支持與服務(wù)器端通過 TCP Socket 進行通信。
- 支持用戶將數(shù)據(jù)傳送到遠程服務(wù)器。
- 支持 HTTPS 證書的管理適配。
- 支持網(wǎng)卡代理。
系統(tǒng)服務(wù)管理
- 支持系統(tǒng)服務(wù)按需啟動,例如外部調(diào)用、事件觸發(fā),同時支持在設(shè)備空閑時自動退出系統(tǒng)服務(wù)。
- 系統(tǒng)服務(wù)配置格式優(yōu)化,使用 JSON 格式替代 XML 格式。
電源
- 新增接口,支持設(shè)置系統(tǒng)立即進入睡眠狀態(tài)。
- 新增休眠源定制能力,支持根據(jù)不同的休眠源定制事件及行為。
- 新增喚醒源定制能力,支持根據(jù)不同的喚醒源定制喚醒事件。
多模輸入
- 支持將鍵盤輸入設(shè)備的原始事件映射為歸一化交互的意圖事件,使開發(fā)者在開發(fā)應(yīng)用時無需關(guān)注輸入行為是來自觸控還是鍵盤。
- 支持用戶根據(jù)個人習慣設(shè)置觸控板功能的個性化配置:
- 支持兩種觸發(fā)模式映射鼠標左鍵功能: 按壓、輕點。
- 支持兩種觸發(fā)模式映射鼠標右鍵功能:點按左 / 右下角、雙指點按或輕點。
- 跟蹤速度:支持 10 檔速度調(diào)節(jié)。
- 支持兩種交互模式映射鼠標滾輪功能:內(nèi)容隨手指移動方向、內(nèi)容隨手指反向移動。
主題框架
- 鎖屏管理服務(wù)支持鎖屏事件回調(diào)機制、靜態(tài) / 動態(tài)壁紙、查詢鎖屏時的業(yè)務(wù)狀態(tài)。
- 壁紙管理服務(wù)支持自定義壁紙、鎖屏 / 解鎖操作、重置壁紙。
上傳下載
支持查詢上傳和下載的任務(wù)、任務(wù)狀態(tài)信息同步和任務(wù)記錄持久化、任務(wù)狀態(tài)查詢和異常的恢復。
安全
加解密算法庫框架
- 提供 DSA 數(shù)字簽名算法能力。
- 提供 DSA、ECC、RSA 密鑰解析和密鑰參數(shù)的獲取能力。
- 提供安全隨機數(shù)生成算法類型的獲取能力。
- 提供 SM4 密鑰的隨機生成與轉(zhuǎn)換,以及加密解密能力。
- 提供 SM3 密鑰的 HMAC 和 HASH 的能力。
- 提供 SM2 密鑰的隨機生成與轉(zhuǎn)換、簽名及驗簽、以及加密解密能力。
密鑰管理
- 支持 HUKS 密鑰加密保護。
- 支持 KeyAttestation 公鑰證書中增加對密鑰所屬業(yè)務(wù)身份字段。
- 支持標準 HDI 南向接口。
設(shè)備互信認證
支持在以下兩種場景的設(shè)備間互信認證流程中生成假名,支持識別及和標識設(shè)備的假名化名稱。
- 對使用同帳號登錄的多個設(shè)備進行互信認證。
- 對非同帳號的點對點互聯(lián)的兩個設(shè)備進行互信認證。
程序訪問控制
- 優(yōu)化權(quán)限管理的菜單呈現(xiàn),拆分媒體和文件的權(quán)限組,相應(yīng)權(quán)限的授權(quán)粒度更加精細化。
- 支持 treble 架構(gòu)下對 SELinux 的兼容能力。
帳號
- 支持帳號授權(quán)能力擴展和三方應(yīng)用使用帳號授權(quán)能力。
- 支持對域帳號插件的管理,從而支持域帳號管理和認證能力。
WebView
- W3C 能力補充完善:補充 Web Camera 能力,以及 bindContextMenu、Select、date 類型 input 等 H5 標簽?zāi)芰Α?/li>
- 支持多渲染進程的進程拆分。
- 支持文字、圖片基礎(chǔ)拖拽能力。
- 支持 WebRTC 的視頻會議能力(不含攝像頭共享)。
- 支持渲染進程獨立 SELinux 標簽,增強安全基礎(chǔ)能力。
ArkCompiler
- 方舟運行時支持 JSContext 功能;支持動態(tài) PGO 功能,可采集運行期的類型和函數(shù)熱點信息,并生成 AP 文件;支持動態(tài) import 加載 NAPI 庫。
- 方舟編譯器 type 編譯模式下前端編譯工具鏈切換到 es2abc。
- NAPI buffer、object、arraybuffer、object type 接口功能補齊。
- Taskpool 支持任務(wù)中斷和取消,支持定義任務(wù)組(TaskGroup),支持對任務(wù)的狀態(tài)和調(diào)度信息進行打點,支持超長等待的任務(wù)進行識別和恢復。
- 編譯構(gòu)建能力提供 OpenHarmony 系統(tǒng) user 和 root 不同權(quán)限版本的構(gòu)建,user 版本能力同步支持 Wukong 測試工具和 XTS 測試能力。
- 編譯工具鏈支持預覽器上的調(diào)試能力。
DFX
- 提供統(tǒng)一的采集框架能力,方便開發(fā)者對應(yīng)用的調(diào)試調(diào)測。
- 提供統(tǒng)一的 trace 采集能力。
- 提供 Native 的 HiTraceMeter 打點接口。
- 性能雷達提供工具類,方便各業(yè)務(wù)模塊(子系統(tǒng))在業(yè)務(wù)流程上傳遞性能埋點記錄及結(jié)算性能數(shù)據(jù)。
內(nèi)核
代碼執(zhí)行權(quán)限管控能力增強,新增了以下能力:
- 支持安全內(nèi)存機制。
- 提供滿足不同場景的代碼執(zhí)行權(quán)限管控策略。
- 提供代碼執(zhí)行權(quán)限管控的全生命周期管理能力。
- 支持解析可執(zhí)行文件獲取代碼段信息。
- 支持代碼頁的完整性保護能力。
驅(qū)動
擴展設(shè)備驅(qū)動框架提供以下能力:
- 擴展設(shè)備驅(qū)動框架基于“驅(qū)動擴展 Ability(DriverExtensionAbility)”的能力,構(gòu)建應(yīng)用態(tài)擴展驅(qū)動包的開發(fā)、部署、安裝、更新、卸載、運行能力,開放全流程生命周期管理能力。
- 支持三方設(shè)備廠商開發(fā)的非標準協(xié)議的可插拔 USB 設(shè)備擴展驅(qū)動包,正常安裝到 OpenHarmony 系統(tǒng)。插入 USB 設(shè)備后,能正常識別 USB 設(shè)備并與擴展驅(qū)動包匹配。
- 支持三方應(yīng)用通過擴展外部設(shè)備管理框架查詢并綁定 USB 設(shè)備擴展驅(qū)動包,完成對擴展驅(qū)動包定制功能的操作。
相機驅(qū)動提供以下能力:
- 提供 USB 相機熱插拔識別能力,支持開機啟動檢查識別和啟動后熱插拔識別。
- 支持 USB 相機的預覽、拍照、錄像能力,提供相機格式、分辨率查詢和配置能力。
- 編解碼驅(qū)動提供 JPEG 圖片硬件解碼加速能力,包括獲取硬件解碼信息,初始化 / 去初始化,解碼,申請 / 釋放 buffer,提升用戶瀏覽圖片流暢度體驗。
- 傳感器驅(qū)動提供溫濕度傳感器設(shè)備驅(qū)動能力,支持小型設(shè)備溫濕度器件查詢,器件使能 / 去使能,數(shù)據(jù)查詢能力,豐富智能設(shè)備傳感器能力。