精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺析:HarmonyOS 一次開發多端部署

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-01-22 18:13 ? 次閱讀

萬物互聯時代,應用的設備底座將從幾十億手機擴展到數百億設備。全新的全場景設備體驗,正深入改變消費者的使用習慣, 同時應用開發者也面臨設備底座從手機單設備到全場景多設備的轉變,通過全場景多設備作為全新的底座,為消費者帶來萬物互聯時代更為高效澝便捷的體驗。新的場景同時也帶來了新的挑戰澞開發者不僅要支持更加多樣化的設備,還要支持跨設備的協作。不同設備類型意味著不同的傳感器能力、硬件能力、屏幕尺寸、操作系統和開發語言,還意味著差異化的交互方式。同時跨設備協作也讓開發者面臨分布式開發帶來的各種復雜性,例如跨設備的網絡通信、數據同步等。若采取傳統開發模式,適配和管理工作量將非常巨大。當前移動應用開發中遇到的主要挑戰包括:

  • 針對不同設備上的不同操作系統,重復開發,維護多套版本;
  • 多種語言棧,對人員技能要求高;
  • 多種開發框架,不同的編程范式;
  • 命令式編程,需關注細節,變更頻繁,維護成本高。

為了更好的抓住機遇,應對萬物互聯所帶來的系列挑戰,新的應用生態應該具備如下特征:

  • 單一設備延伸到多設備:應用一次開發就能在多個設備上運行,軟件實體能夠從單一設備轉移到其他設備上,且多個設備間能夠協同運行,給消費者提供全新的分布式體驗;
  • 厚重應用模式到輕量化服務模式:提供輕量化的服務,最小化資源消耗,一步直達, 快速完成消費者特定場景的任務;
  • 集中化分發到 AI 加持下的智慧分發:為消費者提供智慧場景服務,實現“服務找人”;
  • 純軟件到軟硬芯協同的 AI 能力:提供軟硬芯協同優化的原生 AI 能力,全面滿足應用戶高性能訴求;

以上就是鴻蒙生態應用開發白皮書里萬物互聯時代應用開發的機遇、挑戰和趨勢章節里的描述,代表了鴻蒙人的思考和出發點,接下來我們就簡單解讀下這些挑戰和趨勢是什么?

簡單解讀

具體挑戰是什么?

  • 移動端我們有androidios兩種主流操作系統,開發語言,接口,所有技術細節都不一樣,找兩者都會的工程師難,那應用廠商若是要做APP跑不同設備上就得用兩套班子,人力成本大;第二,android,ios分裂產品形態多,手表,PAD,手機,車機,電視,PC,未來可能更多,那同理對APP開發維護就是更大的挑戰,不同的交互,不同的UI,不同版本,不同團隊,如何保證產品一致,穩定,同步,體驗,挑戰巨大;第三再設想下未來,音箱,燈光,空調,冰箱,甚至是廣告牌,監視器,攝像頭,無人機,機器人所有的聯網智能設備,這種面向未來的開發我們要做什么準備?

下面我們就對這三進行具體分解,也就是上段所指的具體特征:

在應用開發側
  • 對應用開發者,最直接的問題就是UI問題,如布局,樣式,交互等,這個其實大家都有方案,比如說自適應布局,當外部容器大小發生變化時,元素可以根據相對關系自動變化以適應外部容器變化的布局能力。相對關系如占比、固定寬高比、顯示優先級等。當前自適應布局有4種:[ 線性布局]、[ 層疊布局]、[ 彈性布局]、[ 相對布局]。自適應布局能力可以實現界面顯示隨外部容器大小連續變化;響應式布局,當外部容器大小發生變化時,元素可以根據斷點、柵格或特定的特征(如屏幕方向、窗口寬高等)自動變化以適應外部容器變化的布局能力。當前響應式布局能力有2種:[ 媒體查詢]、[ 柵格布局]。這部分基于華為豐富應用場景的支撐,以及對內容的深入理解,使用過程中大家應該能發現有些空間更智能,更好用;
  • 對應用模型來說,原來android和ios上的原生應用都是厚重的,現在有些應用幾個G,10幾個G都有,平均尺寸也有幾百兆,而鴻蒙化的HAP則提出了新的設計方式,HarmonyOS的用戶應用程序包以APPPack (Application Package)形式發布,它是由一個或多個 HAPHarmonyOS Ability Package)以及描述每個HAP屬性的pack.info組成。HAP是[ Ability]的部署包,HarmonyOS應用代碼圍繞Ability組件展開。HAR(HarmonyOS Ability Resources)可以提供構建應用所需的所有內容,包括源代碼、資源文件和config.json文件。HAR不同于HAP,HAR不能獨立安裝運行在設備上,只能作為應用模塊的依賴項被引用。HSP(HarmonyOS Shared Package):這是一種新增的編譯產物。HSP 使得模塊可以以運行態復用的形式共享。相較于 HAR,當有多個 HAP 包依賴于同一個 HSP時,最終的打包產物中,HSP 只會存在一份。除了這三種應用包的格式,為了應用輕量化,HarmonyOS提出元服務概念,什么意思?簡單類比就是小程序,形式還是HAP的形式,但是用卡片方式展現,歸應用程序框架管理,入口多,易被喚出。最后,應用還分出各種Ability,這是應用程序框架中最基本的抽象單位,代表最小的應用功能單元。在現在主推的Stage模型中,Ability也分兩大類:
    • UIAbility:應用的主入口,對應桌面上的圖標。一個 UIAbility 實例對應一個任務。一個 UIAbility 中的通常包含多個ArkUI頁面;
    • ExtensionAbility:ExtensionAbility 有多個具體的子類型,例如:FormExtension
      用來開發萬能卡片, InputMethodExtensionAbility 用來開發輸入法等。

以上這兩點就是從功能和形式上解決了適配不同屏的問題,解決了應用大的問題,也解決了應用形態的問題,Ability的提出跟解決了界面和功能的問題。鴻蒙運用了解構的方式把大問題拆解成立一些小問題,然后加以實現和演進。當然這后面還包括工程、上架,這部分說起來就是另外一塊事情了,我們今天就不再深入分析。簡答分析下場景:

  • 模式 1:應用或服務的 UI 自適應不同尺寸的設備屏幕,并且在不同設備的功能相同,可以實現多設備共享一個 HAP 包。這種場景下建議開發者通過一個模塊來開發,并配置該模塊支持多設備,然后再編譯構建生成一個 HAP,分發到不同類型的設備上運行。
  • 模式 2:應用或服務的 UI、功能在不同設備間存在差異,無法實現 HAP 包多設備歸一。可根據實際情況設置不同模塊適用的設備類型,編譯構建多個 HAP 包,一起上架。HUAWEI AppGallery Connect 會自動提取 HAP 中的設備類型的配置信息,為對應的設備自動分發正確的 HAP 包組合。

在系統開發側
  • 事件歸一抽象:不同設備間的交互方式等存在差異,如觸摸、鍵盤、鼠標、語音、手寫筆等,鴻蒙系統將不同設備的輸入映射成歸一交互事件,從而簡化開發者適配邏輯。以縮放交互為例,通過多指觸控的張合來完成縮放動作,在多設備場景下,縮放交互會出現多種不同的操作輸入方式,比如手表就是表冠旋轉,鼠標就是滾輪。
  • 組件歸一響應:當應用部署在不同設備上供用戶使用時,需要支持多種 I/O 設備,界面呈現出相應的狀態為用戶提供正確的視覺引導。例如觸摸時顯示按壓狀態,鼠標特有的懸停狀態,鍵盤走焦狀態。渇蒙系統默認提供多種交互方式的組件實現,方便開發者支持多種輸入方式。
  • 設備能力抽象:不同設備間的軟、硬件能力等存在差異,如設備是否具備定位能力、是否具備攝像頭、
    是否具備藍牙功能等,鴻蒙系統需要對設備能力進行邏輯抽象,并提供接口來查詢設備是否支持某種能力,方便開發者進行不同軟、硬件能力的功能適配。在鴻蒙系統中,使用SystemCapability(簡寫為 SysCap)定義每個部件對應用開發者提供的系統軟硬件能力。應用開發者基于統一的方式訪問不同設備的能力。
  • 元服務開發:元服務是鴻蒙系統提供的一種全新的應用形態,具有獨立入口,用戶可通過點擊、碰一碰、掃一掃等方式直接觸發,無需顯式安裝,由程序框架后臺靜默安裝后即可使用,可為用戶提供便捷服務。元服務入口多,在服務中心可見,也能通過語音,NFC,攝像頭等聯動喚入,然后可以用戶無感安裝和卸載,即用即走;元服務還支持流轉,通過分布式軟總線的加持,元服務支持跨端遷移(將軟件實體從一個設備轉移到另一個設備,比如手機視頻遷移到智慧屏)或多設備協同(多個物理設備上的軟件共同完成一件事情,比如電視投屏+手機遙控,但是這個細分也好幾種,比如顯示協同,不同大屏和小屏顯示不同東西;交互協同,手機輸入,智慧屏顯示;算力協同)。

系統側開發想盡辦法提供一站式解決方案,抽象輸入,抽象交互,抽象數據,抽象硬件,無線壓縮所有的可見路徑,讓應用只聚焦業務。所以這部分對應用開發者來說就是統一接口,統一工程,統一規范;對系統開發者來說就是一個足夠具象的微服務森林,沒一個端到端的功能都需要仔細梳理并有彈性和生命力。系統側其實做了太多的工作,軟總線,分布式,ArkUI,應用管理,SA化,大量的細化,解耦工作才能使得應用即服務這樣的能力在系統層生根發芽。這部分說起來簡單,管理起來那正是千頭萬緒,而且隨著接入硬件形態的不斷增加、復雜,如何做兼容性,如何保證體驗,如何減低整個系統的可維護性,才是最大的挑戰??梢钥闯鰜恚櫭筛采w千行百業的決心和勇氣,也可以預見系統的龐雜和勃勃生機。接入廠商的增多,鴻蒙原生應用的增多,希望大家能碰撞出更多的、更實用的場景和一多能力。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鴻蒙
    +關注

    關注

    57

    文章

    2321

    瀏覽量

    42749
  • HarmonyOS
    +關注

    關注

    79

    文章

    1967

    瀏覽量

    30035
收藏 人收藏

    評論

    相關推薦

    鴻蒙OS開發:典型頁面場景【一次開發,多端部署】實戰(設置典型頁面)

    本示例展示了設置應用的典型頁面,其在小窗口和大窗口有不同的顯示效果,體現一次開發、多端部署的能力。
    的頭像 發表于 05-27 09:36 ?1101次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:典型頁面場景【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】實戰(設置典型頁面)

    鴻蒙OS開發:典型頁面場景【一次開發,多端部署】實戰(音樂專輯頁2)

    本示例使用[一次開發多端部署]中介紹的自適應布局能力和響應式布局能力進行多設備(或多窗口尺寸)適配,保證應用在不同設備或不同窗口尺寸下可以正常顯示。
    的頭像 發表于 05-25 16:47 ?2042次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:典型頁面場景【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】實戰(音樂專輯頁2)

    鴻蒙OS開發:【一次開發,多端部署】(視頻應用)

    者提供了“一次開發多端部署”的系統能力,讓開發者可以基于一次
    的頭像 發表于 05-25 16:29 ?4487次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(視頻應用)

    鴻蒙OS開發:【一次開發,多端部署】(音樂專輯頁面)

    基于自適應和響應式布局,實現一次開發、多端部署音樂專輯頁面。
    的頭像 發表于 05-25 16:21 ?738次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(音樂專輯頁面)

    鴻蒙OS開發:【一次開發,多端部署】(多設備自適應能力)簡單介紹

    本示例是《一次開發,多端部署》的配套示例代碼,展示了[頁面開發多能力],包括自適應布局、響應
    的頭像 發表于 05-21 14:59 ?2312次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(多設備自適應能力)簡單介紹

    鴻蒙OS開發:【一次開發,多端部署】( 設置app頁面)

    本示例展示了設置應用的典型頁面,其在小窗口和大窗口有不同的顯示效果,體現一次開發、多端部署的能力。
    的頭像 發表于 05-21 14:56 ?968次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】( 設置app頁面)

    鴻蒙OS開發:【一次開發,多端部署】(音樂專輯主頁)

    本示例使用一次開發多端部署中介紹的自適應布局能力和響應式布局能力進行多設備(或多窗口尺寸)適配,保證應用在不同設備或不同窗口尺寸下可以正常顯示。
    的頭像 發表于 05-21 14:48 ?676次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(音樂專輯主頁)

    鴻蒙OS開發:【一次開發多端部署】(多天氣)項目

    本示例展示個天氣應用界面,包括首頁、城市管理、添加城市、更新時間彈窗,體現一次開發多端部署的能力。
    的頭像 發表于 05-20 14:59 ?804次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(<b class='flag-5'>一</b>多天氣)項目

    鴻蒙OS開發:【一次開發,多端部署】(天氣應用)案例

    本章通過個天氣應用,介紹多應用的整體開發過程,包括UX設計、工程管理及調試、頁面開發等。
    的頭像 發表于 05-15 15:42 ?997次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(天氣應用)案例

    鴻蒙OS開發:【一次開發多端部署】(簡介)

    隨著終端設備形態日益多樣化,分布式技術逐漸打破單硬件邊界,個應用或服務,可以在不同的硬件設備之間隨意調用、互助共享,讓用戶享受無縫的全場景體驗。而作為應用開發者,廣泛的設備類型也能為應用帶來廣大
    的頭像 發表于 05-14 15:20 ?1168次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(簡介)

    HarmonyOS開發案例:【一次開發多端部署-音樂專輯】

    基于自適應和響應式布局,實現一次開發、多端部署音樂專輯頁面。
    的頭像 發表于 05-13 16:48 ?651次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發</b>案例:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>-音樂專輯】

    HarmonyOS開發案例:【一次開發,多端部署(視頻應用)】

    者提供了“一次開發多端部署”的系統能力,讓開發者可以基于一次
    的頭像 發表于 05-11 15:41 ?1375次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發</b>案例:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>(視頻應用)】

    HarmonyOS開發實例:【分布式新聞客戶端】

    基于柵格布局、設備管理和多端協同,實現一次開發多端部署的分布式新聞客戶端頁面。
    的頭像 發表于 04-17 15:57 ?842次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發</b>實例:【分布式新聞客戶端】

    HarmonyOS SDK 助力新浪新聞打造精致易用的新聞應用

    用戶帶來更流暢、更智能、更安全的服務體驗。在 HarmonyOS SDK 豐富完備的開放能力加持下,一次開發多端部署的高效
    發表于 02-07 15:51

    一次開發,多端部署︱小紅書攜手HarmonyOS NEXT引領行業新風向

    1月18日下午,在備受矚目的鴻蒙生態千帆啟航儀式上,華為宣布:HarmonyOS NEXT星河預覽版正式面向開發者開放申請。截至2023年年底,已有超過200個鴻蒙原生應用加速開發,鴻蒙生態設備數量
    的頭像 發表于 01-26 16:07 ?397次閱讀