從入門到棄坑:一個后端開發到鴻蒙開發的簡單嘗試
筆者說:因為本人也從未接觸 Android 開發,所以本文也是從小白入門的角度學習 HarmonyOS 開發,文中大量的內容和觀點其實都可以從官方文檔查閱到。寫這篇文章大概也是從中精簡內容,記錄學習 HarmonyOS 的過程。

鴻蒙,萬物之始
鴻蒙者,萬物之始也。
鴻蒙操作系統(HarmonyOS)最初在 2019 年的華為開發者大會上發布并且宣布開源,然后鴻蒙 2.0 在 2020 推出,又吸引了眾多開發者的眼球。這是一款面向全場景分布式操作系統,開啟萬物智聯新模式。這是一款跨平臺開發的操作系統,兼容多種設備。按照官網的介紹:
HarmonyOS 主打的是 “1+8+N” 的全場景體驗,如何解釋呢?
“1”指的是主入口手機;
“8”指的是智慧屏、平板、PC、音響、手表、眼鏡、車機和耳機8種設備;
“N”則指的是泛IoT硬件構成的華為HiLink生態,其中包括移動辦公、智能家居、健康生活、影音娛樂、智能出行等各大場景下的智能硬件設備。
鴻蒙的英文名,之前為拼音 " HongMeng",后又 改為 Harmony ,有和諧,協調之義。更能體現鴻蒙 OS 的特點,比拼音更國際化了。
講特點都是虛的,但也是需要講的。鴻蒙的特點:
分布式為基礎的多終端屏幕共享,跨屏設計
系統與硬件解耦,彈性部署
應用一次開發,多端部署
但我們開發者的角度更多關心的是:如何開發?用什么語言開發?
畢竟,生態和社區還是很重要的。為此,Harmony 官方也給了一套完整的解決方案。
HarmonyOS 概述
想要學習鴻蒙系統開發,就不得不先從操作系統本身開始學習,了解鴻蒙操作系統到底是什么。
官方的定位是:
HarmonyOS是一款面向萬物互聯時代的、全新的分布式操作系統。在傳統的單設備系統能力基礎上,HarmonyOS提出了基于同一套系統能力、適配多種終端形態的分布式理念,能夠支持手機、平板、智能穿戴、智慧屏、車機等多種終端設備,提供全場景(移動辦公、運動健康、社交通信、媒體娛樂等)業務能力。
HarmonyOS 提供了支持多種開發語言的API,供開發者進行應用開發。支持的開發語言包括 Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和 HML(HarmonyOS Markup Language)。
對比 IOS 開發限于 SWIFT/Object-C,Android 開發使用 Kotlin/JAVA,鴻蒙就已經領先于市場上許多傳統操作系統。
技術架構
層次結構的思想還是很重要的,類似其他操作系統的分層結構,。Harmony 脫胎于 Linux,HarmonyOS 也不例外采取了分層架構。
Linux 的系統結構
先讓我們看一下 Linux 的系統結構,Linux 操作系統的架構主要有以下組件:內核、硬件層、系統庫、Shell 和應用程序,就不得不提到這個很多書會提到的圖:
內核是操作系統的核心部分,負責 Linux 操作系統的所有主要活動。該操作系統由不同的模塊組成,直接與底層硬件進行交互。內核提供所需的抽象來隱藏到系統的應用程序或低級硬件詳細信息;
系統庫是特殊函數,用于實現操作系統的功能,不需要內核模塊的代碼訪問權限;
Shell 是用戶和內核之間的接口,它提供內核的服務。它來自用戶的命令并執行內核的函數。Shell 以不同類型的操作系統存在,它們分為兩種類型:命令行 Shell 和圖形 Shell;
應用程序易于執行個人和專業級別的任務,包括我們看到的圖形界面、開發工具等;
HarmonyOS 系統架構
從請添加鏈接描述來看:
HarmonyOS 與 Linux 類似,整體遵從分層設計,從下向上依次為:內核層、系統服務層、框架層和應用層。
系統功能按照“系統 > 子系統 > 功能/模塊”逐級展開,在多設備部署場景下,支持根據實際需求裁剪某些非必要的子系統或功能/模塊。HarmonyOS技術架構如下所示。
感興趣的朋友可以去讀一下官方文檔,仔細了解一下每層主要實現的功能。
而本文主要關注于應用層的知識,利用 HarmonyOS 進行應用開發,所以直接往下走。
HarmonyOS 應用開發
用戶應用程序泛指運行在設備的操作系統之上,為用戶提供特定服務的程序,簡稱“應用”。在HarmonyOS上運行的應用,有兩種形態:
傳統方式的需要安裝的應用。
提供特定功能,免安裝的應用(即原子化服務)。
需要安裝的用戶應用程序包以 APP Pack(Application Package)形式發布,它是由一個或多個 HAP(HarmonyOS Ability Package)以及描述每個 HAP 屬性的 pack.info 組成。HAP 是 Ability 的部署包,HarmonyOS 應用代碼圍繞 Ability 組件展開。App 的邏輯視圖如下:
開發準備
本文以 Java 開發為例,
下載 HUAWEI DevEco Studio,這個開發工具是基于IntelliJ IDEA Community開源版本打造,面向華為終端全場景多設備的一站式集成開發環境(IDE),為開發者提供工程模板創建、開發、編譯、調試、發布等E2E的HarmonyOS應用/服務開發。
安裝完畢后打開后的界面如下:
點擊 Create HarmonyOS Project,選擇一個合適的 ability 模板,此處選擇 Empty Ability(Java),如下圖:
點擊 next,然后配置我們的項目,比如去一個名字為 HelloWrold ,DevEco Studio 集成了 Phone、Tablet、TV、Wearable、LiteWearable等設備的典型場景模板。此處設備我選擇 Phone :
點擊完成,然后等待 Gradle 編譯完成,自動進行工程的同步。
使用模擬器運行 HelloWorld
DevEco Studio 提供遠程模擬器和本地模擬器,本文以遠程模擬器為例進行說明。
首先需要華為開發者授權,在 在DevEco Studio菜單欄,點擊Tools > Device Manager。
在 Remote Emulator 頁簽中點擊 Login,然后會在默認瀏覽器中彈出華為開發者聯盟帳號登錄界面,請輸入已實名認證的華為開發者聯盟帳號的用戶名和密碼進行登錄。登錄完成后可以看到下圖:
登陸成功后,點擊界面的允許按鈕進行授權。返回在設備列表中,選擇 Phone -> P40,并點擊 綠色的三角形 按鈕,運行模擬器。
就可以連接上一個遠程的 P40 界面:
點擊 DevEco Studio 工具欄中的按鈕運行工程,或使用默認快捷鍵 Shift+F10 運行該項目。
等候一會,我們就能不寫一句代碼就得到我們每個入門者夢寐以求的結果:“你好,世界”,如下:
恭喜我們,我們已經完成了一大壯舉,沒有寫一句代碼就實現了面向 HelloWorld 編程。
總結
如果你能看到此處,說明你也是一個跟我一樣入門移動端開發的小白,說實話,這篇文章目前沒有什么技術含量,但不能阻礙我去學習 HarmonyOS,寫下這篇文章。
萬丈高樓平地起,只有先從自己快速能動手實踐,才有動力繼續學下去。如果你也跟我一樣是 Java 使用者,還沒有 Android 開發基礎,我認為是可以動手學習更多關于鴻蒙開發的知識的。畢竟,目前相關文章和書籍還是比較少的,多探索還是有一定必要的。
最后,打個預告,下一篇將從 Java 開發的角度去體驗更多 HarmonyOS 開發的樂趣,希望你也能看到。讓我們下一篇文章再見!
HarmonyOS Java 開發者
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。