HarmonyOS NEXT 鸿蒙星河版亮相,将在 2024 年四季度正式商用,该系统有哪些亮点?
1月18日,华为在深圳举行“鸿蒙生态千帆启航”发布会,正式发布,宣布HarmonyOS NEXT鸿蒙星河版面向开发者开放申请。
先分析一下这个表. (本回答不含通稿, 也不含无脑吹/无脑黑, 大家放心阅读)
ArkUI是开源软件:
ArkUI-X允许将ArkUI编译到Android和iOS, 类似Flutter.
ArkUI虽然使用了TypeScript, 但并非浏览器或者小程序引擎. 因为浏览器最重要的是DOM模型, 通过DOM, 浏览器将Javascript和排版引擎结合在一起.
而小程序则是借鉴了Vue等MVVM框架, 而MVVM最重要的特征就是UI与逻辑分离. 比如微信小程序使用的WXML声明UI的语法.
而ArkUI与SwiftUI、Flutter是同一类的, 采用声明式编程语言, 自始至终只有一种编程语言.
6. 方舟编译器是一个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的下游发行版.
7. ArkTS是ArkUI的底层语言, 扩展了TypeScript的语法.
仓颉没有公开, 不清楚目的和用途.
8. EROFS是华为开发的只读文件系统, 是主线Linux支持的文件系统.
EROFS的开源协议是GPL 2.0 Only, 意味着该文件系统的当前实现如果在HarmonyOS中使用, 则必须开源.
与EROFS类似的文件系统是SquashFS
HMDFS是一个网络文件系统, 底层网络实现为软总线. 类似的文件系统为9pfs, 底层使用Plan9协议.
用户态服务器: OpenHarmony/filemanagement_dfs_service
内核态文件系统实现: OpenHarmony/kernel_linux_5.10
9. 鸿蒙内核为传说中的微内核, 虽然有可信来源该内核开发了很久, 但至今没有开源.
但我认为鸿蒙内核仍不会在鸿蒙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的功能:
所以, HarmonyOS Next大概率是一个基于Linux内核, 只能从应用商店安装App, 提供有限的侧载支持, 不支持Android应用, 不允许使用JIT, 不允许root的类似于iOS的移动操作系统.
最后,为了能够让大家跟上互联网时代的技术迭代,赶上互联网开发人员寒冬期间一波红利,在这里跟大家分享一下我自己近期学习心得以及参考网上资料整理出的一份最新版的鸿蒙学习提升资料,有需要的小伙伴自行领取,限时开源,先到先得~