成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

鴻蒙HarmonyOS應用程序框架揭秘【內有學習福利】

系統 OpenHarmony
在HarmonyOS分布式開發中,應用程序框架是應用開發的基礎設施

[[350596]]

想了解更多內容,請訪問:
51CTO和華為官方合作共建的鴻蒙技術社區
https://harmonyos.51cto.com

 在HarmonyOS分布式開發中,應用程序框架是應用開發的基礎設施。隨著越來越多設備的智能化,在多設備場景下,應用開發面臨以下挑戰:

1. 多設備的形態差異。 多樣化的屏幕適配 - 包括不同大小,不同分辨率,不同形狀,橫屏、豎屏、折疊屏等; 多樣化的交互方式 – 包括語音、觸摸、旋鈕、鍵盤、筆、3D手勢等

2. 多設備的能力差異。 內存從百KB級到GB級, 主頻從百M級到G級等

HarmonyOS的解決策略主要是通過 UI信息結構抽象以及交互事件歸一來簡化多設備的形態差異下應用開發,同時通過統一的開發范式,協同可伸縮的運行時設計,簡化應用在不同設備上部署。如下所示:

典型的HarmonyOS應用部署運行總體視圖如下:

一個HarmonyOS應用包以APP Pack(Application Package)形式發布,它是由一個或多個HAP(HarmonyOS Ability Package)。通過云側部署,最終根據設備的形態會下載相應的HAP在端側執行。應用程序框架主要包含三個部分:

1. Ability – 應用的基礎單元。 可免安裝,可跨設備調用

2. 用戶程序框架 – 包管理/Ability管理/分布式管理

3. UI 編程框架 – 應用的用戶界面

注:從應用開發角度,還需要各種Kit的能力(比如網絡/數據等設備訪問能力),這塊不在這里展開。

和傳統的單設備場景下不同,HarmonyOS中,應用程序框架深度結合了跨設備的能力。 Ability作為基礎的運行單元, 結合底層分布式的基礎設施,可以跨設備免安裝調度和運行

Ability的定義如下所示:

Ability 的分布式調用, 狀態遷移/同步示例如下。通過相應的分布式API設計,簡化跨設備的應用開發。

用戶程序框架的架構視圖和運行視圖如下。這里的Ability/包管理機制中會結合DMS(分布式管理服務),相連設備中Ability可以被發現和管理,進行相應的統一調度,方便不同應用在不同設備上運行。

除了上述的Ablilty/用戶程序管理,還有一個重要的部分是UI編程框- ACE (Ability Cross-platform Environment), 它支持主流的語言生態 – Java & JS(JavaScript)。 其中 ACE Java 提供相對細粒度的UI編程接口,以命令式方式驅動; ACE JS 則是相對高層的UI描述,以聲明式方式驅動。如下圖所示:


其中ACE JS 提供了一種統一的跨平臺解決方案。 核心設計思路:

1. 開發范式方面,借鑒主流的Web 前端框架設計,降低開發成本

2. 在運行效率方面,在C++層設計實現了統一的聲明式UI后端,結合并行化渲染,預編譯等機制實現了高性能渲染。在富設備上(比如大屏/手機等),一些典型場景(比如長列表渲染等)可以達到應用秒開,以及滑動滿幀的體驗

3. 在跨平臺方面,實現了獨立的自繪制引擎,能夠方便的移植到不同平臺,結合自適應布局以及多態UI組件能力,實現了實時的跨端的一致性渲染體驗 (PC上的UI 渲染路徑和設備上一致),并能夠在PC上同時進行多設備以不同方式渲染。

在ACE JS 中,主要模塊(前端框架,JS 引擎,以及渲染后端實現等)是可伸縮設計的,它也具備運行在極小的設備上的能力(比如百K級內存的設備),并基于統一的開發范式。如下所示:

HarmonyOS的應用程序框架主要圍繞多設備,跨設備的場景重點設計和實現了應用的基礎單元,應用和包管理,UI編程框架,并結合相應的底層分布式基礎設施進一步簡化了多設備/跨設備場景下的應用開發。

想了解更多內容,請訪問:
51CTO和華為官方合作共建的鴻蒙技術社區
https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2020-10-22 10:05:26

HarmonyOS應用程序框架

2009-07-14 18:10:38

Swing應用程序框架

2009-04-12 08:45:32

Symbian諾基亞移動OS

2016-06-21 11:26:33

云計算

2010-10-09 16:13:10

J2ME應用程序

2011-09-05 10:27:02

Sencha Touc手機應用Android

2018-12-03 08:25:24

2011-05-31 15:41:00

Cocoa TouchCocoaiOS

2019-02-11 09:35:04

Python應用程序Tornado

2024-09-06 10:46:04

2015-04-14 09:26:52

WebWeb應用程序框架

2023-06-13 13:38:00

FlaskPython

2010-01-28 09:44:08

C++應用程序

2010-02-26 09:55:22

Python應用程序

2010-08-10 15:26:38

Flex應用程序

2021-02-05 11:55:37

PythonWindows平臺代碼

2009-08-24 16:02:10

C# Windows應

2020-10-10 10:30:31

JavaScript開發技術

2011-12-03 20:25:53

2022-02-23 15:33:19

前端框架開發Web
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 综合精品久久久 | 成人3d动漫一区二区三区91 | 国产一区二区在线免费视频 | 亚洲精品一区国产精品 | 一二区视频 | 欧美一区视频在线 | 日韩不卡视频在线观看 | 久久国内精品 | 日韩精品免费视频 | 天天干夜夜操 | 91久操视频 | 免费黄色录像视频 | 久久久久亚洲精品 | www日| 欧美成人精品激情在线观看 | 韩日免费视频 | 91亚洲精华国产 | 国产一级一级毛片 | 黄色毛片视频 | 欧美日韩精品一区二区三区蜜桃 | 一区二区不卡高清 | 亚洲毛片 | 欧美一区二| 久久精品成人 | 美人の美乳で授乳プレイ | 午夜视频免费网站 | 亚洲综合在线播放 | 在线国产精品一区 | 国产精品一区二区在线播放 | 欧美国产日本一区 | 色就是色欧美 | 在线视频第一页 | 欧美久久精品一级黑人c片 91免费在线视频 | 成人精品国产一区二区4080 | 美女网站视频免费黄 | 九九导航 | 日日摸夜夜添夜夜添特色大片 | 精品国产一区二区三区免费 | 东方伊人免费在线观看 | 国产 欧美 日韩 一区 | 国产精品视频免费观看 |