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

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

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.mzph.cn/news/658746.shtml

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

相关文章

网工内推 | 网络安全工程师专场,大平台,六险一金

01 汽车之家 招聘岗位:高级网络安全工程师 职责描述: 1、负责公司网站、系统与产品的漏洞扫描、渗透测试与安全评估工作; 2、负责公司安全系统与安全设备的运维,负责公司网络安全监控管理; 3、负责公司安全事件的应急…

社区投稿|Desig质押聚合器功能,帮助用户选出更适合的质押策略

在Sui上,不同的质押协议提供收益各异的产品,因此用户面临着众多可以质押token的协议,眼花缭乱无从选择。Desig质押聚合器功能现已整合到Desig钱包扩展中,极大地简化了寻找质押策略的流程。事实上,其智能质押功能支持完…

记录:Windows上QML程序打包

0.本文修改记录 (2019-9-3) 修改了VC环境相关的内容 (2020-3-5) 修改了QML模块相关的内容 (2022-8-31)one-rabbit大佬指出打包命令的参数错误,根据文档可知:qmldir应该为exe对应项…

transformer_位置编码代码笔记

transformer_位置编码代码笔记 transformer输入的序列中,不同位置的相同词汇可能会表达不同的含义,通过考虑位置信息的不同来区分序列中不同位置的相同词汇。 位置编码有多种方式,此处仅记录正余弦位置编码 正余弦位置编码公式如下&#x…

宠物用品/宠物自动饮水机方案

宠物自动饮水机方案原理 宠物自动饮水机,也叫做智能宠物饮水机,是一种为宠物设计的智能化饮水器。应用核心主要在于智能化水泵控制,以及外围传感器电路。 宠物自动饮水机使用方便,不用频繁的换水。另外,自来水的水质可…

(6)Elastix图像配准:可视化配准工具

文章目录 前言一、配准工具1.1、基于Elastix的可视化配准工具1.1.1、elastix-napari:基于napari的Elastix图像配准1.1.2、SlicerElastix:基于3D slice的Elastix图像配准1.1.3、BIRDS:基于ImageJ的Elastix双通道图像配准 1.2、基于ITK开发的配…

微信小程序如何实现点击上传图片功能

如下所示,实际需求中常常存在需要点击上传图片的功能,上传前显示边框表面图片显示大小,上传后将图形缩放到边框大小。 实现如下: .wxml <view class="{{img_src==?blank-area:}}" style="width:100%;height:40%;display:flex;align-items: center;jus…

容器算法迭代器初识

#include<iostream> using namespace std; #include<vector> //vetor容器存放内置数据类型 void test01() {//创建了一个vector容器&#xff0c;数组 vector<int> v;//向容器中插入数据v.push_back (10);//尾插 v.push_back (20);v.push_back (30);v.push_ba…

WIN11 - WSL(Windows Subsystem for Linux) 安装教程

前言 WSL&#xff0c;即Windows Subsystem for Linux&#xff0c;是一种在Windows操作系统上运行Linux二进制文件的兼容层。该层提供了Linux环境和GNU工具&#xff0c;可以在Windows系统上运行Linux应用程序。WSL使得开发人员可以在Windows系统上使用Linux工具和命令行界面&am…

项目实战:一个基于标准库的具备最值获取的万能容器实现

目录 写在前面 需求 分析 接口设计 项目实现 一些思考与总结 致谢 写在前面 刚刚介绍了变参模板和完美转发&#xff0c;现在换一换脑子做一个小的项目实战吧。博主最近学习的是标准库&#xff0c;总体来说&#xff0c;我认为标准库中的内容是很trivial的&#xff0c;重点…

04 避免 Latch 的产生

Latch 是什么 latch 即锁存器&#xff0c;是一种对电平敏感的存储单元电路&#xff0c;和寄存器一样都是基本存储单元&#xff0c;但是寄存器是边沿触发的存储器&#xff0c;锁存器是电平触发的存储器。 组合逻辑电路和时序逻辑电路 在数字电路中将逻辑电路分成两大类&#…

Java学习笔记(十一)——常用类

一、包装类 &#xff08;一&#xff09;包装类和基本数据类型的转换 ​编辑 &#xff08;二&#xff09;包装类型和String类型的相互转换 &#xff08;三&#xff09;Integer类和Character类的常用方法 二、String &#xff08;一&#xff09;创建String对象的两种方式 …

【爬虫专区】批量下载PDF (无反爬)

天命:只要没反爬,一切都简单 这次爬取的是绿盟的威胁情报的PDF 先看一下结构,很明显就是一个for循环渲染 burp抓包会发现第二次接口请求 接口请求一次就能获取到了所有的数据 然后一个循环批量下载数据即可,其实没啥难度的 import requests,osres = requests.get("…

C++ 数论相关题目 台阶-Nim游戏

现在&#xff0c;有一个 n 级台阶的楼梯&#xff0c;每级台阶上都有若干个石子&#xff0c;其中第 i 级台阶上有 ai 个石子(i≥1 )。 两位玩家轮流操作&#xff0c;每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中&#xff08;不能不拿&#xff09;。 已经拿到地面…

鸿蒙会取代Android吗?听风就是雨

现在说取代还谈不上&#xff0c;毕竟这需要时间。安卓作为全球第一的手机操作系统&#xff0c;短时间内还无法取代。持平iOS甚至超过iOS有很大可能&#xff0c;最终会呈现“三足鼎立”有望超过安卓基数。 作为全新的鸿蒙操作系统&#xff0c;其现在已经是全栈自研底座。按照鸿…

linux --中断管理 -- irq的自动探测机制

irq自动探测机制 如果一个设备的驱动程序无法确定它说管理的设备的软件中断号irq&#xff0c;此时设备驱动程序可以使用irq的自动探测机制来获取其正在使用的irq。 使用自动探测机制的条件 内核与驱动&#xff0c;必须共同努力才能完成只限于非共享中断的情况 探测前&#…

vue3前端开发框架的安全特性,非常适合现在的市场需求

vue3前端开发框架的安全特性,非常适合现在的市场需求&#xff01;现在几乎所有的前端开发&#xff0c;都是使用的vue3做了开发。下面给大家展示一下。为什么说vue3框架自带安全特性呢。 如图&#xff0c;这个是我们在浏览器内看见的&#xff0c;渲染后的数据页面信息。很齐全。…

React中文官网已经搬迁了,原网址内容将不再更新

注意1&#xff1a;React中文官网已经搬迁至-React 官方中文文档&#xff0c;原网址内容将不再更新 注意2&#xff1a;React官网已经将React的定义由“用于构建用户界面的 JavaScript 库”更改为“用于构建 Web 和原生交互界面的库”。

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例5-5 Canvas 绘制三角形

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>Canvas 绘制三角形</title> </head><body><canvas id"cavsElem">您的浏览器不支持Canvas&#xff0c;请升级浏览器</canvas…

最快最便捷的pytest使用allure测试报告

一、前言 最近通过群友了解到了allure这个报告&#xff0c;开始还不以为然&#xff0c;但还是逃不过真香定律。 经过试用之后&#xff0c;发现这个报告真的很好&#xff0c;很适合自动化测试结果的展示。下面说说我的探索历程吧。 选用的项目为Selenium自动化测试Pytest框架…