Open SyMind opened 3 years ago
原文:https://agent-hunt.medium.com/react-is-also-the-llvm-for-creating-declarative-ui-frameworks-767e75ce1d6a
『LLVM 项目是一个模块化的、可重用的编译器和工具链技术的集合。』LLVM 使创建编程语言变得容易。
当我们初次遇到 React 时,它是作为一个用于构建用户界面的 JavaScript 库被引入的。当你深入研究其内部原理后,React 也可以被称为创建声明式 UI 框架的 LLVM。它使得创建自己的声明式 UI 框架变得容易。
如果您问为什么要构建声明式 UI,那是因为声明式代码更容易编写、阅读、管理和调试或几乎不调试。手动管理 UI 的更新很麻烦而且容易出错,而像 React 这样的工具在这方面做得更好。
React 最初是面向 Web 应用的。很快我们便发现这些理念不仅适用于 Web 应用,还适用于 iOS 和 Android。我们可以使用相同的组件声明方式为所有这些不同的平台构建 UI。
React 中有3个基本块。
react-reconciler 在 React 16 版本中被完全重写,使用了一个更好的实现 React Fiber。在 React Fiber 之前,Reconciler 是紧密耦合的。现在它已经解耦,并且更容易编写自定义渲染器。
『LLVM 项目是一个模块化的、可重用的编译器和工具链技术的集合。』LLVM 使创建编程语言变得容易。
当我们初次遇到 React 时,它是作为一个用于构建用户界面的 JavaScript 库被引入的。当你深入研究其内部原理后,React 也可以被称为创建声明式 UI 框架的 LLVM。它使得创建自己的声明式 UI 框架变得容易。
如果您问为什么要构建声明式 UI,那是因为声明式代码更容易编写、阅读、管理和调试或几乎不调试。手动管理 UI 的更新很麻烦而且容易出错,而像 React 这样的工具在这方面做得更好。
React 最初是面向 Web 应用的。很快我们便发现这些理念不仅适用于 Web 应用,还适用于 iOS 和 Android。我们可以使用相同的组件声明方式为所有这些不同的平台构建 UI。
React 中有3个基本块。
react-reconciler 在 React 16 版本中被完全重写,使用了一个更好的实现 React Fiber。在 React Fiber 之前,Reconciler 是紧密耦合的。现在它已经解耦,并且更容易编写自定义渲染器。