React Native 新架构,金九银十前端热点知识

本文探讨了Facebook正在重构的React Native新架构,着重指出Bridge的问题及其对性能的影响。新架构引入JSI,允许JS和Native直接通信,减少异步延迟,提升性能。此外,还提到了Fabric、TurboModules、CodenGen和LeanCore等组件,旨在解决RN性能瓶颈,提供更好的开发体验。
摘要由CSDN通过智能技术生成

本文转载自知乎专栏前端酱爆,作者章伟东,网易云音乐 前端工程师。

本文主要介绍FB团队正在重构的ReactNative(下面称RN)新架构,主要当前架构,Bridge带来的问题,新架构,JSI,Fabric,TurboModules,CodenGen及LeanCore等概念。

当前架构


RN现在主要有3个线程

  1. JS thread。JS代码执行线程,负责逻辑层面的处理。Metro(打包工具)将React源码打包成一个单一JS文件(就是图中JSBundle)。然后传给JS引擎执行,现在ios和android统一用的是JSC。

  2. UI Thread(Main Thread/Native thread)。这个线程主要负责原生渲染(Native UI)和调用原生能力(Native Modules)比如蓝牙等。

  3. Shadow Thread。这个线程主要是创建Shadow Tree来模拟React结构树。Shadow Tree可以类似虚拟dom。RN使用Flexbox布局,但是原生是不支持,所以Yoga就是用来将Flexbox布局转换为原生平台的布局方式。

Bridge的问题

首先回顾一下当前Bridge的运行过程。

当我们写了类似下面的React源码。

<View style={ {

backgroundColor: ‘pink’,

width: 200,

height: 200}}

/>

JS thread会先对其序列化,形成下面一条消息

UIManager.createView([343,“RCTView”,31, {“backgroundColor”:-16181,“width”:200,“height”:200}])

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值