0. 前言
我平常主要活躍在51CTO OpenHarmony技術(shù)社區(qū)上和華為官方的開(kāi)發(fā)者論壇上。
51CTO OpenHarmony技術(shù)社區(qū)有我的技術(shù)專(zhuān)欄《鴻蒙系統(tǒng)學(xué)習(xí)筆記》,這個(gè)專(zhuān)欄匯集了我在過(guò)去一年多時(shí)間里學(xué)習(xí)鴻蒙開(kāi)發(fā)技術(shù)的一些心得,其中不少博文收獲了不少好評(píng)。 下面就簡(jiǎn)單列一下鏈接出來(lái),感興趣的讀者請(qǐng)移步去那邊閱讀,這里就不費(fèi)時(shí)費(fèi)力轉(zhuǎn)過(guò)來(lái)了。
- 0.1 《鴻蒙系統(tǒng)的啟動(dòng)流程v2.0》----LiteOS_A內(nèi)核系統(tǒng)
- 0.2 《鴻蒙系統(tǒng)的啟動(dòng)流程v3.0》++LiteOS_M內(nèi)核系統(tǒng)
- 0.3 《鴻蒙系統(tǒng)的的編譯流程及分析v1.0》----小型系統(tǒng)+輕量系統(tǒng)
- 0.4 關(guān)于“Hi3861_WiFiIoT工程”的一組文章
- 0.5 《鴻蒙的DFX子系統(tǒng)》----小型系統(tǒng)+輕量系統(tǒng)
- 0.6 關(guān)于“SAMGR--系統(tǒng)服務(wù)框架子系統(tǒng)”的一組文章,V1.0為比較隨意的博文,發(fā)表在51CTO OpenHarmony技術(shù)社區(qū);V2.0為比較正式的博文,在2021年下半年發(fā)表在“確實(shí)?開(kāi)源”論壇,拿去參加第四屆中國(guó)軟件開(kāi)源創(chuàng)新大賽(代碼評(píng)注組),榮獲二等獎(jiǎng),V2.0版本博文入口為《OHOS的系統(tǒng)服務(wù)框架子系統(tǒng)(SAMGR)代碼解讀》
- 0.6 關(guān)于標(biāo)準(zhǔn)系統(tǒng)的編譯部分,有幾篇簡(jiǎn)短博文。
- 0.7 關(guān)于鴻蒙系統(tǒng)的驅(qū)動(dòng)子系統(tǒng)部分,也有幾篇博文,但后來(lái)停止繼續(xù)更新,主要是把它們寫(xiě)到書(shū)里去了。
上面這些博文內(nèi)容,將會(huì)以更詳盡、更完整的全新面貌呈現(xiàn)在我的技術(shù)書(shū)籍《沉浸式剖析OpenHarmony源代碼》里面,其中驅(qū)動(dòng)子系統(tǒng),是全書(shū)的重點(diǎn),花了整本書(shū)25%的篇幅去深扒鴻蒙系統(tǒng)的驅(qū)動(dòng)開(kāi)發(fā)幾乎所有細(xì)節(jié),敬請(qǐng)期待。
剛剛我也在本社區(qū)也開(kāi)通了《鴻蒙系統(tǒng)學(xué)習(xí)筆記》專(zhuān)欄,未來(lái)有新的博文要發(fā)表,我將盡量?jī)蛇呁桨l(fā)布。
1. 歷程
2021年大概也就是3月底的這個(gè)時(shí)候,我才算是真正結(jié)識(shí)OpenHarmony的。
?
當(dāng)時(shí)也是為了尋找工作機(jī)會(huì),就去了解一下?lián)f(shuō)是搭載了HarmonyOS 1.0的華為智慧屏產(chǎn)品(我的老本行就是家庭影音產(chǎn)品方向的),然后在網(wǎng)上也搜索了解一下HarmonyOS是什么個(gè)情況,再然后就被吸引過(guò)來(lái)了。
?
當(dāng)然我也順帶了解了一下物聯(lián)網(wǎng)的發(fā)展情況,看到了《信息通信行業(yè)發(fā)展規(guī)劃(2016-2020年)》和《信息通信行業(yè)發(fā)展規(guī)劃物聯(lián)網(wǎng)分冊(cè)(2016-2020年)》兩份文件還有其它一些資料,才發(fā)現(xiàn)原來(lái)物聯(lián)網(wǎng)這盤(pán)棋這么大!2021年3月發(fā)布的《“十四五”規(guī)劃綱要》和11月發(fā)布的《“十四五”信息通信行業(yè)發(fā)展規(guī)劃》做了更詳細(xì)和具體的規(guī)劃,要知道我黨向來(lái)是說(shuō)到做到的,今天的規(guī)劃,明天就變成現(xiàn)實(shí)了!
?
3月底,我才開(kāi)始從gitee下載代碼回來(lái)學(xué)習(xí)的,此時(shí)OpenHarmony已經(jīng)開(kāi)源半年多了,所以我算不上最早接觸OpenHarmony的那一批人,不過(guò)也還不算晚。
?
我在51CTO OpenHarmony技術(shù)社區(qū)活躍起來(lái),應(yīng)該就是2021年3月底開(kāi)始的,至今剛好一年,所以又到了盤(pán)點(diǎn)一下的時(shí)間了。
?
經(jīng)過(guò)一些日子的學(xué)習(xí)和整理,4月初我在51CTO OpenHarmony技術(shù)社區(qū) 發(fā)表了第一篇博文,沒(méi)想到這么受大家的歡迎,這給了我很大的鼓勵(lì)。當(dāng)時(shí)純粹就是想盡量深入理解一下OpenHarmony,也把自己的一些學(xué)習(xí)心得分享出來(lái)而已,多少也帶點(diǎn)開(kāi)源的意思。大家可以看到我早期分享的博文,都帶有相應(yīng)的pdf文檔的,只想著方便大家學(xué)習(xí)使用就好。網(wǎng)絡(luò)上的各種轉(zhuǎn)載不標(biāo)明出處也就罷了,畢竟寫(xiě)出來(lái)就是為了給別人學(xué)習(xí)的,也省得我自己動(dòng)手去轉(zhuǎn)載。但后來(lái)看到有人拿著這些文檔去招搖撞騙,還有些地方拿過(guò)去給人收費(fèi)(Xx幣或積分)下載,我就感覺(jué)不爽了,這不是我的本意。所以后來(lái)就漸漸不帶pdf文檔了,請(qǐng)各位小伙伴多加包涵。
?
6、7月份的時(shí)候,有兩位自稱(chēng)是出版社編輯的人在社區(qū)私信上問(wèn)我要不要合作出書(shū),我婉拒了~~,因?yàn)槲乙彩且視?shū)看的人,還沒(méi)敢有寫(xiě)書(shū)給別人看的想法。
?
后來(lái)怎么等也不見(jiàn)有南向開(kāi)發(fā)的書(shū)上市,這是個(gè)問(wèn)題,但也是個(gè)機(jī)會(huì)。正所謂“王侯將相寧有種乎”,所有的書(shū)不還都是人寫(xiě)出來(lái)的嘛!既然沒(méi)有,那就自己寫(xiě)一本!所以在9月份之后,我就比較少在社區(qū)上發(fā)文了,一個(gè)是沒(méi)空了,另一個(gè)是因?yàn)槎紝?xiě)到書(shū)里去了~~
?
10月份,我參加了HDC,對(duì)OpenHarmony的技術(shù)路線(xiàn)和未來(lái)的發(fā)展有了更進(jìn)一步的認(rèn)識(shí);HDC上也順便結(jié)識(shí)了幾位大佬,更加確定了這個(gè)方向可以走得很遠(yuǎn)。
?
經(jīng)過(guò)幾個(gè)月的學(xué)習(xí)、總結(jié)、整理,到農(nóng)歷年底的時(shí)候,這本書(shū)其實(shí)已經(jīng)基本成型了。
?
但是寫(xiě)書(shū)畢竟不是寫(xiě)技術(shù)博客,技術(shù)博客的隨意性和行文的口語(yǔ)化等,在書(shū)上肯定是不允許的。因此今年2/3月份,主要都是圍繞原創(chuàng)圖書(shū)的寫(xiě)作規(guī)范,來(lái)對(duì)章節(jié)、行文、圖表、甚至標(biāo)點(diǎn)符號(hào)的使用等方面做調(diào)整,這也是一個(gè)非常繁瑣的過(guò)程。
?
雖然初稿已經(jīng)提交出版社了,但是從編輯的角度來(lái)看,肯定還少不了幾輪的來(lái)回溝通和微調(diào),然后才能印刷出版~~
?
所以接下來(lái)還需要關(guān)注此書(shū)的小伙伴們耐心再等等。
?
與OpenHarmony共同成長(zhǎng)的這一年,OpenHarmony茁壯成長(zhǎng)碩果累累,我也收獲頗豐,至少又完成了一件以前都不敢想的事情,心里的成就感是斂不住的。
2.成果
本書(shū)的章節(jié)安排,基本上就是本人學(xué)習(xí)OpenHarmony開(kāi)發(fā)從入門(mén)到深入的過(guò)程實(shí)錄,從一個(gè)初學(xué)者的視角來(lái)一邊學(xué)習(xí),一邊總結(jié),漸進(jìn)式地進(jìn)行條分縷析,以展現(xiàn)我所理解的OpenHarmony。
本書(shū)目前分為9章,各章節(jié)的大概內(nèi)容如下:
- 第1章,簡(jiǎn)單介紹OpenHarmony的發(fā)展歷史、技術(shù)特性和發(fā)展前景。
- 第2章,OpenHarmony的設(shè)備開(kāi)發(fā)環(huán)境搭建步驟繁瑣且復(fù)雜,是開(kāi)發(fā)者入門(mén)OpenHarmony驅(qū)動(dòng)開(kāi)發(fā)遇到的第一個(gè)攔路虎,本章提供了一個(gè)清晰的開(kāi)發(fā)環(huán)境搭建步驟,為開(kāi)發(fā)者提供一個(gè)可行的操作參考。
- 第3章,簡(jiǎn)單介紹系統(tǒng)架構(gòu)和一二級(jí)目錄結(jié)構(gòu),讓開(kāi)發(fā)者對(duì)OpenHarmony有一個(gè)整體的認(rèn)識(shí)。
- 第4章,OpenHarmony的編譯構(gòu)建體系非常復(fù)雜,多種構(gòu)建工具常常交叉使用,非常容易讓人產(chǎn)生困擾。本章在目前情況下盡量把小型系統(tǒng)、標(biāo)準(zhǔn)系統(tǒng)的編譯體系講清楚,幫助開(kāi)發(fā)者理清系統(tǒng)構(gòu)建上的頭緒。
- 第5章,詳細(xì)分析了OpenHarmony系統(tǒng)服務(wù)層各大功能組件的詳細(xì)啟動(dòng)流程。
- 第6章,分析了OpenHarmony設(shè)備驅(qū)動(dòng)開(kāi)發(fā)需要關(guān)注的部分子系統(tǒng),特別是DFX子系統(tǒng)和IoT硬件子系統(tǒng)。
- 第7章,詳細(xì)分析了OpenHarmony系統(tǒng)服務(wù)框架的基礎(chǔ)理念和實(shí)現(xiàn),即所有功能和特性,都抽象為服務(wù)進(jìn)行管理和使用。這一章,目前僅限于對(duì)輕量系統(tǒng)和小型系統(tǒng)的系統(tǒng)服務(wù)框架進(jìn)行分析,暫未涉及標(biāo)準(zhǔn)系統(tǒng)部分。本章的內(nèi)容,在2021年下半年拿去參加第四屆中國(guó)軟件開(kāi)源創(chuàng)新大賽(代碼評(píng)注組),榮獲二等獎(jiǎng)。
- 第8章,初步分析了分布式通信子系統(tǒng)的部分組件,其中的軟總線(xiàn)組件是OpenHarmony實(shí)現(xiàn)萬(wàn)物互聯(lián)/萬(wàn)物智聯(lián)的基石。因?yàn)檐浛偩€(xiàn)是一個(gè)非常龐大且復(fù)雜的系統(tǒng),這幾個(gè)月來(lái)我一直嘗試盡可能深入地去理解它,但是技術(shù)難點(diǎn)非常多,我對(duì)軟總線(xiàn)核心部分的理解,還沒(méi)有能夠非常順暢地串聯(lián)起來(lái),因此想要做出如第7章和第9章那樣完整而細(xì)致的總結(jié),目前還做不到,只能請(qǐng)讀者們見(jiàn)諒了。后繼會(huì)在社區(qū)上發(fā)博文以記錄軟總線(xiàn)模塊的學(xué)習(xí)心得,待有所理解后再匯總到本書(shū)的更新版本中去。
- 第9章,非常深入地分析了驅(qū)動(dòng)子系統(tǒng)自下而上的大量實(shí)現(xiàn)細(xì)節(jié),為驅(qū)動(dòng)開(kāi)發(fā)者們深入理解OpenHarmony的驅(qū)動(dòng)框架提供一個(gè)參考。驅(qū)動(dòng)子系統(tǒng)中還有不少地方,本書(shū)沒(méi)有進(jìn)一步展開(kāi)深入分析的,未來(lái)也會(huì)以社區(qū)博文的方式進(jìn)行補(bǔ)充。
另外,目前本書(shū)暫未涉及系統(tǒng)移植方面的經(jīng)驗(yàn)總結(jié),是一個(gè)比較大的遺憾,希望未來(lái)能夠一并補(bǔ)全。
因?yàn)閷?shí)際上我也是OpenHarmony的一個(gè)初學(xué)者,在學(xué)習(xí)和總結(jié)中,難免會(huì)有各種疏漏和錯(cuò)誤,讀者朋友在閱讀本書(shū)時(shí),發(fā)現(xiàn)我有理解不對(duì)的地方,還請(qǐng)積極反饋給我,大家一起討論,共同進(jìn)步。
-
系統(tǒng)開(kāi)發(fā)
+關(guān)注
關(guān)注
2文章
118瀏覽量
9772 -
驅(qū)動(dòng)開(kāi)發(fā)
+關(guān)注
關(guān)注
0文章
130瀏覽量
12054 -
鴻蒙系統(tǒng)
+關(guān)注
關(guān)注
183文章
2633瀏覽量
66062 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3613瀏覽量
15986
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論