如何评价鸿蒙NEXT的卓易通?

发布时间:
2025-01-07 01:35
阅读量:
3

2025-1-4 18:44 更新:

被打脸了,华为真做了一套JS AOT...

从今天开始我就是菊花吹。


卓易通只是个入口,背后跑的是安卓容器。

所以这不能成为“纯国产操作系统”或者“安卓套壳”的论据,因为实际上你可以在浏览器里用WASM运行Linux虚拟机,这能代表你的浏览器成为Linux套壳吗?


接下来是一些简单的科普:

鸿蒙的应用有两种:

  • 元服务,对应小程序
  • 鸿蒙App,对应安卓App。

使用的语言是 ArkTS,本质是用 TS 做了个 DSL,最终会编译为 JS。

方舟编译器所说的支持ArkTS/TS/JS本质上是支持JS。

而方舟运行时就是魔改的QuickJS(据说2.0是JerryScript,但我看OpenHarmony里是QuickJS,不知道正式版里是什么)。

上面的东西阅读鸿蒙的文档和gitee上的源码就知道了,因为华为压根没有避讳ECMAScript和Node-API这样的字眼。


接下来是很多人关心的,鸿蒙应用是不是Web套壳。

元服务我不清楚,至少鸿蒙App不是,真正的web套壳,比如小程序,渲染用的就是webview。

而鸿蒙的渲染是自己做的,中间经历了几次变化,现在已经和2020年那个ppt没啥关系了。

一开始是调aosp,后来换成了skia,现在又在逐步替换成自己用C++写的渲染引擎。


鸿蒙App会跑一个完整的JS runtime,我觉得这应该没什么争议。

方舟编译器的产物是字节码,不是机器码,不是机器码,不是机器码,重要的事情说三遍。

什么方舟编译器只是借鉴了 TS 的语法,最终会让 type 参与编译,以至于直接aot出机器码的都是无稽之谈。

因为OpenHarmony里一大堆库都是拿npm的纯JS库套了一层,而这些库都是可以在鸿蒙App里直接用的。

OpenHarmony三方库中心仓

我觉得我已经很客观了,如果菊花可以做到一个编译器把JS和TS混编出机器码,那菊花的编译器造诣已经是世界第一了。

微软:路遇强者,拼尽全力也无法战胜.jpg
END