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
37
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
Transcript
30 slides
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!
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
90
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
94
Boris Farber & Nikita Kozlov - The_Build_Side_of_Android_App
droidcon_berlin_2018
0
230
Zan Markan - The state of Kotlin
droidcon_berlin_2018
0
92
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
350
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
はじめてのPLATEAU
nokonoko1203
1
640
AmebaブログはKMPから卒業します
kmars0605
0
350
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
SODA - FACT BOOK(EN)
sodainc
1
230
Secure Your Coding Agent Like It’s Malware (v1.5) 🇬🇧 @Code.talks 2026
richargh
0
130
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
170
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
260
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.5k
Getting Started with Vibe Coding
miccheng
0
210
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
370
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
570
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
The Curse of the Amulet
leimatthew05
4
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
A designer walks into a library…
pauljervisheath
211
25k
Done Done
chrislema
187
17k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
60k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The Cost Of JavaScript in 2023
addyosmani
56
10k