Class 42 Reading: React Native Advanced - mwilkin-401-advanced-javascript/bend-javascript-401d2 GitHub Wiki
React Native Deployments:
It is important to understand that React Native uses the JavaScript logic and transpiles it into the native code of both iOS (Objective-C and Swift) and Andriod (Java).
Ways to Update a deployed application:
-
Over-the-Air (OTA): a new JavaScript bundle is sent out over the air and once a user downloads it, the logic has been updated.
-
App Store: This is a more involved process in that the regular deployment tools are used to upload the new, re-compiled native code which invokes a waiting period and the ususal review process.
Depending on what is being updated, will drive which update method is utilized.
- OTA updates shouldn’t be used for major functionality changes or any significant changes to the app. Typically it is best practice to only send minor improvements and bug fixes in this manner.
- The App store update process should be used for major changes in app functionality, changes in the APIs being utilized or when changes to the native app have been made.
There are tools to enable an easier update process:
-
CodePush for OTA updates: it’s free, easy to setup and easy to use
-
Fastlane for Native Updates is an automation tool for many of the repetitive tasks that are necessary for building the native app.
-
Bitrise or CircleCI for Continuous Integration are great for total automation of the build and deployment process.