对于鸿蒙的一点见解
周五我在東莞出差,下班后看了開發(fā)者大會的視頻回放,回到酒店,我跟鄧總說,我們今天不要拍視頻,也不要打王者了,你給我下鴻蒙的代碼來看看,然后,那天晚上我們都沒有上線王者,鄧總把代碼下載后研究了3個小時。
后面我跟韋老師聊了下,韋老師是參與鴻蒙開發(fā)的,他很興奮,也很開心,這因為鴻蒙有一部分的心血也是來自于他,然后他跟我說「先這樣吧,我晚上要把鴻蒙移植到我們的開發(fā)板上」,然后,那天晚上大家都看到韋老師發(fā)的那個朋友圈,鴻蒙移植成功,做嵌入式開發(fā)的人都懂,調(diào)通一個東西后,那種愉悅和放松的心情,總是想伸個懶腰休息一下。
對我而言,我對鴻蒙期待不是很大,而且我是覺得鴻蒙在一定程度上是需要吹牛的「之前的那個發(fā)布會是需要吹牛,但是這次的這個,能看到鴻蒙需要大家一起的努力的」,這點上,希望我是錯誤的,因為韋老師告訴我,參與鴻蒙開發(fā)的人,在國內(nèi)都是屬于頂尖的。
但是,鴻蒙依然會遇到一些問題,這些問題可能不僅僅是技術(shù)就可能解決的。
鴻蒙對標的是安卓系統(tǒng),而且鴻蒙為了兼容現(xiàn)在的設(shè)備,鴻蒙一定需要兼容安卓的某些特性「比如adb」,要不然現(xiàn)在的所有設(shè)備使用上就有問題。
OS和內(nèi)核是兩個東西,鴻蒙的內(nèi)核可以是Linux,也可以是華為自己開發(fā)的內(nèi)核,看代碼命名是Liteos_a,這個是一個實時內(nèi)核,實時內(nèi)核和非實時內(nèi)核有非常明顯的區(qū)分,我們正常使用的windows,Linux等都是分時系統(tǒng),每個任務(wù)都有一個時間片,實時系統(tǒng)調(diào)度算法和分時系統(tǒng)是不同的,像嵌入式系統(tǒng)freertos,rtt是實時系統(tǒng)。從這里隱約可以看出來華為的對手并不是Linux。
----?舉例子
一年級的小明,每天都在努力跑步,并宣稱說,我要打敗那個三年級的大雄,然后等過了幾天,小明對同班的小花說,我要打敗的人是你,在一年級這個班級,我才是真正的老大。
ps:Linux內(nèi)核也可以打上實時補丁。
---- 如果鴻蒙VS安卓
安卓開發(fā)的應用需要重新開發(fā),這部分不僅需要華為方面的努力,還需要產(chǎn)品公司的人去學習鴻蒙的api,一款應用可能需要ios、安卓、鴻蒙三個系統(tǒng)的開發(fā)人員,因為現(xiàn)在世面上的鴻蒙手機還沒有,所以這個技術(shù)積累還是很少的。
---- 廠商愿意不愿意使用鴻蒙,這個才是最大的問題。
我們知道,手機芯片原廠釋放芯片的同時也會釋放SDK包,如果需要占領(lǐng)手機市場,那就需要搞定這些芯片原廠,適配他們的芯片,適配他們的外設(shè),雖然安卓發(fā)展到現(xiàn)在已經(jīng)很多個版本了,但是依然每天有很多問題需要解決。
安卓發(fā)展到現(xiàn)在,也出現(xiàn)了很多新穎有用的特性,比如我之前在視頻里面提到的,Android 9之后有一個特性「就是不需要關(guān)閉WIFI也能打開手機熱點」,這是一個非常有效而且有用的功能,這個功能可以讓信號覆蓋不到的地方組網(wǎng),而且安卓的很多現(xiàn)有特性對用戶來說是非常重要的,用戶會為了鴻蒙而拋棄體驗嗎?
鴻蒙想達到安卓,我覺得路子還是非常長。但是Liteos是非常值得期待的。
因為Liteos要打的可能不是Linux而是一些嵌入式RTOS,比如Freertos。
但是這也會遇到同樣的問題,芯片廠商愿意不愿意花精力和心思去做這個事情,比如說Nordic,這個是一個非常典型的藍牙芯片,它有自己的app,協(xié)議棧,如果讓他們在他們的芯片上重新開發(fā)Liteos,不管從穩(wěn)定性,可量產(chǎn)性,都還是未知的。
我之前做的ESP32,用的是Freertos,如果Liteos想占領(lǐng)IOT市場,就需要在這方面下功夫,比如讓廠商在芯片上移植Liteos,相對于搞定高通這樣的芯片廠商,搞定樂鑫這樣的國產(chǎn)芯片相對容易多了。
鴻蒙的出來,在學生和開發(fā)者之中是比較轟動的,學生和開發(fā)者都喜歡大牛,喜歡新鮮的技術(shù),而且學生和開發(fā)者大部分有情懷,但是鴻蒙想靠開發(fā)者和學生去一統(tǒng)江湖,有困難,因為資源在廠商手里,不是在開發(fā)者和學生手機。但開發(fā)者和學生的作用卻很大,他們可以移植Liteos到不同的芯片上去,擴大Liteos的使用,提升Liteos的穩(wěn)定性和擴展性。
13年,那時候,平板行業(yè)非常火熱,然后也有一家國內(nèi)大企業(yè)想吃一下這塊蛋糕,跟方案公司合作,但是后來沒有量產(chǎn),一個原因是芯片原廠技術(shù)支持不到位,出現(xiàn)的問題比較多,做產(chǎn)品跟做技術(shù)不一樣,做產(chǎn)品的周期非常短,不可能原地等待原廠研究很長時間。
----為啥Liteos使用駝峰命名?
這個就是一個習慣的問題,并不能說誰好誰不好,但是如果以前看Linux代碼都是下劃線的形式,突然變成大寫,第一感覺就是有點奇怪。
縮進方式用空格縮進我覺得這是一個提升,tab鍵因為在不同的軟件中會顯示不同,總是需要設(shè)置才能顯示正常,也算是制定了好的標準。
---- 中文注釋
在每個文件的前面,會有一串英文解釋這段代碼的作用,有點疑問,為什么不直接寫成中文。畢竟中文的話,閱讀起來會相對輕松一些。
----?其他
其他也說不出個所以然,大家看到鴻蒙應該都會有自己的看法,也想知道要不要跟著華為走,現(xiàn)在要不要開始學習鴻蒙,我覺得這些都是太過于著急了。
那天直播結(jié)束,我們就聯(lián)系了一個朋友,說要買點海思的芯片,得到的消息是芯片已經(jīng)是斷貨狀態(tài),我猜測,可能已經(jīng)有人開始操作了。
看代碼可以看到其實很多技術(shù)是相通的,而且因為是中國人維護和開發(fā),文檔和交流上會方便很多,我覺得沒必要緊張,該怎么學習還是怎么學習,至少我覺得可以說明一點,到目前位置,脫離C語言來寫內(nèi)核還不太現(xiàn)實,好好學習C語言,學習操作系統(tǒng),不說其他的,學習51單片機也差不到哪里去。
總結(jié)
- 上一篇: servlet笔试题java,Java推
- 下一篇: 我的丈母娘