2024年最新HarmonyOS NEXT 鸿蒙星河版亮相,系统有哪些亮点?(1),分享面经 竞争对手

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

ArkUI-X允许将ArkUI编译到Android和iOS, 类似Flutter.

ArkUI虽然使用了TypeScript, 但并非浏览器或者小程序引擎. 因为浏览器最重要的是DOM模型, 通过DOM, 浏览器将Javascript和排版引擎结合在一起.

而小程序则是借鉴了Vue等MVVM框架, 而MVVM最重要的特征就是UI与逻辑分离. 比如微信小程序使用的WXML声明UI的语法.

而ArkUI与SwiftUI、Flutter是同一类的, 采用声明式编程语言, 自始至终只有一种编程语言.

  1. 方舟编译器是一个C/C++/Java/Javascript到Native的编译器套件, 但在HarmonyOS中活跃开发的只有Javascript的编译器. 目前HarmonyOS只接受TypeScript的子集, 不允许使用Javascript的动态特征, 且TypeScript的类型参与代码生成, 并非像tsc一样抹去类型.

方舟运行时是运行ArkUI/eTS编译产物的运行时.

毕昇编译器是一个LLVM的下游发行版, 为鲲鹏CPU提供了一些优化的C/C++/Fortran编译器实现. 类似Intel的ICC, AMD的AOCC, Nvidia的NVCC, 均为LLVM的下游发行版.

  1. ArkTS是ArkUI的底层语言, 扩展了TypeScript的语法.
    仓颉没有公开, 不清楚目的和用途.

  2. EROFS是华为开发的只读文件系统, 是主线Linux支持的文件系统.

EROFS的开源协议是GPL 2.0 Only, 意味着该文件系统的当前实现如果在HarmonyOS中使用, 则必须开源.
与EROFS类似的文件系统是SquashFS

HMDFS是一个网络文件系统, 底层网络实现为软总线. 类似的文件系统为9pfs, 底层使用Plan9协议.

用户态服务器: OpenHarmony/filemanagement_dfs_service

内核态文件系统实现: OpenHarmony/kernel_linux_5.10

  1. 鸿蒙内核为传说中的微内核, 虽然有可信来源该内核开发了很久, 但至今没有开源.

但我认为鸿蒙内核仍不会在鸿蒙Next上作为REE内核使用, 而是像现在一样作为TEE OS.

TEEOS 是一个在 TrustZone 中运行的微型操作系统,适用于可信/安全应用程序。 TEEOS的内核是HongMeng/ChCore微内核。 TEEOS 的 libc 是 musl 的一部分。

TEEOS 中的应用程序非常小,没有 RwLock、没有网络、没有 stdin、也没有文件系统。

TEEOS未来会开源

目前该内核尚未开源, 但存在文档. 在OpenHarmony里这个内核又被称为OpenTrustee.

华为历史上已经开发了名为iTrustee的TEE微内核, 下图为华为在2018年拿到了某认证证书, 认证产品为iTrustee的2.0版本. 因此可以认为OpenTrustee为iTrustee的开源版本.

另一方面, OpenHarmony仍在开发相关的Linux模块(例如同样出现在PPT里的hmdfs和erofs), 如果REE系统内核不是Linux, 则完全没有必要开发对应功能的Linux版本. 如下是OpenHarmony的Linux内核模块
OpenHarmony/kernel_linux_common_modules
这些模块包括了若干OpenHarmony的功能:

  • code_sign: 强制要求ELF文件包括签名, iOS同款功能. 不过代码中显示, 打开开发者模式即可绕过该检查. 该功能使用了Linux的fsverity和SELinux功能, 实现了验证ELF文件附带的X.509证书的功能, 阻止没有签名的ELF文件运行.
  • container_escape_detection: 容器逃逸检查. 阻止容器内的进程逃出namespace. appspawn可见OpenHarmony使用了基于Linux namespace的沙箱机制.
  • memory_security: 阻止jit, iOS同款功能. 代码中显示, Web渲染进程使用了JIT, 且内核代码还把/proc/[pid]/maps里的JIT内存区域隐藏了. 非浏览器渲染进程无法使用JIT. 看起来鸿蒙系统也没有原生的火狐浏览器了.
  • newip: 一个类似于IPV4/IPV6的3层网络协议.

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

战项目、大纲路线、讲解视频,并且后续会持续更新**

需要这份系统化的资料的朋友,可以戳这里获取

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值