React Native架构设计



1:设计、开发一个基于 Canvas 的 UI 框架系统,由于系统相对比较复杂,需接管浏览器构建的整个过程:



2:布局系统 css layout.

UI 组件基于「文本」与「图像」。但 framework,除了 UI 组件本身以外,还需要有 Layout,而 css 只适用于浏览器本身的 layout 而无法适用于 Canvas 画布。

要给开发者好且排版可控的方案,那就要开发一个用 JavaScript 实现类似 CSS 的布局子集的框架。
否则 UI 的组件在画布上没有 layout 就无意义。

这个布局框架实现成本(简单实现)理论上并不大,大的是在于未来增加新 Feature 并相互组合时与浏览器本身有差异,需要有完整的 unit test。
正好最近 facebook 也开源了一个用 JavaScript 写 css layout 子集的解决方案,实现了:

  • padding
  • width
  • margin
  • border
  • flex
  • position( relative/absolute )

等等。

github 地址: facebook/css-layout · GitHub
这些 css 布局子集基本能满足我们前期开发预期。


3:开发框架.
css-layout 再加上 UI 管理层,就可以比较清晰的实现出 canvas 的 UI 组件框架了。
那么,剩下的事就是:

  • 应用开发框架的选择,如:选择 React/MVC 框架。
  • 模拟 DOM 层次,即图层管理ViewManger
  • 相关文章

    导入moment 使用方式 年月日,时分秒 星期几 相对时间 7天后 2小时后 明天 将毫秒转换成年月日
    @ 一、前言 为什么介绍redux-actions呢? 第一次见到主要是接手公司原有的项目,发现有之前的大佬在处理...
    十大React Hook库 原文地址:https://dev.to/bornfightcompany/top-10-react-hook-libraries-4065 原文...
    React生命周期 React的生命周期从广义上分为挂载、渲染、卸载三个阶段,在React的整个生命周期中提供很...
    React虚拟DOM的理解 Virtual DOM是一棵以JavaScript对象作为基础的树,每一个节点可以将其称为VNode,用...
    React中JSX的理解 JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ....