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
Thijs Suijten - React Native - Buy One Get One ...
Search
droidcon Berlin
July 17, 2018
Programming
36
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Thijs Suijten - React Native - Buy One Get One Free
droidcon Berlin
July 17, 2018
More Decks by droidcon Berlin
See All by droidcon Berlin
Jon Markoff - Best practice for apps
droidcon_berlin_2018
0
230
Jon Markoff - Voice in the enterprise
droidcon_berlin_2018
0
86
Michael Jess - Enabling enterprise mobility with SAP
droidcon_berlin_2018
0
140
Ronen Sabag - Lean async code with Kotlin’s coroutines
droidcon_berlin_2018
0
90
Boris Farber & Nikita Kozlov - The_Build_Side_of_Android_App
droidcon_berlin_2018
0
220
Zan Markan - The state of Kotlin
droidcon_berlin_2018
0
88
Miquel Beltran - No More □ (tofu) Mastering Emoji on Android
droidcon_berlin_2018
0
150
Laurent Gasser & Jeremy Rochot - Sharing a success story - A low cost, Customer driven and co-developed Android EMM
droidcon_berlin_2018
0
340
Hoi Lam - Adding ML Kit to Android Things And some TensorFlow things
droidcon_berlin_2018
1
250
Other Decks in Programming
See All in Programming
Agents on Rails - Rails at Scale 2026
irinanazarova
0
280
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
320
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
300
Security issues being discussed on Web Platforms
petamoriken
0
1.3k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
250
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
280
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
390
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
110
スマート反転とウェブアクセシビリティ
camiha
0
220
Are APIs Still Relevant in the AI Era?
soyuka
0
330
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
350
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
950
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
We Have a Design System, Now What?
morganepeng
55
8.3k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Side Projects
sachag
456
43k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Transcript
None
NO EXCUSES, SWITCH TO KOTLIN Thijs Suijten Mobile developer @
Q42 @tsuijten ! "
D.R.Y.
None
What is React Native?
import React from 'react'; import { StyleSheet, Text, View, Image
} from 'react-native'; export default class App extends React.Component { render() { return ( <View style={styles.container}> <Text style={styles.text}>Hello Tweakers!</Text> </View> ); } } const styles = StyleSheet.create({ container: { flex: 1, alignItems: 'center', justifyContent: 'center', }, text: { fontSize: 30, } }); Build native apps with React & JS
React Native is not perfect... # Young technology (0.55) $
Future proof? % Less performance & Native feel?
None
Setup & Lessons learned
Navigation
Native Navigation React Native React Native
Native Navigation // Native Kotlin code override fun receivedEvent(event: Event)
{ when (event.id) { "next" -> startActivity(...) } } React Native Bridge // JS code <Button onPress={() => this.sendEvent('next')} title='Verder'/>
None
' Performance issues
Don’t render when invisible viewWillAppear viewWillDisappear onPause onResume shouldComponentUpdate
REST API
React Native <Image/> FastImage
Shadows on Android
Upgrading...
sed -i '' 's/#import <RCTAnimation\\/RCTValueAnimatedNode.h>/ #import \"RCTValueAnimatedNode.h\"/' ./node_modules/react-native/ Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h sed
-i '' 's/#import <fishhook\\/fishhook.h>/#import <React\\/ fishhook.h>/' ./node_modules/react-native/Libraries/WebSocket/ RCTReconnectingWebSocket.m (
Benefits of React Native
Native React Native
Full stack code sharing
Flexbox layout works great
Hot code reloading
❤
Android app in 1 week!!
React Native: Thing to consider • Multidisciplinary team • Android
first • Everybody is onboard and willing to make concessions
React Native: Buy one, get one free?!
..
[email protected]
/ @tsuijten Thanks!