A personal goal for me at the end of my time at the Flatiron School’s immersive software engineering program is to learn how to get a web application from hosted on a cloud platform like Heroku to available for download on the Android app store. With that goal in mind and the upcoming Module 5 Final project upcoming I decided to take some time to dive into React Native.
Native: Refers to a software program that is developed for use on a particular platform or device
- If you know React you can use React Native
- Flexible framework that can incorporate native code and integrate smoothly
- Faster development and delivery to market time
- Hot Reloading — allows developers to rewrite the application on the fly and reload to see the effect similarly to web development
- Allows developers to build one app that can be shared between platforms
- One app means bug tracing requires less effort between platforms — either the bug is in both or solved
- Can still utilize Chrome or Safari’s developer tools to debug
- Allows for lean development — less team members necessary when only one app is being produced rather than platform specific versions
- It’s new (released in March 2015) and relatively young
- Community still growing — only 500 questions on StackOverflow
- Google’s recently released alternative to React Native, Flutter , is on the rise
For the purpose of this exploration I will be highlighting the installation method utilizing Expo tools rather than Xcode or Android Studio as that is best suited to my background of knowledge. There is an alternative tutorial available on theReact Native getting started guide.
- Use npm(outlined above) to install the Expo CLI command line utility
- Install the Expo client app on your iOS or Android phone and connect to the same wireless network as your computer. On Android, use the Expo app to scan the QR code from your terminal to open your project. On iOS, follow on-screen instructions to get a link.
With just a few steps you are all set to get started with building a React Native application!
What is React Native: https://www.youtube.com/watch?v=JKCgwL-IfgM&t=119s
FreeCodeCamp React Native Intro with Native Code : https://www.youtube.com/watch?v=frvXANSaSec
Expo documentation: https://docs.expo.io/versions/latest/
Helpful React Native Component Libraries: https://blog.bitsrc.io/11-react-native-component-libraries-you-should-know-in-2018-71d2a8e33312
Flutter — A Google Alternative: https://codeburst.io/flutter-vs-react-native-detailed-comparison-similarities-and-superiority-3e92b910fa6e
Will Flutter Kill React Native?: https://www.youtube.com/watch?v=gWs3UQzrhtE
Building the F8 App: https://makeitopen.com/