ReactFoo 2017

A conference on React

Delivering Instant Update Patches for React Native to 50+ million people

Submitted by Surya Kanoria (@surya0507) on Sunday, 20 August 2017

videocam
Preview video

Technical level

Intermediate

Section

Crisp Talk

Status

Confirmed & Scheduled

View proposal in schedule

Vote on this proposal

Login to vote

Total votes:  +13

Abstract

One of the chief reasons why we adopted React Native at Flipkart was to deliver Over The Air (OTA) updates to our 50+ million users instantly. When we looked at the known existing solutions like CodePush etc, we found three major issues that were not solved but were critical for us:

  1. The updates were not really instant as a cached bundle gets loaded while it silently gets updated in the background.
  2. These updates were enormous in size (around 700kB) as the entire bundle gets downloaded at the client-end everytime an update is shipped. For our average 2G users who visit the app once a month, it would take more than 30s for the React Native bundle to get downloaded and the page to be loaded everytime the App is launched.
  3. We have multiple teams maintaining their own React Native bundles. When these teams themselves share a lot of common components besides the React Native Framework Code, lots of redundant download is caused.

We built our own system which efficiently solved all of these issues and is being used by multiple Apps inside Flipkart.

This talk will give a detailed description of the solution and teach the audience to build their own optimized solution to deliver instant OTA updates for React Native.

Outline

The existing issues with other Over The Air Update solutions
Workings of the React Native Packager
Making the unpredictable bundle generation, predictable
Getting just the update patch
Sharing code between multiple bundles
Further optimizations
Building a generic deployer system.

Speaker bio

Surya Kanoria is a co-creator of the team that started React Native at Flipkart. He developed the Over The Air Update System for React Native. He has also worked on the Android, PWA, AMP and Windows stack at Flipkart apart from React Native. His goal is to improve User Experiences on Mobile Devices and is currently working on developing a Cross Platform Framework.

Slides

https://docs.google.com/presentation/d/1hxtYmpz3ILcItRtBQHim7fmXt_a2vhrLhbv7oXj1Z2U/edit?usp=sharing

Preview video

https://drive.google.com/file/d/0B23aIGqZflkiRFo5OGpfRXBxWEE/view?usp=sharing

Comments

  • 1
    Sandhya Ramesh (@sandhyaramesh) Reviewer a year ago

    Hi Surya, to evaluate your proposal, we need both your slides and a two minute video explaining your talk (or links to previous videos). Please submit these both so that we can proceed with your proposal.

    • 1
      Surya Kanoria (@surya0507) Proposer a year ago

      Hi Sandhya, I have uploaded the outline of my slides and a small preview video. Please let me know if you need anything. Looking forward to an insightful talk :)

Login with Twitter or Google to leave a comment