SlideShare a Scribd company logo
1 of 24
Download to read offline
React Native Android
React Native meetup
OscarNYC May 11, 2016
Cameron Moss
Developer, Library For All
cameron@libraryforall.org
twitter: @fasterpancakes @LibraryForAll
What we do
Library For All is a nonprofit building a digital library for children living
in developing countries who have limited access to books
Curious About React Native?
Curious About React Native?
Start with Android!
For iOS you’ll need:
For iOS you’ll need:
										 1. An Apple Developer Account
										2. A Mac
										2. GUI Development Software
To install/demo an iOS app you’ll need to:
To install/demo an iOS app you’ll need to:
										1. Apply for the iOS developer platform
										 2. Obtain a Certificate
										 3. Register your device
 
For Android you need:
 
For Android you need:
										
										 1. A text editor
										2. A terminal
										 2. A device (or emulator)
To install/demo an Android app you’ll need to:
To install/demo an Android app you’ll need to:
							1. Turn on developer mode (click “about phone” 10 times)
Setting up the Android Environment
(you don’t need to install Android Studio)
http://facebook.github.io/react-native/releases/0.21/docs/getting-started.html
										
										 1. Install Android SDK (Software Development Kit)
										 2. Define the ANDROID_HOME environment variable
											 inside of ~/.bashrc:
											 export ANDROID_HOME=’$HOME/Android/Sdk’
										 3. Configure the SDK
											 type “android” in the terminal
											 install suggested packages
										 4. “npm install -g react-native-cli”
Create an app
										 1. Find a starter
										 2. Clone the app
										 3. “cd ./app”
										 4. “npm install”
Running an app
								 1. Connect a device or run Genymotion
								 2. “react-native start”
								 3. “react-native run-android”
								 4. “adb reverse tcp:8081 tcp:8081” (device) or enter IPAddress:8081
								 5. demo
Debugging Tools
										 1. shake the phone to get the menu
										 2. enable hot-reloading
										 3. debug in chrome
										4. inspector
The Dance ( or adding Android Modules )
+ npm install [module]
Adding images
										 1. add your_image.png to /res folder
										 2. source={require(‘image!your_image’)} // no extension
										 3. you cannot use a this in a loop like require(imgArr[i])
Adding icons
										 1. add react-native-vector-icons (do the dance)
										 2. import Icon from ‘react-native-vector-icons/FontAwesome’
										 3. <Icon name=’android-menu’ size={30} color=’#fff’ />
Pain Points
										1. UI
Pain Points
										1. UI
										2. List View
										 3. ES6 and sometimes not
										4. Local Storage
Best Tools
										 1. Couchbase Lite (device database)
										 2. Redux
										 3. fetch(url).then((res) =>
												 if (res.status == 401) {
													 return res.json();
												 }).catch((err) => { throw err; })
										 4. Color - Style - Google design guidelines
										 5. Facebook (upgrading whenever you can)
Final Thoughts
										 1. Production Ready?
										 2. Which Router?
											 Experimental or RN Router but not Navigator
										 3. Contributing

More Related Content

What's hot

Publish a Windows 10 Game with Unity
Publish a Windows 10 Game with UnityPublish a Windows 10 Game with Unity
Publish a Windows 10 Game with UnityShahed Chowdhuri
 
Mobile App Trends for 2017: Design, Monetization & More
Mobile App Trends for 2017: Design, Monetization & MoreMobile App Trends for 2017: Design, Monetization & More
Mobile App Trends for 2017: Design, Monetization & Morenickculbertson
 
A lap around Windows Phone 8.1
A lap around Windows Phone 8.1A lap around Windows Phone 8.1
A lap around Windows Phone 8.1Nico Vermeir
 
Keyboard_Kung_Fu
Keyboard_Kung_FuKeyboard_Kung_Fu
Keyboard_Kung_FuCraig Angus
 
5 Easy Steps to Learn Espresso
5 Easy Steps to Learn Espresso5 Easy Steps to Learn Espresso
5 Easy Steps to Learn EspressoRaman Gowda Hullur
 
Gassumo Outlook Android Task Synchronizer v1.0.0.7 Installation and first syn...
Gassumo Outlook Android Task Synchronizer v1.0.0.7 Installation and first syn...Gassumo Outlook Android Task Synchronizer v1.0.0.7 Installation and first syn...
Gassumo Outlook Android Task Synchronizer v1.0.0.7 Installation and first syn...David Podhola
 
Leap ahead with windows 10
Leap ahead with windows 10Leap ahead with windows 10
Leap ahead with windows 10Akshay Dixit
 
Android and Jelly Beans
Android and Jelly Beans Android and Jelly Beans
Android and Jelly Beans Nishant Arora
 
Windows Universal Apps
Windows Universal AppsWindows Universal Apps
Windows Universal AppsJames Quick
 
Bai thuc hanh lap trinh Android so 1
Bai thuc hanh lap trinh Android so 1Bai thuc hanh lap trinh Android so 1
Bai thuc hanh lap trinh Android so 1Frank Pham
 
The Ring programming language version 1.5.3 book - Part 4 of 184
The Ring programming language version 1.5.3 book - Part 4 of 184The Ring programming language version 1.5.3 book - Part 4 of 184
The Ring programming language version 1.5.3 book - Part 4 of 184Mahmoud Samir Fayed
 
L知っているか tvOSアプリは iOSアプリと全く異なることを
L知っているか tvOSアプリは iOSアプリと全く異なることをL知っているか tvOSアプリは iOSアプリと全く異なることを
L知っているか tvOSアプリは iOSアプリと全く異なることをTakuro Hanawa
 
Cotopaxi App Runthrough for Questival
Cotopaxi App Runthrough for QuestivalCotopaxi App Runthrough for Questival
Cotopaxi App Runthrough for QuestivalLlamaAnders
 

What's hot (19)

Create twitter-ios-app
Create twitter-ios-appCreate twitter-ios-app
Create twitter-ios-app
 
techSocAndroid1
techSocAndroid1techSocAndroid1
techSocAndroid1
 
Amazing 5 iOS Apps you must install in your iPhone
Amazing 5 iOS Apps you must install in your iPhoneAmazing 5 iOS Apps you must install in your iPhone
Amazing 5 iOS Apps you must install in your iPhone
 
Publish a Windows 10 Game with Unity
Publish a Windows 10 Game with UnityPublish a Windows 10 Game with Unity
Publish a Windows 10 Game with Unity
 
Mobile App Trends for 2017: Design, Monetization & More
Mobile App Trends for 2017: Design, Monetization & MoreMobile App Trends for 2017: Design, Monetization & More
Mobile App Trends for 2017: Design, Monetization & More
 
A lap around Windows Phone 8.1
A lap around Windows Phone 8.1A lap around Windows Phone 8.1
A lap around Windows Phone 8.1
 
Windows Universal Apps
Windows Universal AppsWindows Universal Apps
Windows Universal Apps
 
WWDC 2016 Recap
WWDC 2016 RecapWWDC 2016 Recap
WWDC 2016 Recap
 
Keyboard_Kung_Fu
Keyboard_Kung_FuKeyboard_Kung_Fu
Keyboard_Kung_Fu
 
5 Easy Steps to Learn Espresso
5 Easy Steps to Learn Espresso5 Easy Steps to Learn Espresso
5 Easy Steps to Learn Espresso
 
Gassumo Outlook Android Task Synchronizer v1.0.0.7 Installation and first syn...
Gassumo Outlook Android Task Synchronizer v1.0.0.7 Installation and first syn...Gassumo Outlook Android Task Synchronizer v1.0.0.7 Installation and first syn...
Gassumo Outlook Android Task Synchronizer v1.0.0.7 Installation and first syn...
 
Leap ahead with windows 10
Leap ahead with windows 10Leap ahead with windows 10
Leap ahead with windows 10
 
Android and Jelly Beans
Android and Jelly Beans Android and Jelly Beans
Android and Jelly Beans
 
Windows Universal Apps
Windows Universal AppsWindows Universal Apps
Windows Universal Apps
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Bai thuc hanh lap trinh Android so 1
Bai thuc hanh lap trinh Android so 1Bai thuc hanh lap trinh Android so 1
Bai thuc hanh lap trinh Android so 1
 
The Ring programming language version 1.5.3 book - Part 4 of 184
The Ring programming language version 1.5.3 book - Part 4 of 184The Ring programming language version 1.5.3 book - Part 4 of 184
The Ring programming language version 1.5.3 book - Part 4 of 184
 
L知っているか tvOSアプリは iOSアプリと全く異なることを
L知っているか tvOSアプリは iOSアプリと全く異なることをL知っているか tvOSアプリは iOSアプリと全く異なることを
L知っているか tvOSアプリは iOSアプリと全く異なることを
 
Cotopaxi App Runthrough for Questival
Cotopaxi App Runthrough for QuestivalCotopaxi App Runthrough for Questival
Cotopaxi App Runthrough for Questival
 

Viewers also liked

Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Fwdays
 
Introduction to the Android NDK
Introduction to the Android NDKIntroduction to the Android NDK
Introduction to the Android NDKBeMyApp
 
Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)DroidConTLV
 
Android 6.0 Marshmallow - Everything you need to know !
Android 6.0 Marshmallow - Everything you need to know !Android 6.0 Marshmallow - Everything you need to know !
Android 6.0 Marshmallow - Everything you need to know !Edureka!
 
Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編OESF Education
 
Amazon interview questions
Amazon interview questionsAmazon interview questions
Amazon interview questionsSumit Arora
 
Top 10 senior technical architect interview questions and answers
Top 10 senior technical architect interview questions and answersTop 10 senior technical architect interview questions and answers
Top 10 senior technical architect interview questions and answerstonychoper5406
 
Architecture drawing presentation
Architecture drawing presentationArchitecture drawing presentation
Architecture drawing presentationCarlson Ko
 
Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)Xavier Hallade
 
Complexity and Solution Architecture
Complexity and Solution ArchitectureComplexity and Solution Architecture
Complexity and Solution ArchitectureAlan McSweeney
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptswweinmeyer79
 
Structured Approach to Solution Architecture
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution ArchitectureAlan McSweeney
 

Viewers also liked (13)

Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"
 
Introduction to the Android NDK
Introduction to the Android NDKIntroduction to the Android NDK
Introduction to the Android NDK
 
Android ndk: Entering the native world
Android ndk: Entering the native worldAndroid ndk: Entering the native world
Android ndk: Entering the native world
 
Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)
 
Android 6.0 Marshmallow - Everything you need to know !
Android 6.0 Marshmallow - Everything you need to know !Android 6.0 Marshmallow - Everything you need to know !
Android 6.0 Marshmallow - Everything you need to know !
 
Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編
 
Amazon interview questions
Amazon interview questionsAmazon interview questions
Amazon interview questions
 
Top 10 senior technical architect interview questions and answers
Top 10 senior technical architect interview questions and answersTop 10 senior technical architect interview questions and answers
Top 10 senior technical architect interview questions and answers
 
Architecture drawing presentation
Architecture drawing presentationArchitecture drawing presentation
Architecture drawing presentation
 
Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)Using the Android Native Development Kit (NDK)
Using the Android Native Development Kit (NDK)
 
Complexity and Solution Architecture
Complexity and Solution ArchitectureComplexity and Solution Architecture
Complexity and Solution Architecture
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 
Structured Approach to Solution Architecture
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution Architecture
 

Similar to React Native Android. It's easy.

How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?Flutter Agency
 
Introduction To Android For Beginners.
Introduction To Android For Beginners.Introduction To Android For Beginners.
Introduction To Android For Beginners.Sandeep Londhe
 
Homework seriesandroidworkshop JUly 12th
Homework seriesandroidworkshop JUly 12thHomework seriesandroidworkshop JUly 12th
Homework seriesandroidworkshop JUly 12thRishi Kumar
 
Android testing
Android testingAndroid testing
Android testingBitbar
 
iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to productjoeysim
 
Dev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guideDev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guideTrioBlack Trioblack
 
Android software development – the first few hours
Android software development – the first few hoursAndroid software development – the first few hours
Android software development – the first few hourssjmarsh
 
Final NEWS.pdf
Final NEWS.pdfFinal NEWS.pdf
Final NEWS.pdfRebaMaheen
 
Final NewsApp.pdf
Final NewsApp.pdfFinal NewsApp.pdf
Final NewsApp.pdfRebaMaheen
 
02.1 - Getting Started with Android
02.1 - Getting Started with Android02.1 - Getting Started with Android
02.1 - Getting Started with AndroidOum Saokosal
 
Appium Overview - by Daniel Puterman
Appium Overview - by Daniel PutermanAppium Overview - by Daniel Puterman
Appium Overview - by Daniel PutermanApplitools
 

Similar to React Native Android. It's easy. (20)

Synapseindia android apps application
Synapseindia android apps applicationSynapseindia android apps application
Synapseindia android apps application
 
How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?
 
Introduction To Android For Beginners.
Introduction To Android For Beginners.Introduction To Android For Beginners.
Introduction To Android For Beginners.
 
Homework seriesandroidworkshop JUly 12th
Homework seriesandroidworkshop JUly 12thHomework seriesandroidworkshop JUly 12th
Homework seriesandroidworkshop JUly 12th
 
Bird.pdf
 Bird.pdf Bird.pdf
Bird.pdf
 
Appium- part 1
Appium- part 1Appium- part 1
Appium- part 1
 
MSR iOS Tranining
MSR iOS TraniningMSR iOS Tranining
MSR iOS Tranining
 
Android programming-basics
Android programming-basicsAndroid programming-basics
Android programming-basics
 
Android testing
Android testingAndroid testing
Android testing
 
Android wear notes
Android wear notesAndroid wear notes
Android wear notes
 
Android wear notes
Android wear notesAndroid wear notes
Android wear notes
 
iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to product
 
Dev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guideDev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guide
 
Android - Getting started with Android
Android - Getting started with Android Android - Getting started with Android
Android - Getting started with Android
 
Cs4hs android-01hello
Cs4hs android-01helloCs4hs android-01hello
Cs4hs android-01hello
 
Android software development – the first few hours
Android software development – the first few hoursAndroid software development – the first few hours
Android software development – the first few hours
 
Final NEWS.pdf
Final NEWS.pdfFinal NEWS.pdf
Final NEWS.pdf
 
Final NewsApp.pdf
Final NewsApp.pdfFinal NewsApp.pdf
Final NewsApp.pdf
 
02.1 - Getting Started with Android
02.1 - Getting Started with Android02.1 - Getting Started with Android
02.1 - Getting Started with Android
 
Appium Overview - by Daniel Puterman
Appium Overview - by Daniel PutermanAppium Overview - by Daniel Puterman
Appium Overview - by Daniel Puterman
 

Recently uploaded

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

React Native Android. It's easy.

  • 1. React Native Android React Native meetup OscarNYC May 11, 2016 Cameron Moss Developer, Library For All cameron@libraryforall.org twitter: @fasterpancakes @LibraryForAll
  • 2. What we do Library For All is a nonprofit building a digital library for children living in developing countries who have limited access to books
  • 4. Curious About React Native? Start with Android!
  • 6. For iOS you’ll need: 1. An Apple Developer Account 2. A Mac 2. GUI Development Software
  • 7. To install/demo an iOS app you’ll need to:
  • 8. To install/demo an iOS app you’ll need to: 1. Apply for the iOS developer platform 2. Obtain a Certificate 3. Register your device
  • 10.   For Android you need: 1. A text editor 2. A terminal 2. A device (or emulator)
  • 11. To install/demo an Android app you’ll need to:
  • 12. To install/demo an Android app you’ll need to: 1. Turn on developer mode (click “about phone” 10 times)
  • 13. Setting up the Android Environment (you don’t need to install Android Studio) http://facebook.github.io/react-native/releases/0.21/docs/getting-started.html 1. Install Android SDK (Software Development Kit) 2. Define the ANDROID_HOME environment variable inside of ~/.bashrc: export ANDROID_HOME=’$HOME/Android/Sdk’ 3. Configure the SDK type “android” in the terminal install suggested packages 4. “npm install -g react-native-cli”
  • 14. Create an app 1. Find a starter 2. Clone the app 3. “cd ./app” 4. “npm install”
  • 15. Running an app 1. Connect a device or run Genymotion 2. “react-native start” 3. “react-native run-android” 4. “adb reverse tcp:8081 tcp:8081” (device) or enter IPAddress:8081 5. demo
  • 16. Debugging Tools 1. shake the phone to get the menu 2. enable hot-reloading 3. debug in chrome 4. inspector
  • 17. The Dance ( or adding Android Modules ) + npm install [module]
  • 18. Adding images 1. add your_image.png to /res folder 2. source={require(‘image!your_image’)} // no extension 3. you cannot use a this in a loop like require(imgArr[i])
  • 19. Adding icons 1. add react-native-vector-icons (do the dance) 2. import Icon from ‘react-native-vector-icons/FontAwesome’ 3. <Icon name=’android-menu’ size={30} color=’#fff’ />
  • 21.
  • 22. Pain Points 1. UI 2. List View 3. ES6 and sometimes not 4. Local Storage
  • 23. Best Tools 1. Couchbase Lite (device database) 2. Redux 3. fetch(url).then((res) => if (res.status == 401) { return res.json(); }).catch((err) => { throw err; }) 4. Color - Style - Google design guidelines 5. Facebook (upgrading whenever you can)
  • 24. Final Thoughts 1. Production Ready? 2. Which Router? Experimental or RN Router but not Navigator 3. Contributing