React Native - Learn once, Write everywhere

or: How I learned to Stop Worrying and Love the 'book (Facebook)

React Native is a technology that makes it possible to create apps that work on multiple platforms, such as Android and iOS.

/react-native-android-ios.png

Strengths

  • Created by Facebook.
  • Write one app that works on both iOS and Android.
  • Groundswell of support. Find solutions to common problems easily.
  • Open source - broad ecosystem & robust community
  • React Native is used internally by Facebook, so we can rest assured that it will continue to be well-supported in the future.

Weaknesses

  • Minor differences between the Android and iOS platforms may require redress.
  • Inherently asynchronous.
  • Many native device features require 3rd party packages.
  • Fast moving target - still in active development, monthly new versions frequently include breaking changes.
  • React Native acts as a bridge between JS and native platform code, so it’s not as efficient as native apps written with Java (Android), or Swift / Objective-C (iOS).

What is a React Native app?

Although based on the React framework of web-development fame, React Native apps are NOT web-apps or websites. This is because the UI components are expressed by native platform code. React Native allows us to build something similar to a React.js web app, but essentially replaces the React’s HTML DOM with native UI components.

npx --package react-native-cli react-native
[Read More]

React Native

A return to gigabyte-guzzling development

Now that RecipeTrader is mostly fleshed out and working, I set my sights once again on React Native. I had to re-download a lot of system images, Android Studio, Expo emulators and such, which I had freed up for space. The downloading alone makes this dev-setup a very protracted process.

/Screenshot_2019-07-10_16-16-35-reactnative.png

It’s also extremely rough on space. Here I am, once again precariously close to maxing out the meager 48GiB EXT4 volume which has been my home for years now.

/Screenshot_2019-07-11_10-06-25-gparted.png

Additionally, while emulating phone hardware with Android Studio, I only can expect about 90 minutes of battery life, significantly less than my typical 180 minutes.

[Read More]