当前位置: 首页 > news >正文

鸿蒙系统扫盲(三):鸿蒙开发用什么语言?

1.两种开发方向

我们常说鸿蒙开发,但是其实鸿蒙开发分为两个方向:

一个是系统级别的开发,比如驱动,内核和框架层的开发,这种开发以C/C++为主

还有一个是应用级别的开发,在API7以及以下,还是支持Java的,从API8开始,只能用Arkts,js或着C++开发了,我们这篇文章重点讲下应用级别的开发。

2.鸿蒙应用开发

和安卓应用和IOS应用开发一样,鸿蒙系统也需要运行对应的生态应用,才能蓬勃发展,通过官方的DevEco的SDK Manager可以看到

从API8开始,Java语言已经从鸿蒙开发剔除了,而官方推荐的是ArkTs,那门ArkTs到底什么,它和js和ts有什么关系呢?

简单来说,是个arkTs 是TS的超集,TS是JS的超集,每个都基于前者,并且在这个基础上做了一些自己的拓展。

PS:多说一句,ArkTs愿来叫ETS,所以两者是一个东西,可以看到鸿蒙的工程文件,都是以ets结尾的,而在开源鸿蒙代码里面,还是有很多js_xxx.cpp文件,所以最后还是通过编译器编译成js,通过类似于jni(他们叫napi)的东西,调用到C++层面。

3.为什么舍弃Java

其实这个问题,我也思考了很久,但是官方没有一个说法,大胆猜测下有两个原因:

1)就像Android抛弃Java一样,怕倒时候被人告,陷入官司风波中(感兴趣的朋友可以搜索,甲骨文诉讼谷歌Java侵权之案,这里不赘述)

2)Java是一门解释性语言,必须跑JVM,就像负重跑一样,必然降低系统的流畅性,这也是Android卡的原因之一,系统完全抛弃JVM,从结构上就天然流畅多了

当然可能还有一种可能,告诉大家我都不支持Java开发了,你们不能再说我安卓套壳了吧!

4.为什么选择ets

arkUI用的是声明式的写法(现在不管是Android新出的compose还是Flutter都是这种写法),目前的js和ts不支持,还是只能用以前那种过程式的写法,至于C++纯写,C++是一门门槛比较高的语言,不适合一般开发者。

arkTS是基于TS的,TS是微软一门完全开源的语言,没有版权问题,也有一定的前端开发者。

基于上述两个原因,官方推荐用arkTS比较合适。

总结:

鸿蒙经过几年的迭代,抛弃了Java,基于TS出了一个官方推荐的ArkTS语言,甩开了JVM,提升效率,同时支持自己研发的一些现代化特性,没有版权的问题,现在唯一的问题就是各大公司愿不愿意为它去适配生态了,还好的是,目前各大互联网公司已经开始适配了。

http://www.lryc.cn/news/249345.html

相关文章:

  • linux 中vmalloc实现简述
  • homeassistant 随笔
  • 带大家做一个,易上手的家常炒鸡蛋
  • 芒格传奇落幕!生前最后一次谈论比特币,说了什么?
  • Springboot如何快速生成分页展示以及统计条数
  • 数据结构:图文详解顺序表的各种操作(新增元素,查找元素,删除元素,给指定位置元素赋值)
  • 2023 年 IntelliJ IDEA下载、安装教程,附详细图文
  • C++——解锁string常用接口
  • Stable Video Diffusion(SVD)参数使用教程
  • 【传智杯】排排队、小卡与质数 2、1024 程序员节发橙子题解
  • Oracle
  • 2023年c语言程序设计大赛
  • 9.vue3项目(九):spu管理页面的新增和修改
  • 人工智能:让生活更便捷、更智能——探讨人工智能在生活中的作用与挑战
  • 【C++】类和对象——const修饰成员函数和取地址操作符重载
  • express+mySql实现用户注册、登录和身份认证
  • 【PyTorch】(二)加载数据集
  • 如何提高3D建模技能?
  • 【前端开发】Next.js与Nest.js之间的差异2023
  • 【CAN通信】CanIf模块详细介绍
  • PS最新磨皮软件Portraiture4.1.2
  • 旋转框(obb)目标检测计算iou的方法
  • render函数举例
  • 微信小程序文件预览和下载-文件系统
  • 图解Redis适用场景
  • 掌握Python BentoML:构建、部署和管理机器学习模型
  • 西南科技大学模拟电子技术实验二(二极管特性测试及其应用电路)预习报告
  • 熟悉SVN基本操作-(SVN相关介绍使用以及冲突解决)
  • 代码随想录二刷 |字符串 |反转字符串II
  • 哪吒汽车拔头筹,造车新势力首家泰国工厂投产