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

鸿蒙HarmonyOS开发用什么语言

1.网上流行一句有中国底蕴的话:鸿蒙系统方舟框架盘古大模型。都方舟框架了肯定主推的是ArkUI框架。其实还能使用C++、Java和Js开发。

2.从API8开始,Java语言已经从鸿蒙开发剔除了,而官方推荐的是ArkTs.下图是ArkTS与TS、JS的关系。

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

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,提升效率,同时支持自己研发的一些现代化特性,没有版权的问题,现在唯一的问题就是各大公司愿不愿意为它去适配生态了,还好的是,目前各大互联网公司已经开始适配了。
 

ets文件和ts文件有什么区别:HarmonyOS3项目扩展名ets文件和ts文件有什么区别-CSDN博客

好了就写到这吧!

你有时间常去我家看看我在这里谢谢你啦...

我家地址:亚丁号

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,

谁敢横刀立马?
惟有点赞加关注大军。

相关文章:

  • Python之PyCharm开发工具的安装与设置
  • for命令语句
  • 持久化存储 StorageClass
  • Python爬虫全解析
  • ACT、NAT、NATPT和EASY-IP
  • KafKa基本原理
  • LibreNMS:从docker出发
  • Arduino中以太网Udp通信
  • HarmonyOS NEXT:技术革新与生态挑战的交汇点
  • pytorch——豆瓣读书评价分析
  • 菜鸟学习日记(python)——匿名函数
  • 9. DashBoard
  • 使用Kaptcha实现的验证码功能
  • idea2023解决右键没有Servlet的问题
  • 智能优化算法应用:基于算术优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • python3.6+scrapy+mysql 爬虫实战
  • __proto__ 和 prototype的关系
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • CSS居中完全指南——构建CSS居中决策树
  • Quartz初级教程
  • Rancher如何对接Ceph-RBD块存储
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • Vue官网教程学习过程中值得记录的一些事情
  • Vue--数据传输
  • 番外篇1:在Windows环境下安装JDK
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 盘点那些不知名却常用的 Git 操作
  • 配置 PM2 实现代码自动发布
  • 首页查询功能的一次实现过程
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 智能网联汽车信息安全
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 仓管云——企业云erp功能有哪些?
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 说说我为什么看好Spring Cloud Alibaba
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​如何防止网络攻击?
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (六)vue-router+UI组件库
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)人的集合论——移山之道
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .gitignore文件_Git:.gitignore
  • .net Application的目录
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET Project Open Day(2011.11.13)