Integrating React Native into an existing native codebase
summary
Artsy adopts React Native into an existing Objective-C/Swift codebase by packaging JavaScript and native glue as Emission as a CocoaPod that Eigen consumes, initializing one bridge and exposing React Native screens as Objective‑C view controllers routed via Switchboard. Uses GraphQL/Relay, TypeScript, VS Code, Storybook and separate CI; solves nested scrolling with an Objective‑C nested scrollview monkey patch and shares images with a shared SDWebImage cache. Build wins: relaunch drops from ~20–30s to near‑instant, Android port proves feasible, and native fixes remain necessary.
AI-written summary · about
chapters (16)
- 0:00Start
- 1:54Xcode survivor
- 2:15Open-Source By Default
- 4:01Spaghetti code
- 4:33New paradigm
- 8:17Android
- 10:38Just a language
- 11:16Integration
- 11:42Package
- 14:09Routing
- 14:30Mixed
- 15:42Nested scroll views
- 16:15Demo time
- 21:07Shared caching
- 21:26Opaque drawing
- 22:07Conclusions
related talks
01h 13mMigrating to React Native: A long-term retrospective
35mBridging the Gap: How to use React Native in existing large native code bases
07mFrom Native to React Native
28mCross-Platform React
41mReact Native - A native love story
09mGoing Native: Reusing Code
45mThe Dark Art of Native APIs
30mReact Native
