原标题:一图看懂鸿蒙系统中的JS开发框架!

前端这两年玩起来了三国杀,Vue,React,Angular 三足鼎立,其中 Vue 派系在国内打的 Angular 找不到北了。

d586475cbf70a1fe647a5bcc31cbb91e.png

因此,小程序,uniapp 大家一起嫖,错了,是一起飘.....

好吧,华为鸿蒙的 runtime 也来了。我们都是看热闹不怕事闹的多大!!

b44a2b451494d23edf801ed5ce05dc29.png

不要担心,一切都是为了界面简单!

于是,他来了,他来了,他顶着 MVVM 模式走来了!!

MVVM 不香么?于是就有了下面的前端人人会写的 MVVM,看源码有人鄙视了,但是我看未必,大家多少相互借鉴一下,这个有错吗,没有错,年轻人,你不懂,不讲武德!

64d4887d6245d2c7b69c93697ed87387.png

js runtime 没有使用 V8,也没有使用 jscore。而是选择了 Jerry。Jerry 是用于物联网的超轻量 Java 引擎。

它能够在内存少于 64KB 的设备上执行 ECMA 5.1 源代码。这也是为什么在文档中说鸿蒙 JS 框架支持 ECMA 5.1 的原因。

从整体看这个 JS 框架大概使用了 96% 的 C/C++ 代码,1.8% 的 JS 代码。在 htm 文件中写的组件会被编译为原生组件。

而 app_style_manager.cpp 和同级的七八个文件则用来解析 css,最终生成原生布局。

虽然在 SDK 中有几个 weex 包,也发现了 react 的影子。但是在 C/C++ 代码中并没有看到 yoga 相关的内容(全局搜索没发现)。

而 SDK 中的那些包仅仅是做 loader 用的,大概是为了在 webpack 打包时解析 htm 组件用的。将 htm 的 template 编译为 js 代码。

https: //openharmony.gitee.com/

爷,记得下次再来哦,你个死鬼,嘿!!

责任编辑:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐