两种开发方向
我们常说鸿蒙开发,但是其实鸿蒙开发分为两个方向:
一个是系统级别的开发,比如驱动,内核和框架层的开发,这种开发以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文章
3884浏览量
126096 -
JAVA
+关注
关注
19文章
2916浏览量
103348 -
鸿蒙
+关注
关注
55文章
2081浏览量
42260
发布评论请先 登录
相关推荐
鸿蒙开发就业前景到底怎么样?
鸿蒙实战项目开发:【短信服务】
学习鸿蒙背后的价值?星河版开放如何学习?
纯血鸿蒙系统,拿什么与安卓、iOS比?
未来从事鸿蒙开发?是否会有前景?
使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南
![使用 Taro <b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b>原生应用 —— 快速上手,<b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>开发</b>指南](https://file1.elecfans.com//web2/M00/BF/7B/wKgZomW8oymAM8T_AAD2Uyqthhs082.png)
鸿蒙开发教程
![<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>教程](https://file1.elecfans.com/web2/M00/BF/1A/wKgZomW6DmuAd-4zAAQoLjbXW7Y454.png)
鸿蒙开发之ArkTS基础知识
![<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>之ArkTS基础知识](https://file1.elecfans.com/web2/M00/BE/20/wKgZomWwzX-AJPj6AADx7A07NIA465.png)
评论