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

news/2024/7/21 11:36:54 标签: harmonyos, 华为

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

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.niftyadmin.cn/n/5354770.html

相关文章

QEMU - e1000全虚拟化前端与TAP/TUN后端流程简析

目录 1. Host -> Guest 2.Guest ->Host 3. 如何修改以支持TUN设备的后端? 4. 相关 QEMU 源码 5. 实验 1. Host -> Guest 2.Guest ->Host 3. 如何修改以支持TUN设备的后端? 1. 简单通过后端网卡名字来判断是TUN还是TAP。 2. 需要前端全…

npm 以组织为单位发布依赖包(@username/package-name、@org-name/package-name)

示例: ant-design/aliyun-theme ant-design/antd-theme-variable ant-design/charts // ...1. 注册组织 在官网注册相应的组织,npmjs.com 以个人账号登录。点击头像找到 Add Organization,填写相关信息,创建完成。 2. 发布 首…

NonDefUseDependency及例子

在研究ReassociatePass的优化时,我发现了其中有一个函数bool llvm::mayHaveNonDefUseDependency(const Instruction &I) {,这个函数会判断一个指令是否是不可优化的,也即是否是可能会造成NonDefUseDependency的。 潜在的非定义使用依赖关…

数学知识第六期 中国剩余定理

前言 中国剩余定理也要学好的哈,共勉!!! 一、中国剩余定理的介绍 中国剩余定理释义:又称“孙子定理”。1852年,英国来华传教士伟烈亚力将《孙子算经》中“物不知数”问题的解法传至欧洲。1874年&#xff…

JZ15 二进制中1的个数(牛客)(C语言)

个人博客主页:https://blog.csdn.net/2301_79293429?typeblog 专栏:https://blog.csdn.net/2301_79293429/category_12545690.html 该题我为笨办法,与题解不同,如有疑问和见解,欢迎大家在评论区提出 题目链接: 二进制中1的个数_牛客题霸_牛客网 (now…

java8 Duration类学习

Duration类 官网地址 基于时间的时间量,例如“34.5秒”。 此类以秒和纳秒为单位对时间的量或量进行建模。它可以使用其他基于持续时间的单位访问,如分钟和小时。此外,可以使用DAYS单位,并将其视为完全等于24小时,从…

07.领域驱动设计:掌握整洁架构、六边形架构以及3种常见微服务架构模型的对比和分析

目录 1、概述 2、整洁架构 3、六边形架构 4、三种微服务架构模型的对比和分析 5、从三种架构模型看中台和微服务设计 5.1 中台建设要聚焦领域模型 5.2 微服务要有合理的架构分层 5.2.1 项目级微服务 5.2.2 企业级中台微服务 5.3 应用和资源的解耦与适配 6、总结 1、概…

​学者观察 | 区块链技术理论研究与实践观察——中央财经大学朱建明

导语 当下区块链研究成果质量越来越高,技术应用越来越成熟。在现阶段的研究中存在哪些短板需要弥补,如何将研究成果转化为推动数字经济高质量发展的实际应用,区块链技术与其他新技术结合发展将带来哪些新的机遇? 中央财经大学朱…