鴻蒙OS應(yīng)用開(kāi)發(fā)實(shí)踐(一)
想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz
前言:
很榮幸上周能跟華為的大佬們還有51CTO的資深老師們坐在一起交流學(xué)習(xí),確實(shí)受益匪淺。
按以往正常的套路是第一篇我應(yīng)該先介紹下鴻蒙OS是什么,但這篇我就不講了,我們技術(shù)社區(qū)里的很多大佬已經(jīng)講了很多了,我就不贅述了。
簡(jiǎn)單說(shuō),對(duì)于開(kāi)發(fā)者來(lái)講,一個(gè)更加開(kāi)放,更加便利的開(kāi)發(fā)工具及生態(tài),是所有開(kāi)發(fā)者們喜聞樂(lè)見(jiàn)的~
本實(shí)踐目前是打算寫(xiě)一個(gè)系列,記錄和分享我在學(xué)習(xí)和實(shí)踐鴻蒙OS應(yīng)用開(kāi)發(fā)的一些心得體會(huì)。
>>正文:
正式開(kāi)始前,作為學(xué)習(xí)者,或者開(kāi)發(fā)者,我們可能需要做一些準(zhǔn)備。
(1)是否有編程基礎(chǔ)?
鴻蒙OS在IDE端(DevEco)目前支持JAVA、JS、C/C++等語(yǔ)言(社區(qū)的唐老師已經(jīng)跑通了Python [手動(dòng)三連])。如果有編程語(yǔ)言基礎(chǔ)的同學(xué),相信很容易就能上手,畢竟在編程的世界里,語(yǔ)法基本可以一通百通。如果沒(méi)有編程基礎(chǔ)的同學(xué),建議可以做一些額外的學(xué)習(xí)準(zhǔn)備,比如抽時(shí)間去學(xué)下JAVA/JS/C/C++中的任意一門(mén)編程語(yǔ)言,絕對(duì)有益。

(2)是否有開(kāi)發(fā)者賬號(hào)?
開(kāi)發(fā)者賬號(hào)是保證你能完整使用當(dāng)前廠商提供各種開(kāi)發(fā)調(diào)試功能的基本條件,如果沒(méi)有賬號(hào),則我們需要到華為開(kāi)發(fā)者聯(lián)盟注冊(cè)開(kāi)發(fā)者賬號(hào),注冊(cè)過(guò)程需要進(jìn)行實(shí)名認(rèn)證。鏈接地址:https://developer.huawei.com/consumer/cn/

完成前面的準(zhǔn)備,我們就可以愉快的開(kāi)始鴻蒙OS應(yīng)用開(kāi)發(fā)之旅了。
(一)安裝鴻蒙IDE : DevEco Studio
關(guān)于DevEco Studio官方文檔也有詳細(xì)的介紹,它是基于IntelliJ IDEA Community開(kāi)源版本打造,做過(guò)安卓開(kāi)發(fā)的同學(xué)應(yīng)該會(huì)很熟悉,因?yàn)榘沧康腎DE也是基于IntelliJ開(kāi)源版本改造的,操作習(xí)慣上毫無(wú)違和感。所以這個(gè)IDE的起點(diǎn)就很高,一方面可以基于成熟的IDE方案上做更多的改良,另一方面可以讓安卓生態(tài)的開(kāi)發(fā)者快速介入到鴻蒙的開(kāi)發(fā)中來(lái),對(duì)整個(gè)開(kāi)發(fā)生態(tài)來(lái)講,是良性的。
IDE的官方下載地址:https://developer.harmonyos.com/cn/develop/deveco-studio#download
這里也重申下,下載還是得到官方下載,何況鴻蒙沒(méi)有像安卓那樣需要特殊的網(wǎng)絡(luò)環(huán)境,下載快,又安全。很早之前就有爆出通過(guò)第三方渠道下載的IDE被植入后門(mén)的事件,開(kāi)發(fā)者們還是慎之。
目前提供了windows版本和mac版本,涵蓋了較大部分的開(kāi)發(fā)環(huán)境。同時(shí)開(kāi)發(fā)者需要注意操作系統(tǒng)的兼容性,目前基本是涵蓋了當(dāng)前最主流的系統(tǒng)版本。

安裝倒沒(méi)什么特殊的步驟,基本就是按部就班,一步步往下走即可。安裝完成后,進(jìn)入主界面,比較簡(jiǎn)潔左欄包含主要的操作菜單:創(chuàng)建鴻蒙OS項(xiàng)目(Create HarmonyOS Project)、打開(kāi)鴻蒙OS項(xiàng)目( Open Project)、版本控制設(shè)置( Version Control)。

左下分別為Configure和Help,Configure菜單主要包含IDE的各種配置、項(xiàng)目、插件設(shè)置等等。當(dāng)然這些在進(jìn)入項(xiàng)目后一樣可以設(shè)置。

(二)創(chuàng)建一個(gè)鴻蒙OS項(xiàng)目
在主界面中點(diǎn)擊Create HarmonyOS Project可以進(jìn)行創(chuàng)建項(xiàng)目,創(chuàng)建時(shí)可以選擇對(duì)應(yīng)的開(kāi)發(fā)目標(biāo)設(shè)備:目前包含車(chē)機(jī)(Car)、電視(TV)、穿戴設(shè)備(Werable)、輕量穿戴設(shè)備(Lite Werable)和智能視覺(jué)設(shè)備(Smart Vision),當(dāng)然后續(xù)還會(huì)增加更多設(shè)備支持,比如手機(jī)~

模版是鴻蒙預(yù)制的一些常用的模版,開(kāi)發(fā)者可以自行選擇對(duì)應(yīng)的語(yǔ)言模版(看后綴)進(jìn)行開(kāi)發(fā)。比如這個(gè)車(chē)機(jī)的除了JAVA和JS,還支持了C++語(yǔ)言。
注:這里的Feature Ablitity是鴻蒙的元程序(FA)概念,表示一個(gè)有界面元程序。對(duì)應(yīng)的還有PA,即Particle Ability,表示一個(gè)無(wú)界面的元服務(wù)。
我們選一個(gè)電視的JAVA模版來(lái)做開(kāi)發(fā)。

點(diǎn)擊下一步進(jìn)入項(xiàng)目配置:

Project Name :項(xiàng)目名稱(chēng)填入你想要的項(xiàng)目名稱(chēng)因?yàn)闀?huì)被包含到路徑中,所以,建議使用英文命名。
Package Name: 包名,這里有個(gè)約定俗成的規(guī)范,就是com.xxx.xxx這樣的格式。一般就是com.開(kāi)頭,中間是組織名,后面是app的名稱(chēng),這個(gè)包名確定了后,后續(xù)還會(huì)有很多地方會(huì)用到,比如申請(qǐng)應(yīng)用證書(shū),再比如包之間的相互調(diào)用。
Save Location:項(xiàng)目保存路徑,開(kāi)發(fā)者可以自行選擇你想保存的路徑。
Compatible SDK: 選擇對(duì)應(yīng)的鴻蒙os SDK,默認(rèn)有安裝了一個(gè)鴻蒙sdk版本。
直接點(diǎn)擊finish就完成了項(xiàng)目的創(chuàng)建。
(三)運(yùn)行第一個(gè)程序:hello world!

進(jìn)入項(xiàng)目后,后臺(tái)會(huì)進(jìn)行一些自動(dòng)化的環(huán)境配置,比如gradle的相關(guān)配置,初次進(jìn)入項(xiàng)目會(huì)自動(dòng)去下載gradle環(huán)境。因?yàn)槲覀兪褂昧四0?,鴻蒙已?jīng)默認(rèn)幫我們寫(xiě)好了初始的hello world 基礎(chǔ)代碼,所以我們可以直接跑下看。程序界還有一個(gè)約定俗成的習(xí)慣,那就是我們進(jìn)入一個(gè)新的開(kāi)發(fā)環(huán)境時(shí),都會(huì)先跑下hello world。
跑hello world有幾個(gè)好處:
1.熟悉新環(huán)境的運(yùn)行流程。
2.確定當(dāng)前環(huán)境是正常能用的,各種配置文件是正確生效的。
那么如何快速的跑當(dāng)前模版的hello world呢?直接點(diǎn)擊頂部菜單欄 -> Tools -> HVD Manager。
這個(gè)步驟呢,是打開(kāi)鴻蒙的虛擬機(jī)管理器。

之后會(huì)彈出華為網(wǎng)頁(yè)賬戶(hù)驗(yàn)證,這時(shí)候之前注冊(cè)的華為開(kāi)發(fā)者賬號(hào)就要用上去了。

點(diǎn)擊允許,返回DevEco Studio,這時(shí),就會(huì)彈出虛擬設(shè)備列表:

目前可選的有電視、穿戴設(shè)備和車(chē)機(jī),我們選擇TV來(lái)進(jìn)行模擬,點(diǎn)擊右邊Actions列的三角圖標(biāo)。
點(diǎn)擊后,IDE主界面就會(huì)顯示一個(gè)遠(yuǎn)程設(shè)備(Remote Device):

我們看到TV底下有個(gè)倒計(jì)時(shí),這是告訴開(kāi)發(fā)者這個(gè)模擬器1個(gè)小時(shí)后會(huì)自動(dòng)釋放掉,因?yàn)檫h(yuǎn)程模擬器是會(huì)占用一定的遠(yuǎn)程資源的。
當(dāng)然,現(xiàn)在我們看不到hello world,因?yàn)槲覀兡壳爸皇谴蜷_(kāi)了一個(gè)模擬電視機(jī),并沒(méi)在電視機(jī)上安裝和運(yùn)行我們的hello world,所以下一步,我們就要運(yùn)行我們的hello world程序到電視機(jī)上。

點(diǎn)擊工具欄中運(yùn)行按鈕,會(huì)彈出選擇運(yùn)行的目標(biāo)設(shè)備。我們看到已經(jīng)有一個(gè)華為設(shè)備,這個(gè)就是我們剛才打開(kāi)的模擬電視機(jī)設(shè)備。

當(dāng)然底下還顯示了一些其他可用的模擬器,我們暫時(shí)不需要。我們選擇已經(jīng)連接的這臺(tái)設(shè)備點(diǎn)擊ok直接運(yùn)行。
現(xiàn)在,我們的程序已經(jīng)跑在電視機(jī)上了。說(shuō)明我們的開(kāi)發(fā)環(huán)境ok,我們的鴻蒙os應(yīng)用開(kāi)發(fā)之旅可以正式揚(yáng)帆起航了!
本篇完,下篇見(jiàn)。
想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz