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
Thijs Suijten - React Native - Buy One Get One ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
85
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
89
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
330
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
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
620
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
380
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.5k
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
130
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.8k
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
110
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.7k
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
350
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
250
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
290
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Between Models and Reality
mayunak
4
450
The Invisible Side of Design
smashingmag
301
52k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
530
The Curious Case for Waylosing
cassininazir
1
490
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
680
Why Our Code Smells
bkeepers
PRO
340
58k
KATA
mclloyd
PRO
35
15k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
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!