兩種開發(fā)方向
我們常說鴻蒙開發(fā),但是其實(shí)鴻蒙開發(fā)分為兩個方向:
一個是系統(tǒng)級別的開發(fā),比如驅(qū)動,內(nèi)核和框架層的開發(fā),這種開發(fā)以C/C++為主
還有一個是應(yīng)用級別的開發(fā),在API7以及以下,還是支持Java的,從API8開始,只能用Arkts,js或著C++開發(fā)了,我們這篇文章重點(diǎn)講下應(yīng)用級別的開發(fā)。
鴻蒙應(yīng)用開發(fā)
和安卓應(yīng)用和IOS應(yīng)用開發(fā)一樣,鴻蒙系統(tǒng)也需要運(yùn)行對應(yīng)的生態(tài)應(yīng)用,才能蓬勃發(fā)展,通過官方的DevEco的SDK Manager可以看到
從API8開始,Java語言已經(jīng)從鴻蒙開發(fā)剔除了,而官方推薦的是ArkTs,那門ArkTs到底什么,它和js和ts有什么關(guān)系呢?
簡單來說,是個arkTs 是TS的超集,TS是JS的超集,每個都基于前者,并且在這個基礎(chǔ)上做了一些自己的拓展。
PS:多說一句,ArkTs原來叫ETS,所以兩者是一個東西,可以看到鴻蒙的工程文件,都是以ts和ets結(jié)尾的,而在開源鴻蒙代碼里面,還是有很多js_xxx.cpp文件,所以最后還是通過編譯器編譯成js,通過類似于jni(他們叫napi)的東西,調(diào)用到C++層面。
為什么舍棄Java
其實(shí)這個問題,我也思考了很久,但是官方?jīng)]有一個說法,大膽猜測下有兩個原因:
1)就像Android拋棄Java一樣,怕倒時候被人告,陷入官司風(fēng)波中(感興趣的朋友可以搜索,甲骨文訴訟谷歌Java侵權(quán)之案,這里不贅述)
2)Java是一門解釋性語言,必須跑JVM,就像負(fù)重跑一樣,必然降低系統(tǒng)的流暢性,這也是Android卡的原因之一,系統(tǒng)完全拋棄JVM,從結(jié)構(gòu)上就天然流暢多了
當(dāng)然可能還有一種可能,告訴大家我都不支持Java開發(fā)了,你們不能再說我安卓套殼了吧!
為什么選擇ets
arkUI用的是聲明式的寫法(現(xiàn)在不管是Android新出的compose還是Flutter都是這種寫法),目前的js和ts不支持,還是只能用以前那種過程式的寫法,至于C++純寫,C++是一門門檻比較高的語言,不適合一般開發(fā)者。
arkTS是基于TS的,TS是微軟一門完全開源的語言,沒有版權(quán)問題,也有一定的前端開發(fā)者。
基于上述兩個原因,官方推薦用arkTS比較合適。
總結(jié):
鴻蒙經(jīng)過幾年的迭代,拋棄了Java,基于TS出了一個官方推薦的ArkTS語言,甩開了JVM,提升效率,同時支持自己研發(fā)的一些現(xiàn)代化特性,沒有版權(quán)的問題,現(xiàn)在唯一的問題就是各大公司愿不愿意為它去適配生態(tài)了,還好的是,目前各大互聯(lián)網(wǎng)公司已經(jīng)開始適配了。
審核編輯 黃宇
-
Android
+關(guān)注
關(guān)注
12文章
3973瀏覽量
130269 -
JAVA
+關(guān)注
關(guān)注
20文章
2989瀏覽量
109776 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2620瀏覽量
44063
發(fā)布評論請先 登錄
【HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實(shí)踐

2025開源鴻蒙開發(fā)者大會圓滿落幕
DevEco Studio AI輔助開發(fā)工具兩大升級功能 鴻蒙應(yīng)用開發(fā)效率再提升
鴻蒙北向開發(fā)OpenHarmony5.0 DevEco Studio開發(fā)工具安裝與配置

HarmonyOS 應(yīng)用開發(fā)賦能套件:鴻蒙原生應(yīng)用開發(fā)的 “神助攻”
用MATLAB或者C語言開發(fā)FPGA有什么問題嗎
AIGC入門及鴻蒙入門
AKI跨語言調(diào)用庫神助攻C/C++代碼遷移至HarmonyOS NEXT
大語言模型開發(fā)框架是什么
大語言模型開發(fā)語言是什么
鴻蒙機(jī)器人與鴻蒙開發(fā)板聯(lián)動演示
Taro 鴻蒙技術(shù)內(nèi)幕系列(三) - 多語言場景下的通用事件系統(tǒng)設(shè)計(jì)

評論