Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
React Native for Unified Codebase
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sonny Lazuardi
December 14, 2016
Technology
0
320
React Native for Unified Codebase
Facebook Developer Circle Malang, React Native Meetup
Sonny Lazuardi
December 14, 2016
Tweet
Share
More Decks by Sonny Lazuardi
See All by Sonny Lazuardi
Artificial Intelligence & Design Plugin
sonnylazuardi
0
310
Making Interactive Web using Framer Motion
sonnylazuardi
0
86
The Story of Making Figma Plugins
sonnylazuardi
4
260
UX Prototyping Tools
sonnylazuardi
5
780
Clean Code in Javascript
sonnylazuardi
5
510
Native Mobile App with Javascript - React Native - Code Push
sonnylazuardi
0
400
Bantu Asap - SS Ceria
sonnylazuardi
0
160
React Native for Mobile App Development
sonnylazuardi
3
530
[Sidang] Layanan Basis Data Real Time NoSQL untuk Kolaborasi Web Audio Editor
sonnylazuardi
0
220
Other Decks in Technology
See All in Technology
What's new in Go 1.26?
ciarana
2
260
LINEヤフーにおけるAI駆動開発組織のプロデュース施策
lycorptech_jp
PRO
0
190
社内でAWS BuilderCards体験会を立ち上げ、得られた気づき / 20260225 Masaki Okuda
shift_evolve
PRO
1
150
論文検索を日本語でできるアプリを作ってみた
sailen2
0
140
なぜAIは組織を速くしないのか 令和の腑分け
sugino
80
50k
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
4
1.7k
Digitization部 紹介資料
sansan33
PRO
1
6.9k
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
190
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
2026-02-24 月末 Tech Lunch Online #10 Cloud Runのデプロイの課題から考えるアプリとインフラの境界線
masasuzu
0
100
LLM活用の壁を超える:リクルートR&Dの戦略と打ち手
recruitengineers
PRO
1
170
LY Tableauでの Tableau x AIの実践 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
960
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Balancing Empowerment & Direction
lara
5
920
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
470
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Building the Perfect Custom Keyboard
takai
2
700
Building a Scalable Design System with Sketch
lauravandoore
463
34k
First, design no harm
axbom
PRO
2
1.1k
Crafting Experiences
bethany
1
74
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
190
Designing for humans not robots
tammielis
254
26k
Transcript
React Native for Unified Codebase Dec 14th, 2016
@sonnylazuardi
Sale Stock 1 Codebase 3 Platforms Web Cordova Android iOS
UI-Kit & Styling • Based on Primitive Component (like: github.com/lelandrichardson/react-p
rimitives) • Include Text, View, Image, Button, TextInput • No gradient • Flexbox vs CSS
Routing • Custom Router based on https://github.com/mjackson/history • Support Code
Splitting on web • Save current scrolling position based on route
Native Modules • One Signal Push Notification • Facebook &
Google Sign In • Google Smart Lock • Google Analytics • Image Picker, Image Zoom • Appsflyer, Crashlytics
Prototyping • Apollo Client to get rid of reducers •
Exponent allows developing app without Android SDK, XCode. • Exponent allows direct deploy to ios and android devices
Performance Tuning
Startup Memory Usage
Scrolling Memory Usage • Get an infinite scroll on our
app, 25000++ live products to show. • https://github.com/brentvatne/fixed- height-windowed-list-view-experime nt • Solve the dynamic height listview by preprocessing items’ height array.
Scrolling Memory Usage Comparison
Faster Startup • Batch initial bootstrap requests • Prefetch Initial
Data on Native Side • (-) Slow Transition Between Tabs Up to 10 secs faster on low-end devices under 2G
GraphQL Batching getCart() getCatalogue() getFoo() getBar() [getCart(), getCatalogue(), getFoo(), getBar()]
Start App Start App
GraphQL Batching • Faster time-to-render on slower networks, like 2G
Connections. • Cut down 6 different HTTP calls into 1 call to render the homepage
Versioner • Custom Versioner based on github.com/Microsoft/code-push • Hosted on
our own server (S3) • Update directly to client devices without Play Store approval
Split Build • universalApk = false • ARM & X86
build • Before Split Build: 13 MB • After Split Build ◦ ARM: 6.9 MB ◦ X86: 8 MB
APK File Size
@sonnylazuardi