react native android. it's easy

24
React Native Android React Native meetup OscarNYC May 11, 2016 Cameron Moss Developer, Library For All [email protected] twitter: @fasterpancakes @LibraryForAll

Upload: cameron-moss

Post on 15-Apr-2017

228 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: React Native Android. It's easy

React Native AndroidReact Native meetup

OscarNYC May 11, 2016

Cameron MossDeveloper, Library For All

[email protected]

twitter: @fasterpancakes @LibraryForAll

Page 2: React Native Android. It's easy

What we do

Library For All is a nonprofit building a digital library for children livingin developing countries who have limited access to books

Page 3: React Native Android. It's easy

Curious About React Native?

Page 4: React Native Android. It's easy

Curious About React Native?

Start with Android!

Page 5: React Native Android. It's easy

For iOS you’ll need:

Page 6: React Native Android. It's easy

For iOS you’ll need:

1. An Apple Developer Account

2. A Mac

2. GUI Development Software

Page 7: React Native Android. It's easy

To install/demo an iOS app you’ll need to:

Page 8: React Native Android. It's easy

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

Page 9: React Native Android. It's easy

For Android you need:

Page 10: React Native Android. It's easy

For Android you need: 1. A text editor

2. A terminal

2. A device (or emulator)

Page 11: React Native Android. It's easy

To install/demo an Android app you’ll need to:

Page 12: React Native Android. It's easy

To install/demo an Android app you’ll need to:

1. Turn on developer mode (click “about phone” 10 times)

Page 13: React Native Android. It's easy

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”

Page 14: React Native Android. It's easy

Create an app

1. Find a starter

2. Clone the app

3. “cd ./app”

4. “npm install”

Page 15: React Native Android. It's easy

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

Page 16: React Native Android. It's easy

Debugging Tools

1. shake the phone to get the menu

2. enable hot-reloading

3. debug in chrome

4. inspector

Page 17: React Native Android. It's easy

The Dance ( or adding Android Modules )

+ npm install [module]

Page 18: React Native Android. It's easy

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])

Page 19: React Native Android. It's easy

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’ />

Page 20: React Native Android. It's easy

Pain Points

1. UI

Page 21: React Native Android. It's easy
Page 22: React Native Android. It's easy

Pain Points

1. UI

2. List View

3. ES6 and sometimes not

4. Local Storage

Page 23: React Native Android. It's easy

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)

Page 24: React Native Android. It's easy

Final Thoughts

1. Production Ready?

2. Which Router?

Experimental or RN Router but not Navigator

3. Contributing