偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

HarmonyOS原子化服務(wù)原理和架構(gòu)分析

開發(fā) 架構(gòu) OpenHarmony
2021年6月2日晚間,華為在HarmonyOS 2系統(tǒng)及全場景新品發(fā)布會(huì)上正式推出了服務(wù)卡片,顛覆了人們對(duì)APP信息展示的認(rèn)知,引起了行業(yè)內(nèi)的極大關(guān)注,本文是對(duì)HarmonyOS服務(wù)卡片的原理和架構(gòu)的分析。

[[411701]]

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

引言

2021年6月2日晚間,華為在HarmonyOS 2系統(tǒng)及全場景新品發(fā)布會(huì)上正式推出了服務(wù)卡片,顛覆了人們對(duì)APP信息展示的認(rèn)知,引起了行業(yè)內(nèi)的極大關(guān)注,本文是對(duì)HarmonyOS服務(wù)卡片的原理和架構(gòu)的分析。限于當(dāng)前資料有限,文章內(nèi)容難免有錯(cuò)漏,敬請(qǐng)諒解。

1. HarmonyOS服務(wù)卡片簡介

服務(wù)卡片官方定義

服務(wù)卡片(以下簡稱“卡片”)是鴻蒙FA(Feature Ability)的一種界面展示形式,將FA的重要信息或操作前置到卡片,以達(dá)到服務(wù)直達(dá),減少體驗(yàn)層級(jí)目的。

舉例說明什么是服務(wù)卡片

我們以“玩機(jī)技巧”這個(gè)應(yīng)用為例感受服務(wù)卡片帶給我們的價(jià)值。當(dāng)我們用手指按下圖標(biāo)的同時(shí)往上滑,就會(huì)彈出該應(yīng)用的默認(rèn)卡片,點(diǎn)擊卡片右上角的圖釘,就將卡片固定在了桌面上;點(diǎn)擊卡片中的按鈕,可以開始查看玩機(jī)技巧。這樣,通過與卡片進(jìn)行交互,用戶無需打開應(yīng)用,就可以實(shí)現(xiàn)應(yīng)用內(nèi)的部分操作,使用十分便捷。

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

服務(wù)卡片的價(jià)值

舉一反三,想象一下:

不用打開微信就可以直接運(yùn)行掃一掃、付款碼;

不用打開微博就可以看到最新的熱點(diǎn)信息;

不用打開郵件服務(wù)就可以看到最新的郵件列表;

……

服務(wù)卡片重新打開了應(yīng)用創(chuàng)新的大門,給應(yīng)用帶來了新的業(yè)務(wù)價(jià)值和流量入口。

服務(wù)卡片與原子化服務(wù)是什么關(guān)系?

說起服務(wù)卡片,就不得不提到與之緊密關(guān)聯(lián)的原子化服務(wù)。原子化服務(wù)官方是HarmonyOS 提供的一種面向未來的服務(wù)提供方式,是有獨(dú)立入口的(用戶可通過點(diǎn)擊、碰一碰、掃一掃等方式直接觸發(fā))、免安裝的(無需顯式安裝,由系統(tǒng)程序框架后臺(tái)安裝后即可使用)、可為用戶提供一個(gè)或多個(gè)便捷服務(wù)的用戶程序形態(tài)。服務(wù)卡片是鴻蒙OS原子化服務(wù)的展示方式。原子化服務(wù)是里子,服務(wù)卡片是面子。

服務(wù)卡片應(yīng)用當(dāng)前僅支持部署在HarmonyOS閉源版本上,在鴻蒙開源版本OpenHarmony 2.0上該特性尚未支持。

2. 服務(wù)卡片操作說明

如何查看某個(gè)應(yīng)用的服務(wù)卡片

如果應(yīng)用的圖標(biāo)下方顯示了一條橫線,用手指按下圖標(biāo)的同時(shí)往上滑,就會(huì)彈出該應(yīng)用的默認(rèn)卡片,點(diǎn)擊卡片右上角的圖釘,就將卡片固定在了桌面上;卡片支持點(diǎn)擊交互,用戶無需打開應(yīng)用,就可以實(shí)現(xiàn)應(yīng)用內(nèi)的部分操作。

比如,下圖中的拍照、電話、暢連應(yīng)用都支持服務(wù)卡片特性。

 

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

如何查看一個(gè)應(yīng)用的所有卡片?

以“玩機(jī)技巧”這個(gè)應(yīng)用為例,在桌面上長按其圖標(biāo),在彈出的菜單中點(diǎn)擊“服務(wù)卡片”,就顯示出了玩機(jī)技巧這個(gè)應(yīng)用的所有卡片。

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

如何查看服務(wù)卡片列表?

手指從桌面左下角或右下角向屏幕中心劃出,調(diào)出“我的服務(wù)”,可以看到手機(jī)支持的服務(wù)卡片列表。

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

3. 服務(wù)卡片原理分析

通過上面的介紹,我們對(duì)服務(wù)卡片有了大致的了解。那么服務(wù)卡片本質(zhì)上到底是什么,它是類似微信小程序的應(yīng)用嗎?它和目前市面上的哪類應(yīng)用是類似的?區(qū)別又在哪里?

要回答上述問題,我們把業(yè)界出現(xiàn)的典型應(yīng)用類型和典型代表簡單總結(jié)一下:

下面重點(diǎn)介紹一下微信小程序、快應(yīng)用、widget。

微信小程序

微信小程序于2017年1月9日凌晨正式上線。微信小程序是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應(yīng)用。也體現(xiàn)了“用完即走”的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問題。

微信小程序的框架包含兩部分View視圖層、App Service邏輯層,View層用來渲染頁面結(jié)構(gòu),AppService層用來邏輯處理、數(shù)據(jù)請(qǐng)求、接口調(diào)用,它們?cè)趦蓚€(gè)線程里運(yùn)行。視圖層使用WebView渲染,邏輯層使用JSCore運(yùn)行。視圖層和邏輯層通過系統(tǒng)層的JSBridage進(jìn)行通信,邏輯層把數(shù)據(jù)變化通知到視圖層,觸發(fā)視圖層頁面更新,視圖層把觸發(fā)的事件通知到邏輯層進(jìn)行業(yè)務(wù)處理。

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

快應(yīng)用

快應(yīng)用是九大手機(jī)廠商基于硬件平臺(tái)共同推出的新型應(yīng)用生態(tài)。用戶無需下載安裝,即點(diǎn)即用,享受原生應(yīng)用的性能體驗(yàn)。2018年3月20日在北京推出“快應(yīng)用”標(biāo)準(zhǔn)。

“快應(yīng)用”使用前端技術(shù)棧開發(fā),原生渲染,同時(shí)具備H5頁面和原生應(yīng)用的雙重優(yōu)點(diǎn)。

什么是Widget?

Widget的定位其實(shí)相當(dāng)于應(yīng)用程序的擴(kuò)展程序,使用的關(guān)鍵點(diǎn)在于用戶可以在不打開應(yīng)用、無需加載等待的情況下,在屏幕上快速獲取信息甚至進(jìn)行簡單的操作。蘋果多次強(qiáng)調(diào)Widget不是進(jìn)入應(yīng)用的另一種快捷方式,Widget是一種的信息展現(xiàn)方式,用來快速提供展示某些用戶關(guān)心的應(yīng)用程序數(shù)據(jù)。Widget在剛進(jìn)入中國的時(shí)候,沒有通用的譯名,由當(dāng)時(shí)的中搜命名為“微件”。直到這次iOS 14才使用“小組件”的命名。

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

Widget按照用戶使用場景的不同,可以分為:信息小組件、集合小組件、控件小組件及混合小組件。而iOS 一直將主屏幕的控制放置于控制中心中進(jìn)行交互,因此小組件類型的主要是信息小組件及集合小組件。

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

Widget 的刷新完全由 WidgetCenter 控制。開發(fā)者無法通過任何 API 去主動(dòng)刷新 Widget 的頁面,只能告知 WidgetCenter,Timeline 需要刷新了。Widget 只能用 SwiftUI 來進(jìn)行開發(fā),確切的說,Widget 的本質(zhì)是一個(gè)隨著時(shí)間線而更新的 SwiftUI 視圖。

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

widget交互及展示

Widget的UI是無狀態(tài)的,它不支持播放動(dòng)畫gif、視頻,不支持滾動(dòng),不支持主動(dòng)刷新視圖,唯一支持的只有用戶點(diǎn)擊和DeepLink喚起主app。

綜合對(duì)比相關(guān)特性能力,鴻蒙卡片服務(wù)更像是對(duì)標(biāo)widget的應(yīng)用形態(tài)。鴻蒙服務(wù)卡片的英文名為service widget,也從側(cè)面印證了這個(gè)觀點(diǎn)。

4. 服務(wù)卡片特征

鴻蒙OS服務(wù)卡片有三大特征。

1) 隨處可及

  •  服務(wù)發(fā)現(xiàn):原子化服務(wù)可在服務(wù)中心發(fā)現(xiàn)并使用。
  • 智能推薦:原子化服務(wù)可以基于合適場景被主動(dòng)推薦給用戶使用;用戶可在服務(wù)中心和小藝建議中發(fā)現(xiàn)系統(tǒng)推薦的服務(wù)。

2) 服務(wù)直達(dá)

  •  原子化服務(wù)支持免安裝使用。
  •  服務(wù)卡片:支持用戶無需打開原子化服務(wù)便可獲取服務(wù)內(nèi)重要信息的展示和動(dòng)態(tài)變化,如天氣、關(guān)鍵事務(wù)備忘、熱點(diǎn)新聞列表。

3) 跨設(shè)備

  • 原子化服務(wù)支持運(yùn)行在1+8+N設(shè)備上,如手機(jī)、平板等設(shè)備。
  • 支持跨設(shè)備分享:例如接入華為分享后,用戶可分享原子化服務(wù)給好友,好友確認(rèn)后打開分享的服務(wù)。
  • 支持跨端遷移:例如手機(jī)上未完成的郵件,遷移到平板繼續(xù)編輯。
  •  支持多端協(xié)同:例如手機(jī)用作文檔翻頁和批注,配合智慧屏顯示完成分布式辦公;手機(jī)作為手柄,與智慧屏配合玩游戲。

根據(jù)以上官方宣傳可見,基于鴻蒙分布式能力,鴻蒙OS在widget的基礎(chǔ)上新增了跨設(shè)備能力,賦予了widget新的生命力。

當(dāng)用戶跨設(shè)備進(jìn)行流轉(zhuǎn)和分享業(yè)務(wù)時(shí),被流轉(zhuǎn)到的設(shè)備不用預(yù)先安裝應(yīng)用,極大增強(qiáng)了服務(wù)卡片的適用場景和價(jià)值。

5. 原子化服務(wù)架構(gòu)

關(guān)于鴻蒙OS原子化服務(wù)的架構(gòu)有2張圖可以參考。

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)
HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

基本概念

  • 卡片使用方

顯示卡片內(nèi)容的宿主應(yīng)用,控制卡片在宿主中展示的位置。

  • 卡片管理服務(wù)

用于管理系統(tǒng)中所添加卡片的常駐代理服務(wù),包括卡片對(duì)象的管理與使用,以及卡片周期性刷新等。

  •  卡片提供方

提供卡片顯示內(nèi)容的HarmonyOS應(yīng)用或原子化服務(wù),控制卡片的顯示內(nèi)容、控件布局以及控件點(diǎn)擊事件。

說明:

卡片使用方和提供方不要求常駐運(yùn)行,在需要添加/刪除/請(qǐng)求更新卡片時(shí),卡片管理服務(wù)會(huì)拉起卡片提供方獲取卡片信息。

卡片管理服務(wù)包含以下模塊:

  • 周期性刷新:在卡片添加后,根據(jù)卡片的刷新策略啟動(dòng)定時(shí)任務(wù)周期性觸發(fā)卡片的刷新。
  • 卡片緩存管理:在卡片添加到卡片管理服務(wù)后,對(duì)卡片的視圖信息進(jìn)行緩存,以便下次獲取卡片時(shí)可以直接返回緩存數(shù)據(jù),降低時(shí)延。
  • 卡片生命周期管理:對(duì)于卡片切換到后臺(tái)或者被遮擋時(shí),暫??ㄆ乃⑿?以及卡片的升級(jí)/卸載場景下對(duì)卡片數(shù)據(jù)的更新和清理。
  • 卡片使用方對(duì)象管理:對(duì)卡片使用方的RPC對(duì)象進(jìn)行管理,用于使用方請(qǐng)求進(jìn)行校驗(yàn)以及對(duì)卡片更新后的回調(diào)處理。
  • 通信適配層:負(fù)責(zé)與卡片使用方和提供方進(jìn)行RPC通信。

卡片提供方包含以下模塊:

  •  卡片服務(wù):由卡片提供方開發(fā)者實(shí)現(xiàn),開發(fā)者實(shí)現(xiàn)onCreateForm、onUpdateForm和onDeleteForm處理創(chuàng)建卡片、更新卡片以及刪除卡片等請(qǐng)求,提供相應(yīng)的卡片服務(wù)。
  • 卡片提供方實(shí)例管理模塊:由卡片提供方開發(fā)者實(shí)現(xiàn),負(fù)責(zé)對(duì)卡片管理服務(wù)分配的卡片實(shí)例進(jìn)行持久化管理。
  • 通信適配層:由HarmonyOS SDK提供,負(fù)責(zé)與卡片管理服務(wù)通信,用于將卡片的更新數(shù)據(jù)主動(dòng)推送到卡片管理服務(wù)。

根據(jù)以上架構(gòu)描述,個(gè)人分析和推理的內(nèi)容如下。

服務(wù)卡片如何做到跨設(shè)備流轉(zhuǎn)和分享時(shí)不用預(yù)先安裝應(yīng)用?

鴻蒙OS原子化服務(wù)采用卡片使用方和卡片提供方分離的架構(gòu),卡片使用方和卡片提供方可以在相同的或不同的設(shè)備上。如果在不同的設(shè)備進(jìn)行流轉(zhuǎn),通過RPC通信,鴻蒙OS可以實(shí)現(xiàn)跨設(shè)備流轉(zhuǎn)和分享能力,并且接收方不用預(yù)先安裝應(yīng)用。

同時(shí),對(duì)于卡片提供方離線的風(fēng)險(xiǎn),鴻蒙OS通過在架構(gòu)上支持卡片管理服務(wù)的緩存機(jī)制也進(jìn)行了有效應(yīng)對(duì)。

其他設(shè)計(jì)討論

目前尚不清楚原子化服務(wù)定時(shí)刷新模塊的實(shí)現(xiàn)原理,不知道是否和iOS widget相同,由系統(tǒng)統(tǒng)一調(diào)度刷新,從而提高整機(jī)刷新性能。

當(dāng)卡片使用方和卡片提供方在同一臺(tái)終端上時(shí),從架構(gòu)上看,似乎可以優(yōu)化為直接通信不經(jīng)過卡片管理服務(wù)的方式,中間減少一個(gè)環(huán)節(jié),避免性能損耗。

6. 原子化服務(wù)未來展望

我們從ios14 widget的特性對(duì)比分析一下,鴻蒙OS服務(wù)卡片未來可能會(huì)推出哪些功能。

1) 配置功能

用戶可以根據(jù)自己的偏好配置。以天氣類組件為例,有些用戶可能關(guān)心的是晴天、雨天、溫度等信息,有些用戶可能只關(guān)心PM2.5的信息,由于小組件的顯示空間有限,有時(shí)候你無法將所有的信息都展示在組件內(nèi),因此讓用戶選擇他感興趣的信息進(jìn)行小組件的配置是非常重要的特性。

2) 類似Smart Stack功能

iOS widget具有智能堆棧 Smart Stack能力 ,集成siri的智能化推薦能力,能根據(jù)你使用時(shí)間,位置等因素,來智能顯示組件。比如,早上起床顯示天氣信息;到達(dá)辦公室顯示微信新消息信息;晚上下班顯示路線擁堵情況等。目前鴻蒙OS實(shí)現(xiàn)了小藝建議,但是小藝建議推薦的是應(yīng)用列表,不是服務(wù)卡片的輪流展示能力。

3) 展開和折疊功能

服務(wù)卡片的展開和折疊能力,對(duì)于列表類的服務(wù)卡片顯得尤為重要,折疊時(shí)可以節(jié)省桌面空間,對(duì)于部分對(duì)空間敏感的人群特別適用。

7. 原子化服務(wù)實(shí)例

大家可以參考華為codelab,進(jìn)行原子化服務(wù)的應(yīng)用開發(fā):

時(shí)鐘FA卡片開發(fā)樣例

https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/Clock-Card

HarmonyOS原子化服務(wù)原理和架構(gòu)分析-鴻蒙HarmonyOS技術(shù)社區(qū)

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2022-03-07 16:46:03

HarmonyOS鴻蒙操作系統(tǒng)

2021-08-31 15:00:26

鴻蒙HarmonyOS應(yīng)用

2022-01-17 14:51:20

鴻蒙HarmonyOS應(yīng)用

2025-01-16 14:03:35

Redis

2021-08-31 09:25:05

鴻蒙HarmonyOS應(yīng)用

2022-03-18 15:41:29

原子化服務(wù)HarmonyOS鴻蒙

2021-08-30 16:00:00

HarmonyOS原子化服務(wù)

2022-09-20 10:44:06

MySQL 8.0數(shù)據(jù)庫DDL

2020-11-12 09:00:00

微服務(wù)架構(gòu)工具

2022-01-12 14:48:25

鴻蒙HarmonyOS應(yīng)用

2021-08-10 10:37:23

數(shù)字化

2021-07-30 17:13:49

HarmonyOS原子化服務(wù)

2017-05-17 08:51:39

WebView分析應(yīng)用

2021-08-18 16:05:40

鴻蒙HarmonyOS應(yīng)用

2017-07-04 14:57:40

微服務(wù)paasdocker

2021-04-01 17:36:30

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-08-25 09:54:51

鴻蒙HarmonyOS應(yīng)用

2019-10-16 16:33:41

Docker架構(gòu)語言

2012-02-03 13:26:21

服務(wù)器虛擬化虛擬化架構(gòu)

2022-06-08 10:17:51

服務(wù)管理通信
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)