1.兩種開發(fā)方向
我們常說鴻蒙開發(fā),但是其實鴻蒙開發(fā)分為兩個方向:
一個是系統(tǒng)級別的開發(fā),比如驅動,內(nèi)核和框架層的開發(fā),這種開發(fā)以C/C++為主
還有一個是應用級別的開發(fā),在API7以及以下,還是支持Java的,從API8開始,只能用Arkts,js或著C++開發(fā)了,我們這篇文章重點講下應用級別的開發(fā)。
2.鴻蒙應用開發(fā)
和安卓應用和IOS應用開發(fā)一樣,鴻蒙系統(tǒng)也需要運行對應的生態(tài)應用,才能蓬勃發(fā)展,通過官方的DevEco的SDK Manager可以看到
從API8開始,Java語言已經(jīng)從鴻蒙開發(fā)剔除了,而官方推薦的是ArkTs,那門ArkTs到底什么,它和js和ts有什么關系呢?
簡單來說,是個arkTs 是TS的超集,TS是JS的超集,每個都基于前者,并且在這個基礎上做了一些自己的拓展。
PS:多說一句,ArkTs愿來叫ETS,所以兩者是一個東西,可以看到鴻蒙的工程文件,都是以ets和ts結尾的,而在開源鴻蒙代碼里面,還是有很多js_xxx.cpp文件,所以最后還是通過編譯器編譯成js,通過類似于jni(他們叫napi)的東西,調(diào)用到C++層面。
3.為什么舍棄Java
其實這個問題,我也思考了很久,但是官方?jīng)]有一個說法,大膽猜測下有兩個原因:
1)就像Android拋棄Java一樣,怕倒時候被人告,陷入官司風波中(感興趣的朋友可以搜索,甲骨文訴訟谷歌Java侵權之案,這里不贅述)
2)Java是一門解釋性語言,必須跑JVM,就像負重跑一樣,必然降低系統(tǒng)的流暢性,這也是Android卡的原因之一,系統(tǒng)完全拋棄JVM,從結構上就天然流暢多了
當然可能還有一種可能,告訴大家我都不支持Java開發(fā)了,你們不能再說我安卓套殼了吧!
4.為什么選擇ets
arkUI用的是聲明式的寫法(現(xiàn)在不管是Android新出的compose還是Flutter都是這種寫法),目前的js和ts不支持,還是只能用以前那種過程式的寫法,至于C++純寫,C++是一門門檻比較高的語言,不適合一般開發(fā)者。
arkTS是基于TS的,TS是微軟一門完全開源的語言,沒有版權問題,也有一定的前端開發(fā)者。
基于上述兩個原因,官方推薦用arkTS比較合適。
總結:
鴻蒙經(jīng)過幾年的迭代,拋棄了Java,基于TS出了一個官方推薦的ArkTS語言,甩開了JVM,提升效率,同時支持自己研發(fā)的一些現(xiàn)代化特性,沒有版權的問題,現(xiàn)在唯一的問題就是各大公司愿不愿意為它去適配生態(tài)了,還好的是,目前各大互聯(lián)網(wǎng)公司已經(jīng)開始適配了。文章來源:http://www.zghlxwxcb.cn/news/detail-755943.html
后續(xù):
感謝一些朋友的提問和指正,后面又寫了一篇作為本篇文章的補充:鴻蒙系統(tǒng)掃盲(五):再談鴻蒙開發(fā)用什么語言?文章來源地址http://www.zghlxwxcb.cn/news/detail-755943.html
到了這里,關于鴻蒙系統(tǒng)掃盲(三):鴻蒙開發(fā)用什么語言?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!