notion 2022-7.22 除编辑器部分,切回原生开发(这种重交互的应用,长期看来,性能是核心指标)
- 2020 rn 20-22 kotlin/swift + webview 22.7->从webview逐渐切回到原生
 - https://www.notion.so/releases/2022-07-20
 - https://twitter.com/jitl/status/1530326516013342723?s=20&t=xT0gfWhFvs0yNvc1GQ3sTQ
 - https://mp.weixin.qq.com/s/Jzqx3DWLlowszESQfBJZ9A (搞不定移动端性能,全球爆火的Notion从Hybrid转向了Native)
 
concept
view为中心
basic
- create
 - run-ios | run android
 - import
 
直播
preview view
player view
RN API
API设计风格
配置管理
状态管理
动作管理
事件管理
RN Layout
- Flex Box
 - Streaming View Hierarchy
- AspectFrameLayout
 - CameraPreviewFrameView
 - GLSurfaceView
 - Focus View
 
 
腾讯云互动直播
原生端和JS的通信
- JavaScriptCore 桥阶层 - 翻译
 - RN对通信做了封装
 
从RN向JS传递原生信息
- 调用原生模块获取信息
 - 页面初始props
 - 原生端发送事件进行信息传递
 - 原生端设置JS全局变量
 
1  | 通信效率 | 时机问题 | 多入口场景 | 影响调试  | 
JavaScriptCore
Core - Basic
Component
Style
State
- state - page里面会“动”的数据
 - state - 初选 | 确定 | 声明 | 更新
 - 一件事情一个状态 & 重复状态去除 & 可计算的不是新状态
 
fast refresh
- 快速刷新 => https://reactnative.dev/blog/2019/09/18/version-0.61#fast-refresh
 {} !== {}- 基础的模块替换功能 - 组件级别的强制刷新
 - 复用组件和状态
- 编译时-修改组件的注册方式
 - 运行时-“代理”的方式管理新旧组件的切换