React Native 的旧架构
在 React Native 旧的架构下(相对基于 Fabric 的新架构而言),JS 和 Native 的通信都是通过 Bridge 进行的。Bridge 作为通信的桥梁,JS 端和 Native 端的信息都会先进行序列化后,传给 Bridge,再传给对方。因此要深入的了解 React Native 旧的架构,需要先搞清楚 Bridge 的运行原理。

一个简单的 Demo
先来看一个简单的 RN 应用:
import React from 'react';
import {SafeAreaView, Text, AppRegistry} from 'react-native';
const App = () => {
return (
<SafeAreaView
style={
{
height: 800,
display: 'flex',
justifyContent: 'center',
alignItems: 'center'
}}>
<Text style={
{fontSize: 20}}>Hello World</Text>
</SafeAreaView>
);
};
AppRegistry.registerComponent('demo', () => App);
同时开启 MessageQueue 的 spy 监听,开启监听后会在控制台打印出 Bridge 的通信内容。
import MessageQ

本文深入解析React Native的旧架构,重点关注JS到Native的Bridge通信。通过一个简单的Demo展示Bridge如何工作,分析JS到Native及Native到JS的Bridge源码,揭示RN应用启动流程和消息传递机制。

2万+

被折叠的 条评论
为什么被折叠?



