React Native开发经验集程序员React Native开发

极速开发 react — reason 1

2019-03-07  本文已影响18人  zidea

大家都知道 react 是 facebook 的产品,而 angular 是 google 产品,angular 是用 typescript 来编写,通过 typescript 这个 javascript 超级是 angular 可以轻松地胜任开发大型应用。而且形成自己生态,自己语言自己框架。所以 facebook 可能也不甘示弱,准备用一门其他语言高效写出稳定可靠的 javascript 语言。
最终选择了这个有了 20 多年历史的语言 ocaml, 估计很多人连听都过这门语言。这是一门函数式编程的语言。但是 ocaml 是无法运行在浏览器上的,而且需要对前端那些熟悉 javascript 的程序员友好。为了解决这些问题,请看下图

rn001.JPG

这么三个相对独立的语言和工具,他们之间的关系又是怎么建立起来的呢?
我们通过分析 Ocaml 编译器来看一看是如何将他们整合到一起的。

rn002.JPG

了解 ocaml 的整个编译过程,那么我们的 reason 和 bs 出现在哪个阶段呢?


rn003.JPG

reason 出现在 untyped AST 这个编译阶段,通过一些预处理让我们源码可以解析成 AST 支持一些新语法的特性

rn005.JPG

BuckleScript 将使用无类型的 IR 进行编译为可以高效执行的 javascript 而不是字节码和机器码

BuckleScript 的神奇之处编译的 javascript 可能比你这的还好。计算机更喜欢函数式编程。让我们拥抱机器,学一点稍微难于理解但是高效的函数式编程吧

上一篇下一篇

猜你喜欢

热点阅读