Absolute Mobile Fest
Kyiv 2018
How React-Native shaped
the way we think about
native apps
Ilya Ivanov
Mobile Team Lead at Ciklum
About me
• 2 years in react-native
• 3 years in react
• 7 years in software development
Back-end
Web
front-end
Mobile
front-end
Ilya Ivanov
Kyiv 2018
Why this talk
• Show you the core principles behind react-native
• Show why you might want to consider react-native
Kyiv 2018
Agenda
• React-Native in the context
• How it works
• Advantages
• Limitations
• How to start
• When to use
Kyiv 2018
MountainRoad
Hybrid
Cyclo-cross Cross-country
So I want to buy a bike…
Web
Web
Code
Browser
Hybrid
Native
Container
Web
Code
Native
Native
App
So I want to build an app…
React-Native
• HTML/CSS/JS
• Native container
• WebView
Classic Hybrid
• No HTML/CSS
• Native view defined by JS
• No WebView
Agenda
• React-Native in the context
• How it works
• Advantages
• Limitations
• How to start
• When to use
Kyiv 2018
How React-Native works
View
Text
Android
react-native
react android.view
android.text
iOS
UIView
UILabel
<View style={styles.container}>
<Text>
Welcome to React Native!
</Text>
</View>
Native Code Bridge
JS runtime
environment
How React-Native works
Native
event
Serialize
payload
Process
event
Call native
methods
Serialize
response
Process
commands
Native Code Bridge JS runtime environment
<View>
<TouchableOpacity
onPress={this.increment}
>
<Text
{this.state.count}
</Text>
</TouchableOpacity>
</View>
increment = () =>
this.setState({count: this.state.count + 1});
Native Code Bridge JS runtime environment
Define
animation
Serialize
Animation
definition
Execute
animation
Add header scroll animation
<ScrollView
onScroll={Animated.event(
[{nativeEvent: {contentOffset: {y: this.state.scrollY}}}]
)}
>
<Animated.Image
style={
{
opacity: imageOpacity,
transform: [{translateY: imageTranslate}]
},
}
/>
ScrollView Animated.Image
Animation executes only in native thread
Agenda
• React-Native in the context
• How it works
• Advantages
• Limitations
• How to start
• When to use
Kyiv 2018
Advantages
• Cross-platform native development
• Great development experience
• Prototyping and distribution without XCode or Android Studio
Cross-platform native development
• React-Native
• Single project – two native platforms
• React-Native-Web
• Single project – three native platforms
Great development experience
Limitations
• Leaky abstractions
• You still need to write native code
Leaky abstractions
AndroidiOS
You still need to write native code
• It still takes around 5-10% to write Swift/Java code
• Percentage may vary
Agenda
• React-Native in the context
• How it works
• Advantages
• Limitations
• How to start
• When to use
Kyiv 2018
Bootstrapping your application
react-native init MyApplication
Pros:
• Can use custom native code
create-react-native-app MyApplication
Pros:
• No need to install Android Studio and Xcode
• Can publish your apps to Expo repo
• You can always eject
Cons:
• Need to install Xcode and Android studio
Cons:
• Can’t use custom native code
Expo step-by-step guide
• Install Expo on the mobile device
• Install Expo XDE on the dev machine
• Create Expo project
• Scan QR code from the mobile device
• mobile device and dev machine should be in the same network area
• Open project with any IDE or Editor and start coding
Agenda
• React-Native in the context
• How it works
• Advantages
• Limitations
• How to start
• When to use
Kyiv 2018
When to use
Summary
• React-Native in an example of the new ”native” mobile solution
• React-Native converts element hierarchy written in JavaScript into
native views. No HTML/CSS involved
• You can use Expo to create and distribute native solution without
Android Studio or Xcode
Kyiv 2018
Absolute Mobile Fest
Kyiv 2018
Thanks
Questions?
Absolute Mobile Fest
Kyiv 2018
• https://expo.io/tools
• https://facebook.github.io/react-native/showcase.html
• https://medium.com/appandflow/react-native-scrollview-animated-header-10a18cb9469e
Resources

More Related Content

PDF
I knew there had to be a better way to build mobile apps
PDF
Building mobile apps with PhoneGap and Backbone
PPTX
[DevDay2018] Ignite your app development with native script and firebase - By...
PDF
Cordova, Angularjs & Ionic @ Codeaholics
KEY
Test+video+upload
ODP
Use Ionic Framework to develop mobile application
PPTX
Micro frontend
I knew there had to be a better way to build mobile apps
Building mobile apps with PhoneGap and Backbone
[DevDay2018] Ignite your app development with native script and firebase - By...
Cordova, Angularjs & Ionic @ Codeaholics
Test+video+upload
Use Ionic Framework to develop mobile application
Micro frontend

What's hot (20)

PDF
Ionic 2: Mobile apps with the Web
PDF
Introduction for Master Class "Amazing Reactive Forms"
PPTX
Introduction to the Ionic Framework
PDF
Cross Platform Mobile Development
PDF
Erica Cooksey Reactathon 2018
PDF
Intro to ionic 2
PPTX
Auckland API & Microservices Meetup 1: API led design
PPTX
Building mobile apps using meteorJS
PPTX
Building iOS app using meteor
PDF
Hybrid Apps, Ionic framework
PDF
Pepperoni – A framework for spicing up your mobile apps with React Native
PDF
Ionic 2 intro
PPTX
Angular Universal
PDF
Pepperoni 2.0 - How to spice up your mobile apps
PDF
Automating PhoneGap Build
PDF
Instant app Intro
PPTX
Wikipedia Mobile App with PhoneGap
PPTX
Build Hybrid Mobile Applications for Nokia Lumia Devices
PDF
Ionic Crash Course! Hack-a-ton SF
PDF
Reark : a Reference Architecture for Android using RxJava
Ionic 2: Mobile apps with the Web
Introduction for Master Class "Amazing Reactive Forms"
Introduction to the Ionic Framework
Cross Platform Mobile Development
Erica Cooksey Reactathon 2018
Intro to ionic 2
Auckland API & Microservices Meetup 1: API led design
Building mobile apps using meteorJS
Building iOS app using meteor
Hybrid Apps, Ionic framework
Pepperoni – A framework for spicing up your mobile apps with React Native
Ionic 2 intro
Angular Universal
Pepperoni 2.0 - How to spice up your mobile apps
Automating PhoneGap Build
Instant app Intro
Wikipedia Mobile App with PhoneGap
Build Hybrid Mobile Applications for Nokia Lumia Devices
Ionic Crash Course! Hack-a-ton SF
Reark : a Reference Architecture for Android using RxJava
Ad

Similar to Mobile Fest 2018. Илья Иванов. Как React-Native перевернул наше представление о нативных приложениях (20)

PDF
Build a real app with react native
PPTX
Introduction to React Native
PDF
React native.key
PPTX
JS Fest 2018. Илья Иванов. Введение в React-Native
PPTX
React Native: Introduction
PPTX
Introduction to React Native
PDF
Workshop 24: React Native Introduction
PPTX
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
PPTX
Introduction to react native @ TIC NUST
PPTX
Ilya Ivanov - Advanced React-Native
PDF
Lessons from a year of building apps with React Native
PPTX
React native - Unleash the power of your device
PDF
Matteo Manchi - React Native for multi-platform mobile applications - Codemot...
PPTX
React Native - Build Native Mobile App
PPTX
React native
PPTX
React Native
PPTX
React native introduction (Mobile Warsaw)
PDF
The Gist of React Native
PDF
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
PDF
Code Once; Run Everywhere - A Beginner’s Journey with React Native
Build a real app with react native
Introduction to React Native
React native.key
JS Fest 2018. Илья Иванов. Введение в React-Native
React Native: Introduction
Introduction to React Native
Workshop 24: React Native Introduction
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Introduction to react native @ TIC NUST
Ilya Ivanov - Advanced React-Native
Lessons from a year of building apps with React Native
React native - Unleash the power of your device
Matteo Manchi - React Native for multi-platform mobile applications - Codemot...
React Native - Build Native Mobile App
React native
React Native
React native introduction (Mobile Warsaw)
The Gist of React Native
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
Code Once; Run Everywhere - A Beginner’s Journey with React Native
Ad

More from MobileFest2018 (13)

PPTX
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
PDF
Mobile Fest 2018. Łukasz Mróz. Let’s make your DATA sexy
PDF
Mobile Fest 2018. Алексей Демедецкий. Отладка с архитектурой Redux на iOS
PDF
Mobile Fest 2018. Владимир Бондаренко. Почему переход с Apache Cordova на Rea...
PDF
Mobile Fest 2018. Yonatan Levin. WTF with Android Background Restrictions
PDF
Mobile Fest 2018. Алексей Лизенко. Make your project great again
PDF
Mobile Fest 2018. Артем Гетьман. Архитектура обработки ошибок: чистый, быстры...
PDF
Mobile Fest 2018. Кирилл Розов. Insert Koin
PPTX
Mobile Fest 2018. Алеся Подлесная. UX в разработке мобильных приложений
PDF
Mobile Fest 2018. Александр Сергиенко. Flutter - что за зверь такой?
PDF
Mobile Fest 2018. Fernando Cejas. What Mom Never Told You About Multi-threading
PDF
Mobile Fest 2018. Håvard Hvassing. Working with sharp tools — continuous inte...
PDF
Mobile Fest 2018. Александр Корин. Болеутоляющее
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
Mobile Fest 2018. Łukasz Mróz. Let’s make your DATA sexy
Mobile Fest 2018. Алексей Демедецкий. Отладка с архитектурой Redux на iOS
Mobile Fest 2018. Владимир Бондаренко. Почему переход с Apache Cordova на Rea...
Mobile Fest 2018. Yonatan Levin. WTF with Android Background Restrictions
Mobile Fest 2018. Алексей Лизенко. Make your project great again
Mobile Fest 2018. Артем Гетьман. Архитектура обработки ошибок: чистый, быстры...
Mobile Fest 2018. Кирилл Розов. Insert Koin
Mobile Fest 2018. Алеся Подлесная. UX в разработке мобильных приложений
Mobile Fest 2018. Александр Сергиенко. Flutter - что за зверь такой?
Mobile Fest 2018. Fernando Cejas. What Mom Never Told You About Multi-threading
Mobile Fest 2018. Håvard Hvassing. Working with sharp tools — continuous inte...
Mobile Fest 2018. Александр Корин. Болеутоляющее

Recently uploaded (20)

PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PDF
Empowerment Technology for Senior High School Guide
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
PDF
HVAC Specification 2024 according to central public works department
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
PPTX
Share_Module_2_Power_conflict_and_negotiation.pptx
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PPTX
Unit 4 Computer Architecture Multicore Processor.pptx
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
DOCX
Cambridge-Practice-Tests-for-IELTS-12.docx
PPTX
20th Century Theater, Methods, History.pptx
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
Complications of Minimal Access-Surgery.pdf
PDF
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PPTX
History, Philosophy and sociology of education (1).pptx
Chinmaya Tiranga quiz Grand Finale.pdf
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
Empowerment Technology for Senior High School Guide
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
HVAC Specification 2024 according to central public works department
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
Share_Module_2_Power_conflict_and_negotiation.pptx
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
B.Sc. DS Unit 2 Software Engineering.pptx
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
Unit 4 Computer Architecture Multicore Processor.pptx
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
Cambridge-Practice-Tests-for-IELTS-12.docx
20th Century Theater, Methods, History.pptx
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
Complications of Minimal Access-Surgery.pdf
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
Practical Manual AGRO-233 Principles and Practices of Natural Farming
History, Philosophy and sociology of education (1).pptx

Mobile Fest 2018. Илья Иванов. Как React-Native перевернул наше представление о нативных приложениях