React Native 开发工程师 · 广州 · 5 年经验
qinlangyue@example.com · 136 0000 0000 · github.com/qinlangyue
个人优势
- 5 年移动端经验,前 2 年做 H5,近 3 年负责电商 App 的 React Native 业务,RN 页面占全 App 的六成以上
- 主导 RN 从旧架构升级到新架构(Fabric + TurboModules),处理了第三方库兼容和原生模块迁移
- 性能问题能定位到具体层面:JS 线程阻塞、桥通信过多、列表重渲染还是原生渲染慢,分别有对应的工具和方案
- 能写 iOS 和 Android 原生模块,做过支付、推送、相机和本地存储的封装
- 搭建过热更新平台:差量包、灰度发布、版本回滚和崩溃自动回滚,发版不再受应用商店审核限制
- 重视一套代码在两端的体验一致:手势、键盘、状态栏和安全区都有统一的封装和测试清单
- 技术栈:React Native、TypeScript、React、Hermes、Reanimated、FlashList、Zustand、Objective-C / Swift、Kotlin、Detox
工作经历
某跨境电商公司 · 高级 React Native 工程师
App 日活约 120 万,覆盖东南亚 5 个国家;移动端 9 人,其中 RN 4 人、原生 5 人。
- 新架构升级:RN 从 0.68 升级到 0.74 并开启新架构,逐个梳理 40 多个第三方库和 12 个自研原生模块的兼容性,自研模块改写为 TurboModules。升级后商品详情页首屏渲染时间缩短约 35%
- 长列表性能:商品瀑布流在低端 Android 机上掉帧严重。换用 FlashList,图片按尺寸裁剪和预取,列表项去掉不必要的重渲染;低端机滑动帧率从 38 帧提升到 55 帧以上
- 热更新平台:自建差量热更新,按国家、版本和用户比例灰度;新版本崩溃率超过阈值自动回滚。业务需求从提交到全量的时间从一周缩短到 1 天以内
- 支付与原生能力:封装 5 个国家的本地支付 SDK,统一成同一套 JS 接口,新增支付渠道的接入时间从两周降到 3 天
某生活服务公司 · 前端开发工程师
前期负责 H5 活动页,后期参与 App 的 RN 化改造,团队 7 人。
- 把门店详情、订单列表等 8 个高频页面从 H5 迁到 RN,页面打开耗时从 1.8 秒降到 0.6 秒
- 封装 RN 与 H5 共用的业务请求层和埋点 SDK,两端数据口径一致
- 搭建 RN 页面的 Detox 冒烟测试,覆盖登录、下单和支付主流程
项目经历
RN 性能监控体系
Hermes / Flipper / 自研 SDK
- 采集页面首屏时间、JS 线程卡顿、桥调用次数和内存,按页面和机型聚合
- 发现商品页一次渲染有 300 多次桥调用,合并后首屏耗时下降约 20%
- 卡顿超过阈值时自动采集 JS 调用栈上报,定位到多处在渲染期间做大量计算的代码
跨端组件库
React Native / TypeScript / Reanimated / Storybook
- 沉淀 60 多个业务组件,动画统一用 Reanimated 在 UI 线程执行
- 每个组件附 iOS 和 Android 两端的截图对比,Storybook 里可以直接切换平台预览
- 安全区、键盘避让、深色模式统一封装,新页面基本不再出现两端表现不一致的问题