SlideShare a Scribd company logo
Welcome to the
Eindhoven Developers
Meetup
#11
BUILDING A
RUNNING APP
WITH
React
NATIVE
ATO-gear
Wearables for the sports
industry
ARION
BIOMETRIC SHOE INSOLE
For technique improvement and injury prevention when
running. Measures pressure, GPS, gyro- and
acceleration. Very thin, is placed under your regular
insole and unnoticeable when running. Communicates
using bluetooth LE with your phone or smartwatch.
TODAYS TALK
• INTRO TO REACT-NATIVE
• OUR APP & LESSONS LEARNED
WHY REACT-
NATIVE ?• PROS
• Cross platform
(iOS/Android )
• Native performance
• Fast development cycle
• Share JS-code with our website
• Large active community
• CONS
• Relatively young
• Released by Facebook in early 2015
• 37K github stars
• 2875 NPM modules
• 2 weekly release cycle
• Javascript ES6 & ES7
• Uses React/JSX to wrap & layout native
components
• Uses flexbox layout semantics
ABOUT REACT-
NATIVE
• install node-js
• npm install -g react-native-cli
• react-native init MyAwesomeApp
• react-native run-ios
• Tooling/scripts:
• cd android && ./gradlew
assembleRelease && cd ..
• eslint
INSTALL REACT-
NATIVE
LET’S REACT-
NATIVE
RN LAYOUT-
ANIMATIONS
RN ANIMATED API
PLATFORM
SPECIFIC CODE• Files ending on ‘…ios.js’ compile only on
that specific platform
• Use ‘Platform.OS’ to write conditional
code:
• Images automatically use the correct scale
version
HOT RELOADING
• Hot-reloading automagically reloads
components and styles without affecting
the state of the application
• It does this by wrapping each component,
which can then be re-loaded on the fly
• It’s AWESOME; and a huge time saver
DEMO TIME
LIFE AS A
DEVELOPER…
OUR “STACK”• fetch API
• redux
• Firebase Crash Reporting &
Analytics
• Own Native Bluetooth & GPS
• some numbers
• 31 added npm packages
• 104 react components/views
• 7 redux reducers
• react-native-animatable
• react-native-background-timer
• react-native-device-log
• react-native-fetch-blob
• react-native-firestack
• react-native-fs
• react-native-maps
• react-native-svg
• react-native-textinput-effects
• react-native-vector-icons
REACT-NATIVE modules
LESSONS
LEARNED• If it looks good on iOS, doesn’t mean it
looks good on Android (and vice versa)
• Don’t use ‘lineHeight’ i.c.w. custom fonts
on Android
• Set `underlineColorAndroid` to
“transparent” if you want identical
TextInput styling on iOS and Android
• Don’t use `textAlignVertical`. Instead use
flex to center the Text vertically using
flexDirection=column and
LESSONS
LEARNED• Android only supports regular, bold, italic &
bold-italic font weights/styles
• Always measure animation performance on
release builds
• console.log messages can greatly affect
your animation performance
• console.time / console.timeEnd crash in
release builds
• Use `shouldComponentUpdate` to optimise
SOME TIPS
• Use VYSOR to view and control your
Android device
• Use `adb shell input keyevent 82` to open
the react-native menu
• Debug and test as much JS-code first on
the iOS simulator before testing on an
actual device
• Use `npm outdated` to quickly check for
updated packages
• Time your moment for upgrading to the
USEFUL
RESOURCES• github.com/vitorebatista/open-source-react-
native-apps
• github.com/jondot/awesome-react-native
• github.com/frostney/react-native-create-
library
• productpains.com/product/react-native/
THANK YOU
ato-gear.com
UNLEASH YOUR INNER
DEVELOPER

More Related Content

What's hot

Wso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-clusterWso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-cluster
Afkham Azeez
 
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure CloudTaking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Bruno Borges
 
Augmenting Maintenance
Augmenting MaintenanceAugmenting Maintenance
Augmenting Maintenance
Netcetera
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring Developers
Bruno Borges
 
Making Sense of Serverless Computing
Making Sense of Serverless ComputingMaking Sense of Serverless Computing
Making Sense of Serverless Computing
Bruno Borges
 
Automation on iOS
Automation on iOSAutomation on iOS
Automation on iOS
Tsungyu Yu
 
Presentation Cloud9 at sudweb
Presentation Cloud9 at  sudwebPresentation Cloud9 at  sudweb
Presentation Cloud9 at sudweb
Cloud9 IDE
 
Evoloution of Ideas
Evoloution of IdeasEvoloution of Ideas
Evoloution of Ideas
Wooga
 
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelinesdeliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
Esteban Garcia
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Akira Inoue
 
Why AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutionsWhy AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutions
nj-azure
 
Atlassian Roadshow 2016 - DevOps Session
Atlassian Roadshow 2016 - DevOps SessionAtlassian Roadshow 2016 - DevOps Session
Atlassian Roadshow 2016 - DevOps Session
Sourcesense
 
Turning up-the-heat
Turning up-the-heatTurning up-the-heat
Turning up-the-heat
Tim Pouyer
 
Infra Agil: How the Ops teams delivery and operate the infrastructures in the...
Infra Agil: How the Ops teams delivery and operate the infrastructures in the...Infra Agil: How the Ops teams delivery and operate the infrastructures in the...
Infra Agil: How the Ops teams delivery and operate the infrastructures in the...
Mateus Prado
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
DeNA
 
Spinnaker Microsrvices
Spinnaker MicrosrvicesSpinnaker Microsrvices
Spinnaker Microsrvices
Ambassador Labs
 
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Matthew Cobby
 
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Chase Douglas
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Codefresh
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
Rahul Nath
 

What's hot (20)

Wso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-clusterWso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-cluster
 
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure CloudTaking Spring Apps for a Spin on Microsoft Azure Cloud
Taking Spring Apps for a Spin on Microsoft Azure Cloud
 
Augmenting Maintenance
Augmenting MaintenanceAugmenting Maintenance
Augmenting Maintenance
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring Developers
 
Making Sense of Serverless Computing
Making Sense of Serverless ComputingMaking Sense of Serverless Computing
Making Sense of Serverless Computing
 
Automation on iOS
Automation on iOSAutomation on iOS
Automation on iOS
 
Presentation Cloud9 at sudweb
Presentation Cloud9 at  sudwebPresentation Cloud9 at  sudweb
Presentation Cloud9 at sudweb
 
Evoloution of Ideas
Evoloution of IdeasEvoloution of Ideas
Evoloution of Ideas
 
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelinesdeliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
 
Why AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutionsWhy AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutions
 
Atlassian Roadshow 2016 - DevOps Session
Atlassian Roadshow 2016 - DevOps SessionAtlassian Roadshow 2016 - DevOps Session
Atlassian Roadshow 2016 - DevOps Session
 
Turning up-the-heat
Turning up-the-heatTurning up-the-heat
Turning up-the-heat
 
Infra Agil: How the Ops teams delivery and operate the infrastructures in the...
Infra Agil: How the Ops teams delivery and operate the infrastructures in the...Infra Agil: How the Ops teams delivery and operate the infrastructures in the...
Infra Agil: How the Ops teams delivery and operate the infrastructures in the...
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
 
Spinnaker Microsrvices
Spinnaker MicrosrvicesSpinnaker Microsrvices
Spinnaker Microsrvices
 
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
 
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
 

Similar to Building a Running App With react-native

React native - React(ive) Way To Build Native Mobile Apps
React native - React(ive) Way To Build Native Mobile AppsReact native - React(ive) Way To Build Native Mobile Apps
React native - React(ive) Way To Build Native Mobile Apps
Jimit Shah
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
Adrian Philipp
 
React Native
React NativeReact Native
React Native
Huqiu Liao
 
Erica Cooksey Reactathon 2018
Erica Cooksey Reactathon 2018Erica Cooksey Reactathon 2018
Erica Cooksey Reactathon 2018
🏡 Erica Cooksey
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
Adrian Philipp
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016
Jad Salhani
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile App
Mobio Solutions
 
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISEDEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
European Collaboration Summit
 
Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015
Dominique Boutin
 
React native starter
React native starterReact native starter
React native starter
Nhan Cao
 
React nativebeginner1
React nativebeginner1React nativebeginner1
React nativebeginner1
Oswald Campesato
 
Getting Started with React Native (and should I use it at all?)
Getting Started with React Native (and should I use it at all?)Getting Started with React Native (and should I use it at all?)
Getting Started with React Native (and should I use it at all?)
Devin Abbott
 
From React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedFrom React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I started
sparkfabrik
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
Marco Parenzan
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybrids
Oron Ben Zvi
 
Lecture 1 Introduction to React Native.pptx
Lecture 1 Introduction to React Native.pptxLecture 1 Introduction to React Native.pptx
Lecture 1 Introduction to React Native.pptx
GevitaChinnaiah
 
React native
React nativeReact native
React native
Vikrant Negi
 
The FT Web App: Coding Responsively
The FT Web App: Coding ResponsivelyThe FT Web App: Coding Responsively
The FT Web App: Coding Responsively
C4Media
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapCreating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
FITC
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with Swift
Jordan Yaker
 

Similar to Building a Running App With react-native (20)

React native - React(ive) Way To Build Native Mobile Apps
React native - React(ive) Way To Build Native Mobile AppsReact native - React(ive) Way To Build Native Mobile Apps
React native - React(ive) Way To Build Native Mobile Apps
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
 
React Native
React NativeReact Native
React Native
 
Erica Cooksey Reactathon 2018
Erica Cooksey Reactathon 2018Erica Cooksey Reactathon 2018
Erica Cooksey Reactathon 2018
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile App
 
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISEDEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
 
Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015
 
React native starter
React native starterReact native starter
React native starter
 
React nativebeginner1
React nativebeginner1React nativebeginner1
React nativebeginner1
 
Getting Started with React Native (and should I use it at all?)
Getting Started with React Native (and should I use it at all?)Getting Started with React Native (and should I use it at all?)
Getting Started with React Native (and should I use it at all?)
 
From React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedFrom React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I started
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybrids
 
Lecture 1 Introduction to React Native.pptx
Lecture 1 Introduction to React Native.pptxLecture 1 Introduction to React Native.pptx
Lecture 1 Introduction to React Native.pptx
 
React native
React nativeReact native
React native
 
The FT Web App: Coding Responsively
The FT Web App: Coding ResponsivelyThe FT Web App: Coding Responsively
The FT Web App: Coding Responsively
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapCreating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with Swift
 

Recently uploaded

Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 

Recently uploaded (20)

Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 

Building a Running App With react-native

  • 1. Welcome to the Eindhoven Developers Meetup #11
  • 3. ATO-gear Wearables for the sports industry
  • 4. ARION BIOMETRIC SHOE INSOLE For technique improvement and injury prevention when running. Measures pressure, GPS, gyro- and acceleration. Very thin, is placed under your regular insole and unnoticeable when running. Communicates using bluetooth LE with your phone or smartwatch.
  • 5. TODAYS TALK • INTRO TO REACT-NATIVE • OUR APP & LESSONS LEARNED
  • 6. WHY REACT- NATIVE ?• PROS • Cross platform (iOS/Android ) • Native performance • Fast development cycle • Share JS-code with our website • Large active community • CONS • Relatively young
  • 7. • Released by Facebook in early 2015 • 37K github stars • 2875 NPM modules • 2 weekly release cycle • Javascript ES6 & ES7 • Uses React/JSX to wrap & layout native components • Uses flexbox layout semantics ABOUT REACT- NATIVE
  • 8. • install node-js • npm install -g react-native-cli • react-native init MyAwesomeApp • react-native run-ios • Tooling/scripts: • cd android && ./gradlew assembleRelease && cd .. • eslint INSTALL REACT- NATIVE
  • 12. PLATFORM SPECIFIC CODE• Files ending on ‘…ios.js’ compile only on that specific platform • Use ‘Platform.OS’ to write conditional code: • Images automatically use the correct scale version
  • 13. HOT RELOADING • Hot-reloading automagically reloads components and styles without affecting the state of the application • It does this by wrapping each component, which can then be re-loaded on the fly • It’s AWESOME; and a huge time saver
  • 16. OUR “STACK”• fetch API • redux • Firebase Crash Reporting & Analytics • Own Native Bluetooth & GPS • some numbers • 31 added npm packages • 104 react components/views • 7 redux reducers
  • 17. • react-native-animatable • react-native-background-timer • react-native-device-log • react-native-fetch-blob • react-native-firestack • react-native-fs • react-native-maps • react-native-svg • react-native-textinput-effects • react-native-vector-icons REACT-NATIVE modules
  • 18. LESSONS LEARNED• If it looks good on iOS, doesn’t mean it looks good on Android (and vice versa) • Don’t use ‘lineHeight’ i.c.w. custom fonts on Android • Set `underlineColorAndroid` to “transparent” if you want identical TextInput styling on iOS and Android • Don’t use `textAlignVertical`. Instead use flex to center the Text vertically using flexDirection=column and
  • 19. LESSONS LEARNED• Android only supports regular, bold, italic & bold-italic font weights/styles • Always measure animation performance on release builds • console.log messages can greatly affect your animation performance • console.time / console.timeEnd crash in release builds • Use `shouldComponentUpdate` to optimise
  • 20. SOME TIPS • Use VYSOR to view and control your Android device • Use `adb shell input keyevent 82` to open the react-native menu • Debug and test as much JS-code first on the iOS simulator before testing on an actual device • Use `npm outdated` to quickly check for updated packages • Time your moment for upgrading to the
  • 21. USEFUL RESOURCES• github.com/vitorebatista/open-source-react- native-apps • github.com/jondot/awesome-react-native • github.com/frostney/react-native-create- library • productpains.com/product/react-native/