鴻蒙系統掃盲(七):勘誤補充總結,收個尾

2024年2月6日 18点热度 0人点赞

這是筆者鴻蒙掃盲系列的最後一篇了,準備對過去的六篇掃盲系列文章,錯誤的地方做一些勘誤,並且補充更新一些朋友們感興趣的知識,最後收個尾。

1.勘誤,編譯型語言和解釋型語言

鴻蒙系統掃盲(五):再談鴻蒙開發用什麼語言?中,有這樣一句話

“而解釋型語言的代表就是耳熟能詳的C/C 、Rust,以及IOS應用的開發語言,Object-C、Swift等。”

這句話寫錯了,感謝LLLNg這位朋友的指出,上面說的幾種,他們都是編譯型語言,不是解釋型語言,那時候想著解釋型語言和編譯型語言,手腦不統一,寫錯了,上面的幾種語言,執行效率都非常高,所以不可能是解釋性語言,特別勘誤!

2.鴻蒙內核相關情況

鴻蒙Next星河版發佈,說了鴻蒙內核這個事,是自己研發的新內核,不是傳統的Linux內核

發佈會鴻蒙內核介紹

在筆者的文章:鴻蒙系統掃盲(四):鴻蒙使用的是微內核?中說到,目前L5級別的內核是還是Linux內核。可以推測出,華為內部已經開發出的鴻蒙內核,隻是目前應該還沒具備商用的程度,這個真的可以期待下!屬於中國的完全的國產內核

我們常說,看一個系統是不是真的自研,就看他們的內核,大部分所謂的自研系統,其內核都是Linux,外面套層殼包裝下。如果鴻蒙Next連內核都可以完全替換的話,那是真正意義上的自研了,因為連安卓都是Linux套殼,作為中國人可以驕傲一把了!

3.多說幾點TS和ETS語言

筆者寫了兩篇文章來說鴻蒙應用開發的語言,也有很多朋友留言,大夥對ETS和TS可能還是有點迷糊,覺得可以深入的補充幾點:

arkts語言和ts、js的關系

1)arkts是ts的超集,ts又是js的超集,不管是ts還是ets,最後都是通過編譯成js,然後由鴻蒙系統執行。

2)arkts,又叫ets,在鴻蒙應用開發的目錄中,可以看到ts和ets結尾的文件,就是項目的源代碼,ets在ts的基礎上,做了一些改進,除了上面能看到的聲明式UI的支持外,還去除了運行時動態類型轉換等耗時的操作,精簡了ts。

鴻蒙應用開發的項目結構目錄

3)關於多線程,js是單線程語言,但是實際開發過程中肯定要涉及多線程開發,所以有兩種方式:

一種是woker模型(js調用到C ,由C 去開辟線程去做)

第二種就是,ets自己搞了一個套taskpool框架,彌補了js單線程的缺憾,關於這兩個的區別,感興趣的朋友可以去看下:OpenAtom OpenHarmony

taskpool介紹

4)最後一點,因為ets是ts超集的原因,ets可以引用ts的庫,反過來就不行。所以在創建文件的時候,盡量定義成ets後綴名的文件,理清楚引用和從屬關系。

4.鴻蒙開發還可以用哪些語言?

這個大浪潮中,想轉行鴻蒙開發的,或者想為國產自主系統做貢獻的,一定都很好奇,鴻蒙開發到底支持哪幾種語言?這也是網友們問的最多的一個問題?

目前鴻蒙應用開發支持的語言

從目前來看,比較推薦大傢使用arktsC 來聯合開發,js不怎麼推薦了,因為無法使用一些新的特性!

也有網友提問:C#為啥不能作為開發語言?

c#要運行在.net框架上,這個隻有微軟的系統用,linux內核沒有相關官方的配套(民間的有),而且很重,不開源,原來對標的java,但是比java復雜,還有就是沒法用聲明式ui的語法寫,實在想不出為啥要用它,以上隻是個人觀點,華為沒用,咱也不知道為啥

關於倉頡語言:

這個能查到的公開資料非常少,我也不了解,目前來看,鴻蒙應用開發不支持倉頡。

收尾

掃盲系列到這裡就結束了,下一篇文章準備整理一下現在的鴻蒙學習資料,有哪些比較好的學習路徑呢?鴻蒙現在處於萌芽期,資料比較亂,也比較少,筆者也是希望用通俗易懂的語言,普及一下正確的知識,文中未盡之處,還請大傢多多包涵!

希望對鴻蒙敢興趣的朋友,點個收藏給個贊,你們的支持是我不斷創作的動力,帶來更多簡單樸實正確的科技知識!