0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HarmonyOS應(yīng)用框架如何解決多設(shè)備交互問題?

話說科技 ? 來源:話說科技 ? 作者:話說科技 ? 2021-08-11 11:02 ? 次閱讀

隨著全場景多設(shè)備生活方式的不斷深入,用戶擁有的設(shè)備越來越多,除了我們每天帶在身上的手機(jī)、手腕上的智能手表、口袋里面的無線耳機(jī)、背包里面的PC和Pad、另外家里還有智能電視、智能冰箱等設(shè)備,這些年,汽車也在逐步地變成一臺(tái)跑在道路上的電子設(shè)備,如果這些設(shè)備都是彼此孤立的,那體驗(yàn)一定是很差的。

因此,要想讓萬物互聯(lián),就需要新的交互模式,而新的交互模式在開發(fā)時(shí),需要應(yīng)用框架加持,HarmonyOS應(yīng)用框架就解決了新時(shí)代的交互問題。接下來我們以用戶交互為起點(diǎn),來介紹HarmonyOS應(yīng)用框架是如何解決多設(shè)備交互問題的。

一、萬物互聯(lián)時(shí)代的基本交互模型

如圖1所示,縱觀人機(jī)交互歷史,有以下幾個(gè)關(guān)鍵時(shí)間點(diǎn):

1868年,打字機(jī)的出現(xiàn)解決了人機(jī)交互中文字輸入的問題

1964年,鼠標(biāo)的出現(xiàn)解決了人機(jī)交互中圖形界面交互的問題

2007年,多指手勢的出現(xiàn)解決了觸摸屏的交互問題

d23fd1ca14ba461cb94d9d9b37c6a7a0?from=pc

圖1 人機(jī)交互模式圖

這三個(gè)歷史時(shí)間點(diǎn)可以說是人機(jī)交互史上的分水嶺,它們提供了新的交互方式解決了新類型設(shè)備的交互問題。但是,這三種交互方式解決的都是單機(jī)交互的問題,而萬物互聯(lián)時(shí)代面臨的是多設(shè)備交互的復(fù)雜問題。

基于人機(jī)交互多年的研究分析,我們發(fā)現(xiàn),在多設(shè)備的交互場景上,用戶使用設(shè)備的場景可以分為兩大類,一類是用戶同時(shí)使用多個(gè)設(shè)備,另一類是相繼使用多個(gè)設(shè)備(如圖2所示)。

e8826fd87fcc46669f4b128e9c159d41?from=pc

圖2 多設(shè)備交互模型圖

1.同時(shí)使用(Simultaneous)

當(dāng)我們?cè)谕瑫r(shí)使用多個(gè)設(shè)備時(shí),除了并發(fā)性之外,交互模型還有兩個(gè)重要的特點(diǎn)就是:協(xié)作性和互補(bǔ)性。協(xié)作性是指多個(gè)設(shè)備彼此交互協(xié)調(diào)完成一項(xiàng)任務(wù)?;パa(bǔ)性是指利用設(shè)備的本身形態(tài)差異,設(shè)備之間互相取長補(bǔ)短,完成一項(xiàng)任務(wù)。

例如,當(dāng)我們?cè)诩依镎也坏诫娨曔b控的時(shí)候,手機(jī)可以變身成遙控器,這就是一種設(shè)備能力的互補(bǔ)。

2.相繼使用(Sequential)

而當(dāng)我們相繼使用多個(gè)設(shè)備時(shí),連續(xù)性和一致性就非常重要了。連續(xù)性是指,當(dāng)我從一個(gè)設(shè)備轉(zhuǎn)向另外一個(gè)設(shè)備的時(shí)候,我剛剛操作的狀態(tài)應(yīng)當(dāng)是繼續(xù)保留沒有被中斷的。例如:將手機(jī)上播放的視頻轉(zhuǎn)到PAD上后能夠繼續(xù)播放。而一致性是指,當(dāng)我們?cè)谑褂檬直?、手機(jī)、大屏等不同設(shè)備時(shí),它們操作方式和基礎(chǔ)視覺元素應(yīng)當(dāng)是一致的。例如:多指手勢、控件的樣式。當(dāng)然,一致不代表一樣,每種設(shè)備由于其屏幕尺寸和形態(tài)不一樣,視覺元素還需要有針對(duì)性地進(jìn)行一些自適應(yīng)。

為了滿足上述兩種交互模型,HarmonyOS構(gòu)建的分布式應(yīng)用框架中提供了兩種基礎(chǔ)功能,分別是:多端協(xié)同與跨端遷移。

接下來我們將介紹HarmonyOS的上述兩個(gè)能力是如何解決多設(shè)備交互問題的。


二、HarmonyOS如何解決多設(shè)備交互問題?

首先我們來介紹HarmonyOS分布式應(yīng)用框架,該框架可以分為5層(如圖3所示)。

9ec3c12925f0461e8f81a613e53fb8a1?from=pc

圖3 分布式應(yīng)用框架整體架構(gòu)視圖

Layer1是底層軟件,包括內(nèi)核、驅(qū)動(dòng)和還有軟總線,這一層與開發(fā)者距離相對(duì)較遠(yuǎn)。

Layer2是基礎(chǔ)能力平臺(tái),它包含了很多分布式環(huán)境下的基礎(chǔ)服務(wù),例如:分布式任務(wù)調(diào)度、分布式數(shù)據(jù)管理、分布式硬件管理以及分布式文件管理等。

Layer3是應(yīng)用框架的核心服務(wù),大體可以分為兩塊:一塊是全局包管理,一塊是分布式運(yùn)行管理。與傳統(tǒng)的操作系統(tǒng)不同,HarmonyOS上的包管理,需要處理整個(gè)超級(jí)終端上所有設(shè)備的包信息,因此我們稱之為全局包管理。而對(duì)于分布式運(yùn)行管理,將在下文重點(diǎn)介紹,其中包含了協(xié)同和遷移框架。

Layer4是開發(fā)者所使用的編程接口層。盡管系統(tǒng)底層的實(shí)現(xiàn)非常復(fù)雜,但是我們?cè)诘谒膶訛殚_發(fā)者提供了簡潔的接口。

Layer5是開發(fā)應(yīng)用的用戶程序?qū)?,這一層與開發(fā)者聯(lián)系密切。

接下來我們將重點(diǎn)為大家介紹Layer3中實(shí)現(xiàn)多設(shè)備交互模型的兩個(gè)框架,分別是多端協(xié)同框架和跨端遷移框架。

1.多端協(xié)同框架

多端協(xié)同框架就是為用戶同時(shí)使用多個(gè)設(shè)備的場景而準(zhǔn)備的。例如:手機(jī)側(cè)應(yīng)用做游戲手柄,智慧屏側(cè)應(yīng)用做游戲顯示,為用戶組成一個(gè)全新的游戲體驗(yàn);又如:平板側(cè)應(yīng)用做答題板,智慧屏側(cè)應(yīng)用做直播,為用戶組成一個(gè)全新的上網(wǎng)課體驗(yàn)。

要實(shí)現(xiàn)這樣的業(yè)務(wù),就要借助多端協(xié)同框架(如圖4所示)。

76f5cb9aa9c84d158c11f4a853ae1b1c?from=pc

圖4 多端協(xié)同

多端協(xié)同是一種實(shí)現(xiàn)用戶應(yīng)用程序流轉(zhuǎn)的技術(shù)方案,指多端上的不同F(xiàn)A/PA同時(shí)運(yùn)行、或者交替運(yùn)行實(shí)現(xiàn)完整的業(yè)務(wù);或者多端上的相同F(xiàn)A/PA同時(shí)運(yùn)行實(shí)現(xiàn)完整的業(yè)務(wù)。多個(gè)設(shè)備作為一個(gè)整體為用戶提供比單設(shè)備更加高效、沉浸的體驗(yàn)。

說明:FA:Feature Ability,有UI界面, PA:Particle Ability,無UI界面。

當(dāng)我們的業(yè)務(wù)需要跨越多個(gè)設(shè)備時(shí),有兩個(gè)基本的能力需要保證:

一是能夠建立跨設(shè)備的連接通路,并且實(shí)時(shí)感知連接狀態(tài)的變化。這一點(diǎn)通過IAbilityConnection來完成,它依賴分布式管理服務(wù)和軟總線來進(jìn)行底層連接的管理。

二是能夠在連接通道上傳遞狀態(tài)和數(shù)據(jù),以進(jìn)行業(yè)務(wù)的協(xié)同。這一點(diǎn)可以通過HarmonyOS的IDL實(shí)現(xiàn)。這些傳遞的數(shù)據(jù)既包含了系統(tǒng)需要傳遞的數(shù)據(jù),也包含了應(yīng)用程序進(jìn)行需要傳遞的數(shù)據(jù)。

有了這兩個(gè)能力,開發(fā)者便可以完成不同設(shè)備之間業(yè)務(wù)邏輯的協(xié)同,以及設(shè)備之間硬件能力互補(bǔ)的功能。

2.跨端遷移框架

跨端遷移是用來為用戶相繼使用多個(gè)設(shè)備而準(zhǔn)備的,它是我們常用的一個(gè)場景。例如,當(dāng)你通過手機(jī)觀看視頻時(shí),覺得體驗(yàn)不夠好,你想切換到屏幕更大、音效更好的PAD上繼續(xù)觀看,在HarmonyOS之外的系統(tǒng)上,你只能先解鎖PAD,找到那個(gè)應(yīng)用,然后再找到播放歷史,如果運(yùn)氣好,你的播放進(jìn)度已經(jīng)被同步過去了,但很可能,由于網(wǎng)絡(luò)同步的延遲,你還得先找到剛剛觀看的位置,然后再繼續(xù)觀看。

而關(guān)注HarmonyOS系統(tǒng)的朋友們一定會(huì)知道,在今年HarmonyOS 2發(fā)布會(huì)上,我們發(fā)布了全新的服務(wù)中心。在這個(gè)服務(wù)中心當(dāng)中,你可以跨設(shè)備的管理整個(gè)超級(jí)終端上的任務(wù)列表,這使得你可以直接在手機(jī)上的任務(wù)中心,一步將任務(wù)拖動(dòng)到PAD上就可以了。

要完成這一點(diǎn),就要借助跨端遷移框架(如圖5所示)

415ac15d3c0e4d06ab52c9f689cbb434?from=pc

圖5 跨端遷移

跨端遷移是一種實(shí)現(xiàn)用戶應(yīng)用程序流轉(zhuǎn)的技術(shù)方案,是將設(shè)備1端運(yùn)行的FA遷移到設(shè)備2端上,通過IAbilityContinuation實(shí)現(xiàn)業(yè)務(wù)遷移。完成遷移后, 設(shè)備2端的FA繼續(xù)任務(wù),而設(shè)備1端應(yīng)用退出。當(dāng)用戶將任務(wù)從一臺(tái)設(shè)備拖動(dòng)到另外一臺(tái)設(shè)備上時(shí),應(yīng)用程序會(huì)收到來自系統(tǒng)的調(diào)用,此時(shí)應(yīng)用程序可以將自己需要保存的狀態(tài)告知系統(tǒng),系統(tǒng)會(huì)借助于分布式任務(wù)管理將數(shù)據(jù)傳遞到目標(biāo)端,然后拆包數(shù)據(jù)并恢復(fù)應(yīng)用狀態(tài)。在這種情況下,用戶感受到的就是將任務(wù)從一個(gè)設(shè)備遷移到了另外一個(gè)設(shè)備。

遷移和協(xié)同需要開發(fā)者的支持,但這類新的特性往往并不能在短時(shí)間內(nèi)獲得完全地普及, 當(dāng)應(yīng)用沒有適配遷移框架時(shí),系統(tǒng)要如何完成跨段遷移任務(wù)?

①跨端遷移與窗口管理

為了保證用戶體驗(yàn)的一致性,當(dāng)應(yīng)用沒有適配遷移框架的時(shí)候,系統(tǒng)會(huì)通過分布式窗口管理的能力完成跨端遷移任務(wù)。如圖6所示,當(dāng)用戶跨設(shè)備拖動(dòng)任務(wù)時(shí),HarmonyOS系統(tǒng)會(huì)將任務(wù)窗口遷移到一個(gè)Virtual Window(虛擬窗口)上渲染,然后將渲染的結(jié)果通過軟總線傳遞到ProxyWindow(遠(yuǎn)端的代理窗口)上,由此達(dá)到跨設(shè)備顯示的效果。

b517dedb68054f06994bb962a2d78e39?from=pc

圖6 分布式窗口管理圖

②分布式硬件平臺(tái)與自動(dòng)跟隨

我們知道,應(yīng)用在運(yùn)行過程中,很多時(shí)候都會(huì)利用一些硬件設(shè)備。例如:Camera、麥克風(fēng)或傳感器。而當(dāng)我們將一個(gè)應(yīng)用從一個(gè)設(shè)備遷移到另外一個(gè)設(shè)備之后,不只是把用戶界面和應(yīng)用狀態(tài)轉(zhuǎn)移過去就可以了,如果轉(zhuǎn)移之后聲音還留在原來的設(shè)備上播放,那就比較奇怪了。因此,在HarmonyOS中,這些硬件是如何管理的呢?

為了使得應(yīng)用遷移的流程更加具有一致性,我們?cè)谟布用嫦到y(tǒng)中做了兩件事情(如圖7所示):

262f6f54777544a2ae7be8c27185cd4a?from=pc

圖7 分布式硬件平臺(tái)與自動(dòng)跟隨

第一件事是“硬件資源池化”。即:HarmonyOS系統(tǒng)會(huì)將超級(jí)終端上所有設(shè)備的硬件進(jìn)行全局的編號(hào)和虛擬化,這使得任何一個(gè)設(shè)備上的軟件都可以使用所有超級(jí)終端設(shè)備內(nèi)的硬件。

第二件事是“自動(dòng)跟隨”。應(yīng)用程序使用的其實(shí)是一個(gè)虛擬的句柄,它并非與某個(gè)特性硬件相綁定,當(dāng)我們?cè)趯⒛硞€(gè)軟件實(shí)體從一個(gè)設(shè)備遷移到另外一個(gè)設(shè)備時(shí),系統(tǒng)中的遷移決策模塊會(huì)自動(dòng)將硬件也一起切換到目標(biāo)設(shè)備上,使得整個(gè)用戶體驗(yàn)是一致的。

經(jīng)過上述介紹,我相信大家已經(jīng)理解HarmonyOS應(yīng)用框架是如何解決多設(shè)備交互問題的。

作為新一代的智能終端操作系統(tǒng),HarmonyOS非常歡迎廣大開發(fā)者加入我們,成為整個(gè)鴻蒙生態(tài)的一員,讓我們一起,為全球幾十億用戶共筑全新的商業(yè)生態(tài)以及無限可能。

fqj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 設(shè)備
    +關(guān)注

    關(guān)注

    2

    文章

    4448

    瀏覽量

    70489
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1966

    瀏覽量

    29955
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)Intents Kit(意圖框架服務(wù))本地搜索方案概述

    一、概述 本地搜索是在HarmonyOS歸一化搜索特性,開發(fā)者將應(yīng)用/元服務(wù)內(nèi)的功能和內(nèi)容通過意圖框架共享到HarmonyOS,即可實(shí)現(xiàn)“一步搜索,內(nèi)容直達(dá)”。 二、典型場景 以“音樂垂域”的“歌曲
    發(fā)表于 11-06 10:59

    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(HarmonyOS Next)

    導(dǎo)讀HarmonyOS是全球第三大移動(dòng)操作系統(tǒng),有巨大的市場潛力,在國產(chǎn)替代的背景下,機(jī)會(huì)多多,AWTK支持HarmonyOS,讓AWTK開發(fā)者也能享受HarmonyOS生態(tài)的紅利。AWTK全稱
    的頭像 發(fā)表于 11-06 08:03 ?46次閱讀
    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(<b class='flag-5'>HarmonyOS</b> Next)

    bootstrap框架和vue框架的區(qū)別

    響應(yīng)式移動(dòng)優(yōu)先的網(wǎng)頁。Bootstrap的核心設(shè)計(jì)理念是“移動(dòng)優(yōu)先”,即優(yōu)先考慮移動(dòng)設(shè)備的顯示效果,然后通過媒體查詢等技術(shù)實(shí)現(xiàn)對(duì)不同設(shè)備的適配。Bootstrap提供了一套豐富的CSS和JavaScript組件,可以快速實(shí)現(xiàn)各種常見的網(wǎng)頁布局和
    的頭像 發(fā)表于 07-11 09:55 ?728次閱讀

    HarmonyOS NEXT Developer Beta1最新術(shù)語表

    。 ArkUI 方舟開發(fā)框架,是為HarmonyOS平臺(tái)開發(fā)極簡、高性能、跨設(shè)備應(yīng)用設(shè)計(jì)研發(fā)的UI開發(fā)框架,支撐開發(fā)者高效地構(gòu)建跨設(shè)備應(yīng)用U
    發(fā)表于 06-27 16:16

    HarmonyOS NEXT Developer Beta1中的Kit

    HarmonyOS NEXT Developer Preview1(API 11)版本開始,HarmonyOS SDK以Kit維度提供豐富、完備的開放能力,涵蓋應(yīng)用框架、系統(tǒng)、媒體、圖形、應(yīng)用服務(wù)
    發(fā)表于 06-26 10:47

    螞蟻集團(tuán)發(fā)布首個(gè)開源金融場景智能體框架

    在第七屆數(shù)字中國建設(shè)峰會(huì)上,螞蟻集團(tuán)宣布了一項(xiàng)引人注目的舉措:正式開源其智能體框架agentUniverse。這一框架不僅是金融領(lǐng)域的首個(gè)開源智能體技術(shù)
    的頭像 發(fā)表于 05-28 09:25 ?653次閱讀

    RX8111CE支持電池供電設(shè)備實(shí)現(xiàn)計(jì)算芯片的數(shù)據(jù)交互

    了更高的要求。在時(shí)鐘系統(tǒng)的設(shè)計(jì)上,往往需要對(duì)主處理器上的實(shí)時(shí)時(shí)鐘模塊的狀態(tài)信息進(jìn)行交互,這時(shí)候就需要采用支持設(shè)備的總線來對(duì)針對(duì)時(shí)鐘信號(hào)在主處理器和協(xié)處理器之間進(jìn)行信
    發(fā)表于 04-10 11:15 ?0次下載

    潤開鴻獲鴻蒙先鋒授牌,榮膺華為HarmonyOS開發(fā)服務(wù)商

    3月27日,華為HDD行業(yè)沙龍?jiān)诒本┡e辦,本次活動(dòng)由HarmonyOS產(chǎn)品專家?guī)砹司实淖h題分享,涵蓋HarmonyOS操作系統(tǒng)介紹、HarmonyOS應(yīng)用特性分享、意圖框架介紹、行
    的頭像 發(fā)表于 03-29 10:33 ?630次閱讀
    潤開鴻獲鴻蒙先鋒授牌,榮膺華為<b class='flag-5'>HarmonyOS</b>開發(fā)服務(wù)商

    潤開鴻榮膺華為HarmonyOS開發(fā)服務(wù)商

    近日,華為HDD行業(yè)沙龍?jiān)诒本┞≈嘏e行。在這場盛會(huì)上,HarmonyOS產(chǎn)品專家發(fā)表了引人入勝的議題分享,內(nèi)容廣泛而深入,包括HarmonyOS操作系統(tǒng)的全面介紹、應(yīng)用特性的獨(dú)到解析、意圖框架的細(xì)致闡述,以及行業(yè)解決方案的生動(dòng)應(yīng)
    的頭像 發(fā)表于 03-29 09:47 ?640次閱讀

    HarmonyOS開發(fā)技術(shù)全面分析

    層是 HarmonyOS 的核心能力集合,通過框架層對(duì)應(yīng)用程序提供服務(wù)。該層包含以下幾個(gè)部分: ? 系統(tǒng)基本能力子系統(tǒng)集 :為分布式應(yīng)用在 HarmonyOS
    發(fā)表于 02-21 16:31

    鴻蒙原生應(yīng)用元服務(wù)實(shí)戰(zhàn)-發(fā)布時(shí)設(shè)備選擇注意事項(xiàng)

    在可公開可獲取DevEco Studio最新版本,Stage模型ArkTSAPI9開發(fā)元服務(wù)HarmonyOS4現(xiàn)不支持平板等;但是元服務(wù)在發(fā)布時(shí)是可選平板、智慧屏電視設(shè)備發(fā)布。 如果開發(fā)人員與上架
    發(fā)表于 02-21 10:22

    微軟發(fā)布Agent框架UFO,引領(lǐng)UI交互新紀(jì)元

    微軟近日宣布推出全新的Agent框架——UFO(UI-Focused Agent),旨在構(gòu)建更智能、更直觀的用戶界面交互體驗(yàn)。該框架基于OpenAI的GPT-4V圖像識(shí)別模型開發(fā),專為Windows操作系統(tǒng)上的應(yīng)用程序設(shè)計(jì),能夠
    的頭像 發(fā)表于 02-19 11:15 ?1092次閱讀

    異步信號(hào)與同步電路交互的問題及其解決方法

    不良影響。本文將詳細(xì)介紹異步信號(hào)與同步電路交互問題的背景、常見的問題及其解決方法。 一、背景 在現(xiàn)代電子系統(tǒng)中,通信和交互已經(jīng)成為不可或缺的一部分。為了實(shí)現(xiàn)設(shè)備之間的信息傳遞和控制,我們常常會(huì)使用各種不同的信號(hào)
    的頭像 發(fā)表于 12-07 10:53 ?629次閱讀

    鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-AGC分發(fā)如何上架HarmonyOS應(yīng)用

    應(yīng)用素材。如果選擇分發(fā)到設(shè)備,請(qǐng)?jiān)诟?b class='flag-5'>設(shè)備標(biāo)簽頁分別上傳對(duì)應(yīng)的應(yīng)用素材。 7.配置HarmonyOS應(yīng)用的“應(yīng)用分類”。 8.配置HarmonyOS
    發(fā)表于 11-24 14:44

    HarmonyOS 上實(shí)現(xiàn) ArkTS 與 H5 的交互

    。 @ohos.web.webview:提供web控制能力。 完整示例 gitee源碼地址 源碼下載 ArkTS與H5的交互(ArkTS).zip 環(huán)境搭建 我們首先需要完成HarmonyOS開發(fā)
    發(fā)表于 11-13 17:08