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

HarmonyOS 應用開發賦能套件:鴻蒙原生應用開發的 “神助攻”
AIGC入門及鴻蒙入門
大語言模型開發語言是什么
Taro 鴻蒙技術內幕系列(三) - 多語言場景下的通用事件系統設計

評論