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

2024-01-31 09:28

本文主要是介绍鸿蒙系统扫盲(七):勘误补充总结,收个尾,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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.chinasem.cn/article/663285

相关文章

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自