0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发用什么语言?

王程 来源:jf_75796907 作者:jf_75796907 2024-01-30 16:12 次阅读

两种开发方向

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

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

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

鸿蒙应用开发

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

wKgaomW4rmiAB4sPAAERIJARqNg293.png


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

wKgaomW4nTOAapjFAAB5xkEjZug180.png


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

wKgaomW4r0aAEqBhAAO2IBeS6wU298.pngwKgaomW4r2GAeZY_AAAPksEP-GE417.png

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
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发就业前景到底怎么样?

    门槛与挑战: 鸿蒙开发需要程序员具备良好的编程语言基础, 并熟悉操作系统原理、分布式系统架构、云计算和人工智能等方面的知识。这种技术门槛虽然较高,但也为开发者提供了提升自己技术水平的机
    发表于 05-09 17:37

    鸿蒙实战项目开发:【短信服务】

    环境搭建 ​ 《鸿蒙开发基础》 ArkTS语言 安装DevEco Studio 运用你的第一个ArkTS应用 ArkUI声明式UI开发 .…… ​ 《
    发表于 03-03 21:29

    鸿蒙这么大声势,为何迟迟看不见岗位?最新数据来了

    开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 如果想转入
    发表于 02-29 20:53

    学习鸿蒙背后的价值?星河版开放如何学习?

    现在是2024年,华为在1月18开展了鸿蒙千帆起仪式发布会。宣布了鸿蒙星河版,并对开发者开放申请,此次发布会主要是说明了,鸿蒙已经是全栈自研底座,鸿
    发表于 02-22 20:55

    纯血鸿蒙系统,拿什么与安卓、iOS比?

    、数码、车载等等一系列生态闭环。 而华为鸿蒙是全栈自研底座,从AI大模型、AI框架、安全隐私、集成开发环境、设计系统、编程框体、编译器、编程语言和文件系统,到操作系统内核。去掉了传统的AOSP 代码
    发表于 02-21 21:04

    未来从事鸿蒙开发?是否会有前景?

    很多的。 鸿蒙的布局很广,对比Android、ios系统是“青出于蓝而胜于蓝”对于开发者而言可以作为近10年的发展道路。 鸿蒙开发适合人群: 0基础小白:想学一门IT
    发表于 02-19 21:31

    使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

    随着鸿蒙系统的不断完善,许多应用厂商都希望将自己的应用移植到鸿蒙平台上。最近,Taro 发布了 v4.0.0-beta.x 版本,支持使用 Taro 快速开发鸿蒙原生应用,也可将现有的
    的头像 发表于 02-02 16:09 528次阅读
    使用 Taro <b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b>原生应用 —— 快速上手,<b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>开发</b>指南

    鸿蒙不再兼容安卓,那么鸿蒙开发者是否会大增?

    鸿蒙技术,享受蓝海红利。 鸿蒙的技术技能体系是怎么的?其实鸿蒙的板块内容也是居多的,可以一张鸿蒙开发
    发表于 01-31 22:17

    鸿蒙开发教程

    去年8 月份华为发布会上,华为发布了HarmonyOS NEXT预览版,宣布不再兼容安卓应用。大家期待的纯血鸿蒙终于要来临了,next 预览版本现在已经开放申请渠道了,Next 开发者预览版本目前
    的头像 发表于 01-31 17:11 422次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>教程

    鸿蒙开发【设备开发基础知识】

    鸿蒙开发基础知识讲解
    的头像 发表于 01-29 18:44 545次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>【设备<b class='flag-5'>开发</b>基础知识】

    现在加入鸿蒙开发咋样

    现在加入鸿蒙开发咋样? 各位前辈, 现在加入鸿蒙开发还有前景吗?
    发表于 01-29 18:07

    鸿蒙开发之ArkTS基础知识

    一、ArkTS简介 ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,匹配了鸿蒙的ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让
    的头像 发表于 01-24 16:44 1166次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>之ArkTS基础知识

    鸿蒙ArkUI开发-Tabs组件的使用

    鸿蒙ArkUI开发-Tabs组件的使用
    的头像 发表于 01-19 16:01 886次阅读
    <b class='flag-5'>鸿蒙</b>ArkUI<b class='flag-5'>开发</b>-Tabs组件的使用

    免费学习鸿蒙(HarmonyOS)开发,一些地址分享

    。 分别有ArkTS语言、ArkUI声明式UI开发、Stage模型、北向和南向的开发等等鸿蒙入门到实战的内容。
    发表于 01-12 20:48

    鸿蒙 OS 应用开发初体验

    工具包 ArkTS:鸿蒙生态的应用开发语言。 JS:JavaScript Previewer:预览器 Toolchains:工具链 Create Project 配置工程 项目名称、包名、存储路径、编译
    发表于 11-02 19:38