天天看點

鴻蒙系統的入門介紹

作者:豆子資訊
鴻蒙系統的入門介紹

什麼是鴻蒙系統?

一般我們說的鴻蒙就是指的華為鴻蒙的生态,鴻蒙生态的核心也就是鴻蒙的作業系統。鴻蒙生态包括 OpenHarmony 和 HarmonyOS,當然還包括開發工具以及周邊的一些開發庫。

OpenHarmony

鴻蒙系統的入門介紹

圖檔來源于網絡

OpenHarmony是一個開源項目,由開放原子開源基金會進行管理。開放原子開源基金會由華為、阿裡、騰訊、百度、浪潮、招商銀行、360等十家網際網路企業共同發起組建。

OpenHarmony暫時還沒有中文名字,名字還在申請中。項目位址為:https://gitee.com/openharmony

OpenHarmony開源項目主要包括兩部分:

一是華為捐獻的“鴻蒙作業系統”的基礎能力;

二是其他參與者的貢獻。

是以,OpenHarmony是“鴻蒙作業系統”的底座。OpenHarmony相當于Android的AOSP(Android Open Source Project)。

HarmonyOS

HarmonyOS就是“鴻蒙作業系統”,或者簡稱為“鴻蒙OS”是基于 OpenHarmony、AOSP等開源項目的商用版本。

這裡需要注意:

1、HarmonyOS不是開源項目,而是商用版本。

2、HarmonyOS手機和平闆之是以能運作Android,是因為HarmonyOS 實作了現有Android生态應用(即AOSP)的運作。

鴻蒙系統的入門介紹

圖檔來源于網絡

Harmony OS概述

Harmony OS介紹

鴻蒙系統的入門介紹

圖檔來源于網絡

2019年8月9日的華為HDC全球開發者大會上,華為正式釋出了自主研發的鴻蒙作業系統,英文名為 HarmonyOS,這是一種基于微核心的全場景 分布式 OS 系統,具備分布架構、天生流暢、核心安全及生态互享等優勢。

據了解,華為從2012年開始規劃自有作業系統“鴻蒙”,意在成為谷歌Android系統的替代品。

華為指出,目前的OS系統已經不能滿足需要,以安卓為例,發展多年其代碼已經龐大備援,難以保證不同終端流暢體驗,安卓代碼已經超過1億行,安卓Linux核心代碼也有2000萬行,其中隻有8%的核心代碼被頻繁調用。

此外,目前互聯的終端系統也越來越多,對安全、軟體生态、使用者體驗等提出了更高要求,為此華為打造了鴻蒙OS系統。

鴻蒙系統的入門介紹

圖檔來源于網絡

HarmonyOS優勢

  1. 鴻蒙OS 實作了子產品化解耦,對應不同平台可以彈性部署,靈活适配全場景豐富終端形态,這也是分布式架構首次用于終端OS領域,實作了跨終端無縫協同體驗。
  2. 鴻蒙OS系統 的第二個優勢是天生流暢,鴻蒙OS通過确定時延引擎確定使用者互動體驗流暢,比對應用特征實作資源精準排程,響應時延降低25.7%,帶給使用者流暢穩定的使用體驗。
  3. 第三,鴻蒙OS 系統具備更高的安全特性,基于微核心技術的可信執行環境,通過形式化方法顯著提升了核心安全等級,全面提升全場景終端裝置的安全能力。
  4. 最後,鴻蒙OS還具備一次開發、多端部署的優勢,支援面向多終端的IDE環境,提高開發效率。
  5. 此外,除了鴻蒙系統,華為還有自己的方舟編譯器,支援多語言統一編譯,大幅提升開發效率,支援C/C++、Java、JS等程式設計語言。
鴻蒙系統的入門介紹

圖檔來源于網絡

系統定位

HarmonyOS是一款“面向未來”、面向全場景(移動辦公、運動健康、社交通信、媒體娛樂等)的分布式作業系統。在傳統的單裝置系統能力的基礎上,HarmonyOS提出了基于同一套系統能力、适配多種終端形态的分布式理念,能夠支援多種終端裝置。

鴻蒙系統的入門介紹

圖檔來源于網絡

HarmonyOS有三大特征

搭載該作業系統的裝置在系統層面融為一體、形成超級終端,讓裝置的硬體能力可以彈性擴充,實作裝置之間硬體互助,資源共享。

對消費者而言,HarmonyOS能夠将生活場景中的各類終端進行能力整合,可以實作不同的終端裝置之間的快速連接配接、能力互助、資源共享,比對合适的裝置、提供流暢的全場景體驗。

面向開發者,實作一次開發,多端部署。

對應用開發者而言,HarmonyOS采用了多種分布式技術,使得應用程式的開發實作與不同終端裝置的形态差異無關。這能夠讓開發者聚焦上層業務邏輯,更加便捷、高效地開發應用。

一套作業系統可以滿足不同能力的裝置需求,實作統一OS,彈性部署。

對裝置開發者而言,HarmonyOS采用了元件化的設計方案,可以根據裝置的資源能力和業務特征進行靈活裁剪,滿足不同形态的終端裝置對于作業系統的要求。

技術架構

HarmonyOS整體遵從分層設計,從下向上依次為:核心層、系統服務層、架構層和應用層。系統功能按照“系統 > 子系統 > 功能/子產品”逐級展開,在多裝置部署場景下,支援根據實際需求裁剪某些非必要的子系統或功能/子產品。

鴻蒙系統的入門介紹

圖檔來源于網絡

鴻蒙開發

鴻蒙應用開發

主要運作在HarmonyOS裝置(包括手機、平闆、智能座艙、智慧屏、手表等終端)

開發工具:DevEco Studio

開發語言:java和JS/eTS

核心:基于Linux核心開發

鴻蒙系統的入門介紹

圖檔來源于網絡

鴻蒙裝置開發

主要用于通過OpenHarmony測評的模組、開發闆等智能裝置

(如智能攝像頭,智能貓眼,掃地機器人等)

開發工具:DevEco Device Tool

開發語言:基于C/C++的嵌入式開發

核心:基于LiteOS核心開發

鴻蒙系統的入門介紹

圖檔來源于網絡

HUAWEI DevEco Studio

開發工具簡介

HUAWEI DevEco Studio(以下簡稱DevEco Studio)是基于IntelliJ IDEA Community開源版本打造,面向華為終端全場景多裝置的一站式內建開發環境(IDE),為開發者提供工程模闆建立、開發、編譯、調試、釋出等的HarmonyOS應用開發服務。有如下特點:

鴻蒙系統的入門介紹

圖檔來源于網絡

多裝置統一開發環境:支援多種HarmonyOS裝置的應用開發,包括手機、智慧屏、智能穿戴裝置。

支援多語言的代碼開發和調試:包括Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和HML(HarmonyOS Markup Language)。

支援 FA(Feature Ability)和 PA(Particle Ability)快速開發:通過工程向導快速建立FA/PA工程模闆,一鍵式打包成HAP(HarmonyOS Ability Package)。

支援分布式多端應用/服務開發:一個工程和一份代碼可跨裝置運作,支援不同裝置界面的實時預覽和差異化開發,實作代碼的最大化重用。

支援多裝置模拟器:提供多裝置的模拟器資源,包括智慧屏、智能穿戴等裝置的模拟器,友善開發者高效調試。

支援多裝置預覽器:提供JS和Java預覽器功能,可以實時檢視應用的布局效果,支援實時預覽和動态預覽;同時還支援多裝置同時預覽,檢視同一個布局檔案在不同裝置上的呈現效果。

應用/服務開發流程

鴻蒙系統的入門介紹

圖檔來源于網絡

相比于android的新特性

Ability

Ability是應用所具備能力的抽象,也是應用程式的重要組成部分。一個應用可以具備多種能力(即可以包含多個Ability),HarmonyOS支援應用以Ability為機關進行部署。Ability可以分為FA(Feature Ability)和PA(Particle Ability)兩種類型,每種類型為開發者提供了不同的模闆,以便實作不同的業務功能。

鴻蒙系統的入門介紹

FA支援Page Ability:

Page模闆是FA唯一支援的模闆,用于提供與使用者互動的能力。一個Page執行個體可以包含一組相關頁面,每個頁面用一個AbilitySlice執行個體表示。當一個Page由多個AbilitySlice共同構成時,這些AbilitySlice頁面提供的業務能力應具有高度相關性。(例如,新聞浏覽功能的清單和詳情)

PA支援Service Ability和Data Ability:

Service模闆:用于提供背景運作任務的能力。

Data模闆:用于對外部提供統一的資料通路抽象。

AI

鴻蒙系統的入門介紹

圖檔來源于網絡

為應用提供豐富的AI(Artificial Intelligence)能力,支援開箱即用。開發者可以靈活、便捷地選擇AI能力,讓應用變得更加智能。

二維碼生成:根據開發者給定的字元串資訊和二維碼圖檔尺寸,傳回相應的二維碼圖檔位元組流。調用方可以通過二維碼位元組流生成二維碼圖檔。

通用文字識别:通過拍照、掃描等光學輸入方式,把各種票據、卡證、表格、報刊、書籍等印刷品文字轉化為圖像資訊,再利用文字識别技術将圖像資訊轉化為計算機等裝置可以使用的字元資訊的技術。

圖像超分辨率:使用智能方法将其放大,令其分辨率更高,得到比傳統放大更加清晰的細節紋理;或者在分辨率不變的情況下,去除壓縮噪聲,獲得更加銳利、幹淨的圖檔。

IM類意圖識别:利用機器學習技術,針對使用者短信或聊天類APP等IM應用的文本消息進行内容分析,并識别出消息内容代表的使用者意圖。

關鍵字提取:可以在大量資訊中提取出文本想要表達的核心内容,可以是具有特定意義的實體,如:人名,地點,電影等。也可以是一些基礎但是在文本中很關鍵的詞彙。

語音識别:将語音檔案、實時語音資料流轉換為漢字序列,準确率達到90%以上(本地識别95%)。

原子化服務

在萬物互聯時代,人均持有裝置量不斷攀升,裝置和場景的多樣性,使應用開發變得更加複雜、應用入口更加豐富。在此背景下,應用提供方和使用者迫切需要一種新的服務提供方式,使應用開發更簡單、服務(如聽音樂、打車等)的擷取和使用更便捷。為此,HarmonyOS除支援傳統方式的需要安裝的應用外,還支援提供特定功能的免安裝的應用(即原子化服務)。

鴻蒙系統的入門介紹

圖檔來源于網絡

原子化服務是HarmonyOS提供的一種面向未來的服務提供方式,是有獨立入口的(使用者可通過點選方式直接觸發)、免安裝的(無需顯式安裝,由系統程式架構背景安裝後即可使用)、可為使用者提供一個或多個便捷服務的使用者應用程式形态。例如:某傳統方式的需要安裝的購物應用A,在按照原子化服務理念調整設計後,成為由“商品浏覽”“購物車”“支付”等多個便捷服務組成的、可以免安裝的購物原子化服務A*。

原子化服務特征

随處可及

  • 服務發現:原子化服務可在服務中心發現并使用。
  • 智能推薦:原子化服務可以基于合适場景被主動推薦給使用者使用;使用者可在服務中心和小藝建議中發現系統推薦的服務。

服務直達

  • 原子化服務支援免安裝使用。
  • 服務卡片:支援使用者無需打開原子化服務便可擷取服務内重要資訊的展示和動态變化,如天氣、關鍵事務備忘、熱點新聞清單。

跨裝置

  • 原子化服務支援運作在1+8+N裝置上,如手機、平闆等裝置。
  • 支援跨裝置分享:例如接入華為分享後,使用者可分享原子化服務給好友,好友确認後打開分享的服務。
  • 支援跨端遷移和多端協同

分布式流轉

鴻蒙系統的入門介紹

圖檔來源于網絡

随着全場景多裝置生活方式的不斷深入,使用者擁有的裝置越來越多,每個裝置都能在适合的場景下提供良好的體驗,例如:手表可以提供及時的資訊檢視能力,電視可以帶來沉浸的觀影體驗。但是,每個裝置也有使用場景的局限,例如:在電視上輸入文本相對手機來說是非常糟糕的體驗。當多個裝置通過分布式作業系統能夠互相感覺、進而整合成一個超級終端時,裝置與裝置之間就可以取長補短、互相幫助,為使用者提供更加自然流暢的分布式體驗。

基本概念

在HarmonyOS中泛指多裝置分布式操作。流轉能力打破裝置界限,多裝置關聯,使使用者應用程式可分可合、可流轉,實作如郵件跨裝置編輯、多裝置協同健身、多屏遊戲等分布式業務。流轉為開發者提供更廣的使用場景和更新的産品視角,強化産品優勢,實作體驗更新。流轉按照體驗可分為跨端遷移和多端協同。

跨端遷移

一種實作使用者應用程式流轉的技術方案,指在A端運作的FA遷移到B端上,完成遷移後, B端FA繼續任務,而A端應用退出。在使用者使用裝置的過程中,當使用情境發生變化時(例如:從室内走到戶外或者周圍有更合适的裝置等),之前使用的裝置可能已經不适合繼續目前的任務,此時,使用者可以選擇新的裝置來繼續目前的任務。

常見的跨端遷移場景執行個體:

  • 視訊來電時從手機遷移到智慧屏,視訊聊天體驗更佳,手機視訊應用退出。
  • 手機上閱讀應用浏覽文章,遷移到平闆上繼續檢視,手機閱讀應用退出。
鴻蒙系統的入門介紹

圖檔來源于網絡

多端協同

一種實作使用者應用程式流轉的技術方案,指多端上的不同FA/PA同時運作、或者交替運作實作完整的業務;或者,多端上的相同FA/PA同時運作實作完整的業務。多個裝置作為一個整體為使用者提供比單裝置更加高效、沉浸的體驗。例如:使用者通過智慧屏的應用A拍照後,A可調用手機的應用B進行人像美顔,最終将美顔後的照片儲存在智慧屏的應用A。

常見的多端協同場景執行個體還有:

  • 手機側應用A做遊戲搖桿,智慧屏側應用B做遊戲顯示,為使用者組成一個全新的遊戲體驗。
  • 平闆側應用A做答題闆,智慧屏側應用B做直播,為使用者組成一個全新的上網課體驗。
鴻蒙系統的入門介紹

圖檔來源于網絡

平行視界

平行視界是一種實作應用内雙視窗顯示的方案,适用于平闆、折疊屏展開态等大螢幕裝置。

HarmonyOS對于平闆、折疊屏裝置支援平行視界。使用者應用程式可以根據自身業務特點,設計最佳的雙視窗組合體驗,如社交類應用的“清單+聊天”,購物類應用的“雙視窗比價”等。

鴻蒙系統的入門介紹

圖檔來源于網絡

平行視界示意圖-折疊屏展開态

鴻蒙系統的入門介紹

圖檔來源于網絡

平行視界示意圖-平闆橫屏

現階段存在的一些不足

  • 目前鴻蒙系統的生态環境還很新,不如安卓和ios版根深蒂固。現階段還需要依賴安卓生态。
  • HarmonyOS代碼暫未開源,無法通過檢視源碼了解api的實作機制和原理。
  • 由于HarmonyOS釋出時間較短,開發中遇到的各種問題可能不太好解決。
  • HarmonyOS相較于android/ios系統開發者較少,第三方架構和sdk對鴻蒙os的支援還比較少。
  • 暫時不支援序列槽通訊,u口通訊未知(java開發找不到開發文檔),無法像安卓系統一樣外接各種硬體裝置。
  • 由于系統不開源,暫不支援各種開發闆刷入HarmonyOS,無法将應用安裝在第三方開發闆上(隻支援嵌入式裝置開發)。
鴻蒙系統的入門介紹

圖檔來源于網絡

【部分資料來自網絡,如有侵權,請聯系我司】

繼續閱讀