天天看點

回顧自己接觸鴻蒙的半年

​​春節不停更,此文正在參加「星光計劃-春節更帖活動」​​

序文

自己是在2021年兒童節過後接觸的鴻蒙,之後的半年一直都在熟悉鴻蒙,以至于前半年幹什麼着,居然想不起來了,趁着對下半年還有些記憶,把自己半年的經曆捋一捋吧。

2021-06-02

感覺這一天發生了一個曆史大事件,鴻蒙2.0開源了。

之前對鴻蒙的認知,完全停留在新聞、廣播的宣傳層面,自己沒有仔細研究過,也沒有激起我太大興趣,感覺鴻蒙離我還很遙遠,對于鴻蒙1.0、1.1系統的釋出,完全沒有概念。那時的我還寫些Android程式在各個應用商店釋出和維護,雖然使用者不多,但依舊在Android的大環境下其樂融融,自己的手機還是榮耀的MagicUI系統,HarmonyOS2.0還沒有釋出和适配。

鴻蒙2.0開源的消息比以前來的更猛烈了一些,各個網站、論壇都大篇幅宣傳鴻蒙,與此同時出現了一批适配鴻蒙2.0的開發闆,我有幸拿到了一塊潤和釋出的海思Hi3516DV300開發闆,從此開始了我的鴻蒙之旅。

漸漸的,我了解到了,此鴻蒙非彼鴻蒙,也就是開發闆的鴻蒙并非手機上的鴻蒙。開發闆上燒錄是開源鴻蒙OpenHarmony,所謂的鴻蒙2.0開源了,也是指的OpenHarmony2.0 代碼,它被放在Gitee網站上開源托管了。而手機上的鴻蒙是HarmonyOS,是不開源的,完全由華為内部團隊維護,隻給自己的裝置,包括手機、平闆、電視、智聯裝置等使用,其他廠商可以使用的都是在OpenHarmony基礎上開發的。打個比方,OpenHarmony就好比是Android,HarmonyOS是在OpenHarmony基礎上開發的一套新系統,類似華為基于Android開發的EMUI,小米基于Android開發的MIUI,魅族基于Android開發的FlyMe系統。

拿到開發闆之後,沒有任何直接的CD光牒類資料,隻能在網上一頓找,好找也不好找,好找,因為是開源,除了官網的資料,論壇也很活躍,是以讨論的人很多;不好找,因為是新釋出不久,很多問題大家還沒遇到,或者遇到了也沒找到具體解決方法,隻能慢慢摸索。

最初的重點,放在了代碼編譯、刷機和基本的應用開發體驗上。

這個OpenHarmony2.0系統問題還是挺多的,印象最深的就是在應用開發時,無法通過hdc_std在PC和開發版之間通訊,總是找不到開發闆裝置,找了一個星期也沒找到什麼解決辦法,就感覺應該是調試工具的版本可能不比對造成的。最後,還是在一個熱心網友的幫助下,他發給了我一個據說是内部人士給的編譯好的刷機包,我刷上後體驗了一下,各種調試都沒有問題,然後我就把它和我自己編譯的系統比較了一下,發現hdcd版本不一樣,這時我确定了OpenHarmony2.0系統的hdcd工具有問題,至少和我電腦上的hdc_std不相容。一直很苦惱,自己編譯出來的代碼,無法進行HAP的調試,還好,這個問題到OpenHarmony2.2版本釋出時就解決了。

刷機的過程也不太順利,它本身是支援三種刷機模式的,序列槽刷機、網口刷機和USB刷機,序列槽刷機太慢,隻能用來考慮刷uboot,網口刷機是我調通的唯一的能用的刷機方法,USB刷機按照介紹,試了無數次也沒成功過。好在刷機包不算太大,4分多鐘通過網口就能刷完,因為OpenHarmony2.0系統編譯出來的系統的image鏡像還是經過壓縮的sparse格式的,體積不算大。

在沒有新版本釋出的時候,就在OpenHarmony2.0的基礎上熟悉着鴻蒙的架構、子系統、元件等知識。

在此期間,沒有關注過任何社群活動,隻是在gitee和51cto之間跳來跳去查找資料,關注動态。

2021-08-04

這一天OpenHarmony 2.2釋出了。

得到這個消息的第一反應是興奮,很急迫的下載下傳了新代碼,編譯刷機體驗了一下。

記不太清了,界面應該是多了幾個應用程式,其他看不出太大變化,具體的修改應該都在ReleaseNote中列出來了,我主要就是要想測試一下PC與開發版之間的hdc_std的調試功能,我體驗HAP應用開發的路就是被它攔住了。這個版本真是給力,我在2.0中遇到的好多問題都不再出現了,hdc調試功能也工作正常了,我也從此熟悉了基于JS開發HAP的步驟和安裝過程。

在這個階段,之前的熱心網友拉我進了一個群,他說裡面有技術支援,有時可以解決一些問題。我很高興的加入了,之後在裡面問了一些問題,裡面的技術支援都幫忙解決了。 我同時還發現,原來這是一個gitee組織的社群活動,OpenHarmony自定義元件開發大賽,我想既然都來了,就别空手了,正好也是學習,按照要求就參加了,準備比較充分,比賽沒延遲就完成了5個作品,送出了3個作品,正因為如此,能力有限,作品也不夠優秀,最後得了三個陽光普照獎,gitee大背心,仍舊很開心,從此也愛上了各種社群活動。接下來參加的也是gitee組織的,OpenHarmony有獎征文,憑借一篇個人源碼解讀,獲得了一個二等獎,獎品是一套hi3816的開發闆,雖然暫時還用不到,但也很開心。

在這一段時間,個人在系統架構和應用開發方面都學習到了不少知識。因為手機的鴻蒙2.0還沒有适配,自己隻是在開發闆上調試一些基于js開發的OpenHarmony應用,對HAP開發過程有了一個詳細的了解。

2021-09-30

國慶前一天OpenHarmony 3.0釋出了。

都馬上放假了,誰還理它,假期之後再好好研究研究。

OpenHarmony3.0給我印象最深的就是支援了華為最新的聲明式開發範式ets語言,也支援了華為的方舟編譯器。又有的學了,真是得活到老,學到老啊,哪天即使人死了,技術也不會停止更新的。

eTS還是有很多優點的,除了運作效率有了不小的提升,開發也簡單了不少,以前是htm、css、js三個檔案,現在全部整合到一個ets檔案裡了。

在系統刷機方面,遇到大問題了,因為這回系統編譯完的鏡像不再是sparse壓縮格式的了,是以檔案很大,要幾個G,使用原來的網線刷機的方式,需要以小時為計量機關了,無法忍受,而且還經常失敗,必須解決USB刷機的問題了。

網際網路的優點就是網上好人多,有個網友也參加了gitee有獎征文的活動,專門寫了一個USB刷機的文章,寫的非常詳細,但我沒試成功,最後聯系到對方,在對方的指導下,成功實作了USB刷機,原來我以前不成功,是window驅動不對,按的刷機鍵也不正确,當然那個文章也獲獎了。

在熟悉OpenHarmony3.0的這個階段,恰逢我的手機也更新了鴻蒙2.0系統,如魚得水,我也體驗了一把在手機上開發應用的過程和步驟,而且也開發了一個鴻蒙應用并成功釋出到應用商店了。

這個階段也參加了幾個活動:

1. Gitee的1024程式員節活動,獎品拿的太容易,就像是白送的,隻要參加基本有獎,得了一個玩偶,和幾條内衣。

2. 華為組織的3D模組化挑戰賽活動,準備了很長時間,也投入了不少精力,最後對業務熟悉了,卻沒拿到任何獎,應該是選材和制作不夠好,體驗中自有快樂。

3. 報名參加了華為開發者大賽。

2021-12-31

今天OpenHarmony 3.1釋出了。

不像以前那麼興奮和期待了,隻是下載下傳下來編譯刷機試用一下,了解一下ReleaseNote中描述的新内容。

發現OpenHarmony包含的内容太多了,一步一個腳印,慢慢學習吧,争取學以緻用,早日把它應用到生活生産中。

記錄一下自己這個階段參加的活動和成果:

1. 華為組織的智感生活開發活動,獲得了個三等獎,一套華為迷你茶具;

2. 華為網上知識競賽,得了80分,人數1000多,排名90,獎品限量T恤衫,其實我想要帽子;

3. 51CTO組織的星光計劃2.0,寫了一篇文章,點贊不少、收藏也不少,最後得到的獎卻是随機幸運獎,是以,理想和現實有差距是正常的,不過機會更願意光顧勤奮的人。

4. 參與華為社群評論互動,最後随機抽獎,挨着我的前面的和後面的幾個朋友都中獎了,把我很巧妙的躲開了。

結束語

2021是充實而有趣的一年,希望我的2022會繼續伴随着鴻蒙一起成長。 

​​想了解更多關于鴻蒙的内容,請通路:​​

繼續閱讀