Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cross-Platform React Native
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Connor McEwen
September 14, 2016
Technology
84
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cross-Platform React Native
Connor McEwen
September 14, 2016
Transcript
15 slides
Cross-Platform React Native What does that really mean? Connor McEwen
About Me cmcewen @connormcewen Lead Engineer, Emerging Products Using React
Native since the beta
Flare • Small business community app • 100% React Native
• Featured in App Store + Google Play Store
RN Cross-Platform …We’re not chasing “write once, run anywhere.” We
call this approach “learn once, write anywhere.” iOS
How it works http://tadeuzagallo.com/blog/react-native-bridge/ iOS … Same API
How it works class Hello extends React.Component { render() {
return( <View> <Text>Hello world!</Text> </View> ) } } - (UIView *)view { return [RCTView new]; } @Override public ReactViewGroup createViewInstance(Them return new ReactViewGroup(context); }
The Dream
Reality
Why? • Design choices - material design • Phone features
- hardware back button • Different APIs - permissions • Performance • Layout
How • .ios.js + .android.js • inline Platform.OS class Hello
extends Component { render() { return( <View> <Text>I’m iOS!</Text> </View> ) } } class Hello extends Component { render() { return( <View> <Text>I’m Android!</Text> </View> ) } } class Hello extends Component { render() { if (Platform.OS === ‘ios’) { return( <View> <Text>I’m iOS!</Text> </View> ) } else { return( <View> <Text>I’m Android!</Text> </View> ) } } }
Our stats • 166 total files in js directory •
4 .android.js + 4.ios.js = 4.8% • 37 .js use the Platform API = 22% imageContainer: { paddingTop: Platform.OS === 'ios' ? 5 : 10 },
Timeline Started working on Flare on iOS Aug. 2015 RN
Android released Sep. 2015 Initial Flare Android version Mar. 2016 iOS release + feature May 2016 Oh shit Android bugs + perf June 2016 Android release June 2016 Google feedback to get featured July 2016 Android feature Aug 2016
Key differences • Material Design • Touchables • Permissions APIs
Lesson Learned • Test both platforms early • Don’t use
negative absolute positions • You might need to make native modules for parity • Things have gotten much better
Thanks! @connormcewen
More Decks by Connor McEwen
See All by Connor McEwen
A Year With React Native
cmcewen
0
120
React Native Dev Tools
cmcewen
0
540
Other Decks in Technology
See All in Technology
Context != Context: One window, many lifecycles (AI Native DevCon, Nov 2026)
birgitta410
0
110
あの日、見つかっていなかったらどうなっていたか
kazzpapa3
2
120
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
290
Shared Signals Framework 仕様解説
oidfj
0
370
公共システムAdventCalendar2026
toru_kubota
0
300
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.2k
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
230
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
16k
AWS構成から考えるWebセキュリティ ― WordPressの構築経験から考える公開範囲と更新運用【JAWS FESTA 2026 in AKITA】
cscengineer
PRO
2
410
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
130
顧客合意を取りながら進めるAWSコスト削減の実践
optim
0
160
Kiro Crew の Bot (続く役目を任せる窓口) | 目指せ Kiro マスター 12
inariku
PRO
2
360
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
350
Heart Work Chapter 1 - Part 1
lfama
PRO
11
37k
Optimizing for Happiness
mojombo
378
71k
Making Projects Easy
brettharned
120
6.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
880
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
430
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
980
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
400
ラッコキーワード サービス紹介資料
rakko
5
5.8M
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
520