點擊上方 Android掃地僧 ,選擇 星標 公衆號
web
重磅資源、乾貨,快上車!json
2020年9月10日,華爲消費者業務軟件部總裁王成錄又一次站在了松山湖華爲開發者大會的主舞臺上。今年,他帶來了萬衆矚目的華爲鴻蒙HarmonyOS2.0。到目前爲止,除了華爲自家的智慧屏系列產品,國內也已經有多家等設備廠商與華爲達成了合做,搭載HarmonyOS2.0,雖然目前華爲最新手機ROM-EMUI11還是基於Android R的操做系統,而在發佈會上,華爲消費者業務軟件部總裁王成錄宣佈搭載EMUI 11的機型將率先升級HarmonyOS2.0鴻蒙操做系統。
瀏覽器
既然官方發話了,也許明年,HarmonyOS就會出如今你的手機上,這說不定也會給移動開發從業人員帶來更多的機會,早學早CD。
微信
話很少說,先跑個HelloWorld。網絡
DevEco Studio下載架構
https://developer.harmonyos.com/cn/develop/deveco-studioapp
系統要求:ide
操做系統 |
Windows 10 64位 |
內存 |
8GB+ |
硬盤 |
100GB+ |
分辨率 |
1280*800+ |
下面分別是DevEco Studio / AndroidStudio / IDEA(我都設置成了深色主題)佈局
IntelliJ Idea學習
配置開發環境
安裝Node.js(不適應JS開發應用直接略過)
下載Gradle
這個建議你把AS裏面已經下好的Gradle路徑找出來,DS默認使用5.4.1版本,我不肯定是否是國內網絡都有問題,反正個人網絡下不下來,或者使用民間大神已經下載好的
下面是官方給的解決方案
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/faq-installation-0000001050697674
運行HelloWorld
新建工程-選擇設備類型-電視/手錶
這裏建議選擇第3個LiteWearable,由於其餘兩個設備項目運行後,都不支持預覽,也就是HelloWorld長啥樣,你得跑起來才能看到。可是LiteWearable又僅支持JS,因此你仍是別預覽了,老老實實用虛擬機看吧
而後一路Next到底就完事了,等待項目構建完成,就能夠運行,可是你得先申請個模擬器
申請模擬器
前提:1.註冊華爲帳號 2.實名認證
菜單欄,點擊Tools > HVD Manager。首次使用模擬器,需下載模擬器相關資源,請點擊OK,等待資源下載完成後,點擊模擬器界面左下角的Refresh按鈕。
簡單體驗以後,能夠發現,鴻蒙應用開發的整個流程基本是跟Android應用一致的,對安卓開發人員來講,也太友好了吧。這個也不奇怪,畢竟Android這一套機制通過了十幾年的不斷完善,有不少方面值得借鑑和參考,下面簡單總結一下,從Android直接遷移到HarmonyOS很容易上手的幾個點
項目結構
HarmonyOS和Android都是採用Gradle進行構建,HarmonyOS的應用軟件包以APP Pack(Application Package)形式發佈,它是由一個或多個HAP(HarmonyOS Ability Package)以及描述每一個HAP屬性的pack.info組成。HAP是Ability的部署包,HarmonyOS應用代碼圍繞Ability組件展開。
一個HAP是由代碼、資源、第三方庫及應用配置文件組成的模塊包,可分爲entry和feature兩種模塊類型,以下圖所示。
entry:應用的主模塊。一個APP中,對於同一設備類型必須有且只有一個entry類型的HAP,可獨立安裝運行。
-
feature:應用的動態特性模塊。一個APP能夠包含一個或多個feature類型的HAP,也能夠不含。只有包含Ability的HAP纔可以獨立運行。
Ability
Ability是應用所具有能力的抽象,也是應用程序的重要組成部分。一個應用能夠具有多種能力(便可以包含多個Ability),HarmonyOS支持應用以Ability爲單位進行部署。Ability能夠分爲FA(Feature Ability)和PA(Particle Ability)兩種類型,每種類型爲開發者提供了不一樣的模板,以便實現不一樣的業務功能。
也就是說,Ability就至關於Android裏面四大組件的一個抽象,FA就是咱們熟悉的Activity,而PA下面的Service模板和Data模板就是對應的Service和ContentProvider
Page的生命週期
資源文件
config.json vs AndroidManifest
應用的配置文件「config.json」由「app」、「deviceConfig」和「module」三個部分組成,缺一不可。
app:應用的全局配置信息,包名,版本號等
deviceConfig:應用在不一樣設備上的具體信息
module:就是AndroidManifest下面的<application/>節點了,包括Ability的聲明,權限等
能夠發現,不少配置都改成json格式了,其實像string,color等也都改成json格式,目前瞭解的只有佈局文件仍然使用xml
如:color.json
{"color":[ {"name":"red","value":"#ff0000" }, {"name":"red_ref","value":"$color:red" } ]}
UI組件
應用的Ability在屏幕上將顯示一個用戶界面,該界面用來顯示全部可被用戶查看和交互的內容。應用中全部的用戶界面元素都是由Component和ComponentContainer對象構成。可想而知,這倆就是咱們熟悉的View和ViewGroup。
......
看完這個,是否是以爲,上手鴻蒙開發絲毫沒有難度,其餘具體細節,你們有興趣能夠去官網查看,基本上都有詳細的介紹。
另外,關於對鴻蒙應用開發過程當中遇到的問題,也能夠前往HarmonyOS官方論壇進行反饋和交流
https://developer.huawei.com/consumer/cn/forum/blockdisplay?fid=0101303901040230869
最後
最後附上鴻蒙官網的系統架構圖。
點個在看,你最好看
本文分享自微信公衆號 - Android掃地僧(Android-Mas)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。