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
87
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
91
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
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.7k
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.2k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
460
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
460
mrbgem 三角測量 開発
ogom
0
170
Are APIs Still Relevant in the AI Era?
soyuka
0
390
Simple Storage Service(S3) is not simple
iwatsukayura
0
120
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
200
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
1k
Workers Cache を知る
syumai
0
320
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
So, you think you're a good person
axbom
PRO
2
2.2k
Paper Plane
katiecoart
PRO
4
53k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
340
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
380
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
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!