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

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

系統(tǒng) OpenHarmony
要想讓萬物互聯(lián),就需要新的交互模式,而新的交互模式在開發(fā)時,需要應(yīng)用框架加持,HarmonyOS應(yīng)用框架就解決了新時代的交互問題。

[[418307]]

想了解更多內(nèi)容,請訪問:

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

https://harmonyos.51cto.com

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

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

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

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

  • 1868年,打字機(jī)的出現(xiàn)解決了人機(jī)交互中文字輸入的問題
  • 1964年,鼠標(biāo)的出現(xiàn)解決了人機(jī)交互中圖形界面交互的問題
  • 2007年,多指手勢的出現(xiàn)解決了觸摸屏的交互問題

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

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

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

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

1.同時使用(Simultaneous)

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

例如,當(dāng)我們在家里找不到電視遙控的時候,手機(jī)可以變身成遙控器,這就是一種設(shè)備能力的互補(bǔ)。

2.相繼使用(Sequential)

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

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

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

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

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

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

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

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

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

Layer4是開發(fā)者所使用的編程接口層。盡管系統(tǒng)底層的實現(xiàn)非常復(fù)雜,但是我們在第四層為開發(fā)者提供了簡潔的接口。

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

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

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

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

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

圖4 多端協(xié)同

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

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

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

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

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

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

2.跨端遷移框架

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

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

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

圖5 跨端遷移

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

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

①跨端遷移與窗口管理

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

圖6 分布式窗口管理圖

②分布式硬件平臺與自動跟隨

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

為了使得應(yīng)用遷移的流程更加具有一致性,我們在硬件層面系統(tǒng)中做了兩件事情(如圖7所示):

圖7 分布式硬件平臺與自動跟隨

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

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

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

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

想了解更多內(nèi)容,請訪問:

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

https://harmonyos.51cto.com

 

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

2021-08-11 15:35:54

多設(shè)備交互應(yīng)用框架

2009-02-05 10:33:27

設(shè)備碎片Java ME移動

2022-03-25 10:13:05

自動駕駛監(jiān)督學(xué)習(xí)數(shù)據(jù)集

2023-03-01 10:02:43

2012-09-05 11:09:15

SELinux操作系統(tǒng)

2013-02-26 09:51:31

Windows 8應(yīng)用異常問題

2014-05-21 11:09:56

前端有限狀態(tài)機(jī)

2010-04-29 17:46:31

Oracle死鎖

2011-03-23 14:42:47

CPU過度消耗

2021-06-06 13:05:15

前端跨域CORS

2011-08-29 10:34:00

網(wǎng)絡(luò)安全云安全云計算

2023-10-30 18:35:47

MySQL主從延時

2017-10-17 09:21:06

2010-07-16 13:52:26

telnet漏洞

2017-07-20 07:30:16

大數(shù)據(jù)數(shù)據(jù)互聯(lián)網(wǎng)

2024-10-29 16:41:24

SpringBoot跨域Java

2013-05-21 10:49:59

Windows硬件沖突

2015-07-01 09:47:38

2020-04-09 11:08:30

PyFlinkJAR依賴

2024-11-21 16:47:55

點贊
收藏

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

主站蜘蛛池模板: 操视频网站 | 天天爽夜夜操 | 91观看 | 美国黄色一级片 | 国产一区二区三区在线视频 | 精品久久久久久久久久久久久久 | 在线观看涩涩视频 | 午夜视频一区 | 精品国产乱码久久久久久蜜臀 | 亚洲网站观看 | 日韩在线观看网站 | 成人免费在线视频 | 国产精产国品一二三产区视频 | 一级毛片免费看 | 精品一区二区视频 | 最新中文字幕 | 国产成人免费视频网站视频社区 | 91久久| 一区二区福利视频 | 久久首页 | 久久里面有精品 | 91在线精品视频 | 99免费| 亚洲精品自拍 | 一区二区三区在线播放 | 日韩精品1区2区3区 国产精品国产成人国产三级 | 在线视频一区二区三区 | 亚洲一区 中文字幕 | 国产一区二区久久 | 欧美大片一区 | 自拍偷拍第一页 | 久久99网 | 在线一区视频 | 久草新在线 | 热99在线| 一区二区三区四区免费观看 | 欧州一区| 亚洲精品在 | 亚洲成人一区二区三区 | 亚洲综合色视频在线观看 | 青青激情网 |