鸿蒙系统扫盲(七):勘误补充总结,收个尾

news2024/9/24 5:25:57

这是笔者鸿蒙扫盲系列的最后一篇了,准备对过去的六篇扫盲系列文章,错误的地方做一些勘误,并且补充更新一些朋友们感兴趣的知识,最后收个尾。

1.勘误,编译型语言和解释型语言

在鸿蒙系统扫盲(五):再谈鸿蒙开发用什么语言?中,有这样一句话

“而解释型语言的代表就是耳熟能详的C/C++、Rust,以及IOS应用的开发语言,Object-C、Swift等。”

这句话写错了,感谢LLLNg这位朋友的指出,上面说的几种,他们都是编译型语言,不是解释型语言,那时候想着解释型语言和编译型语言,手脑不统一,写错了,上面的几种语言,执行效率都非常高,所以不可能是解释性语言,特别勘误!

2.鸿蒙内核相关情况

鸿蒙Next星河版发布,说了鸿蒙内核这个事,是自己研发的新内核,不是传统的Linux内核

发布会鸿蒙内核介绍

在笔者的文章:鸿蒙系统扫盲(四):鸿蒙使用的是微内核?中说到,目前L5级别的内核是还是Linux内核。可以推测出,华为内部已经开发出的鸿蒙内核,只是目前应该还没具备商用的程度,这个真的可以期待下!属于中国的完全的国产内核

我们常说,看一个系统是不是真的自研,就看他们的内核,大部分所谓的自研系统,其内核都是Linux,外面套层壳包装下。如果鸿蒙Next连内核都可以完全替换的话,那是真正意义上的自研了,因为连安卓都是Linux套壳,作为中国人可以骄傲一把了!

3.多说几点TS和ETS语言

笔者写了两篇文章来说鸿蒙应用开发的语言,也有很多朋友留言,大伙对ETS和TS可能还是有点迷糊,觉得可以深入的补充几点:

arkts语言和ts、js的关系

1)arkts是ts的超集,ts又是js的超集,不管是ts还是ets,最后都是通过编译成js,然后由鸿蒙系统执行。

2)arkts,又叫ets,在鸿蒙应用开发的目录中,可以看到ts和ets结尾的文件,就是项目的源代码,ets在ts的基础上,做了一些改进,除了上面能看到的声明式UI的支持外,还去除了运行时动态类型转换等耗时的操作,精简了ts。

鸿蒙应用开发的项目结构目录

3)关于多线程,js是单线程语言,但是实际开发过程中肯定要涉及多线程开发,所以有两种方式:

一种是woker模型(js调用到C++,由C++去开辟线程去做)

第二种就是,ets自己搞了一个套taskpool框架,弥补了js单线程的缺憾,关于这两个的区别,感兴趣的朋友可以去看下:OpenAtom OpenHarmony

taskpool介绍

4)最后一点,因为ets是ts超集的原因,ets可以引用ts的库,反过来就不行。所以在创建文件的时候,尽量定义成ets后缀名的文件,理清楚引用和从属关系。

4.鸿蒙开发还可以用哪些语言?

这个大浪潮中,想转行鸿蒙开发的,或者想为国产自主系统做贡献的,一定都很好奇,鸿蒙开发到底支持哪几种语言?这也是网友们问的最多的一个问题?

目前鸿蒙应用开发支持的语言

从目前来看,比较推荐大家使用arktsC++来联合开发,js不怎么推荐了,因为无法使用一些新的特性!

也有网友提问:C#为啥不能作为开发语言?

c#要运行在.net框架上,这个只有微软的系统用,linux内核没有相关官方的配套(民间的有),而且很重,不开源,原来对标的java,但是比java复杂,还有就是没法用声明式ui的语法写,实在想不出为啥要用它,以上只是个人观点,华为没用,咱也不知道为啥

关于仓颉语言:

这个能查到的公开资料非常少,我也不了解,目前来看,鸿蒙应用开发不支持仓颉。

收尾

扫盲系列到这里就结束了,下一篇文章准备整理一下现在的鸿蒙学习资料,有哪些比较好的学习路径呢?鸿蒙现在处于萌芽期,资料比较乱,也比较少,笔者也是希望用通俗易懂的语言,普及一下正确的知识,文中未尽之处,还请大家多多包涵!

希望对鸿蒙敢兴趣的朋友,点个收藏给个赞,你们的支持是我不断创作的动力,带来更多简单朴实正确的科技知识!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单片机学习笔记---定时器计数器(含寄存器)工作原理介绍(详解篇2)

目录 T1工作在方式2时 T0工作在方式3时 四种工作方式的总结 定时计数器对输入信号的要求 定时计数器对的编程的一个要求 关于初值计算的问题 4种工作方式的最大定时时间的大小 关于编程方式的问题 实例分析 实例1 实例2 T1工作在方式2时 51单片机,有两个…

全新开源AI代码工具诞生!超越谷歌DeepMind旗下AlphaCode

‍ 听说,谷歌DeepMind开发出的AlphaCode,和上个月刚刚由Gemini推出的AlphaCode 2两位“老大哥”被超越了? 没错,全新开源人工智能代码生成工具AlphaCodium,诞生了! 其开发不得不说受到了两位老大哥的启发…

MySQL行格式原理深度解析

MySQL中的行格式(Row Format)是指存储在数据库表中的数据的物理格式。它决定了数据是如何在磁盘上存储的,以及如何在查询时被读取和解析的。MySQL支持多种行格式,每种格式都有其特定的优点和适用场景。 提升编程效率的利器: 解析…

vector(顺序表)

vector容器就相当于一个顺序表&#xff0c;只不过他把一些功能分装到了容器里 常用接口及语法 构造&#xff1a;vectro<数据类型> 对象名 输出&#xff1a;和顺序表一样我们需要遍历打印&#xff0c;而不能直接用cout打印 对象.push_back () 尾插 对象.pop_back() 尾删…

3款最好用的tron钱包解读:TronLink,Ledger,Bitget钱包

电子钱包是用户连接到区块链网络的重要媒介。除了接收和发送功能外&#xff0c;它还可用于传输虚拟货币。它也是使用分散应用程序&#xff08;DApp&#xff09;的必要工具&#xff01;无论您是想在ON上使用以太坊&#xff0c;EOS还是任何DApp&#xff0c;您都必须先拥有钱包。因…

springboot2.7继承swagger knif4j

maven pom依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.4.0</version></dependency> yml配置 knife4j:enable: trueopenapi:title: …

C++ 入门(二)— 基础知识

文章目录 语句和程序的结构对象和变量变量赋值和初始化cout、cin 和 endl 语句和程序的结构 语句 语句是迄今为止 C 程序中最常见的指令类型。这是因为它们是 C 语言中最小的独立计算单元。在这方面&#xff0c;它们的行为很像自然语言中的句子。 C 中的大多数&#xff08;但…

在Windows11的WSL上运行Llama2-7b-chat 上

最近在玩大模型&#xff0c;玩了ChatGLM3感觉不过瘾&#xff0c;又去玩了Llama2&#xff08;在Windows上简直难的离谱&#xff09;&#xff0c;下边我讲为大家讲一下我的心路历程。 心路历程 第一天&#xff1a;GLM那么简单&#xff0c;有手就行啊&#xff0c;最近Llama2开源…

Android中下载 HAXM 报错 Intel® HAXM installation failed,如何解决?

最近在搭建 Flutter 环境&#xff0c;但是在 Android Studio 中安装 Virtual Device 时&#xff0c;出现了一个 问题 Intel HAXM installation failed. To install Intel HAXM follow the instructions found at: https://github.com/intel/haxm/wiki/Installation-Instructio…

ES6.8.6 Java客户端发起 增删改查 query (bool)、update、delete

文章目录 环境测试数据增单个新增批量新增 删通过delete by api删除通过delete by query api删除删除索引中指定字段&#xff08;script&#xff09; 改单个修改update by api通过_bulk批量修改批量修改update by query api使用script脚本修改 查完全匹配&#xff08;term&…

Linux:进程信号

文章目录 信号的概念实践信号关于前台和后台进程的操作 操作系统与外设信号的产生 前面的篇章结束了信号量的话题&#xff0c;那么接下来引入的是信号的话题&#xff0c;信号和信号量之间没有任何关系&#xff0c;只是名字比较像 信号的概念 在生活中存在各种各样的信号&…

【游戏服务器部署】幻兽帕鲁服务器一键部署保姆级教程,游戏私服还是自己搭建的香

在帕鲁的世界&#xff0c;你可以选择与神奇的生物「帕鲁」一同享受悠闲的生活&#xff0c;也可以投身于与偷猎者进行生死搏斗的冒险。帕鲁可以进行战斗、繁殖、协助你做农活&#xff0c;也可以为你在工厂工作。你也可以将它们进行售卖&#xff0c;或肢解后食用。—幻兽帕鲁 想要…

【Linux】压缩脚本、报警脚本

一、压缩搅拌 要求&#xff1a; 写一个脚本&#xff0c;完成如下功能 传递一个参数给脚本&#xff0c;此参数为gzip、bzip2或者xz三者之一&#xff1b; (1) 如果参数1的值为gzip&#xff0c;则使用tar和gzip归档压缩/etc目录至/backups目录中&#xff0c;并命名为/backups/etc…

【新书推荐】4.1节 数值编码规则

本节内容&#xff1a;不同进制数据的编码规则。 ■数值数据的编码规则&#xff1a;二进制数、十六进制数和十进制数&#xff0c;以及无符号整数和有符合整数的编码规则。 ■基本数据类型&#xff1a;编译器指定的数据类型为基本数据类型。汇编器MASM5.0指定的基本数据类型有BYT…

HubSpot社交媒体影响力怎么样?

HubSpot是一家在数字营销和销售领域非常知名的公司&#xff0c;以其全面的营销、销售和客户服务软件而闻名。然而&#xff0c;关于HubSpot在社交媒体上的具体影响力&#xff0c;这是一个动态的情况&#xff0c;因为社交媒体的影响力可能受到多种因素的影响&#xff0c;包括社交…

yarn 现代的包管理工具 介绍

一、前言 yarn 是一个现代的包管理工具&#xff0c;它是 npm&#xff08;Node Package Manager&#xff09;的一个替代品。yarn 由 Facebook 开发&#xff0c;并在 2016 年发布。它解决了当时 npm 的一些问题&#xff0c;尤其是在性能和安全性方面。 yarn 主要用于以下几个方面…

利用操作符解题的精彩瞬间(上)

下面是链接为了解释练习2的并且还有与操作符相关的知识。 C语言与操作符相关的经典例题-CSDN博客 操作符详解&#xff08;上&#xff09;-CSDN博客 操作符详解&#xff08;下&#xff09;-CSDN博客 目录 练习1&#xff1a;在一个整型数组中&#xff0c;只有一个数字出现一…

SpringCloud微服务常见问题

1 微服务 返回面试宝典 问题1 SpringCloud常见组件有哪些&#xff1f; SpringCloud包含的组件很多&#xff0c;有很多功能是重复的&#xff0c;其中最常见的组件包括&#xff1a; 注册中心组件&#xff1a;Eureka、Nacos等&#xff1b;负载均衡组件&#xff1a;Ribbon&…

面试题 02.07. 链表相交(力扣LeetCode)

文章目录 面试题 02.07. 链表相交题目描述解题思路c代码优化后c代码 面试题 02.07. 链表相交 题目描述 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 …

【Linux】—— 信号的产生

本期&#xff0c;我们今天要将的是信号的第二个知识&#xff0c;即信号的产生。 目录 &#xff08;一&#xff09;通过终端按键产生信号 &#xff08;二&#xff09;调用系统函数向进程发信号 &#xff08;三&#xff09;由软件条件产生信号 &#xff08;四&#xff09;硬件…