React Native

in

Project

Pain points of UX experiment today

  • Client side UX experiment is slow
    • Requires app update even for small changes.
    • Cost of release process eats away benefit if app is released too frequently.
  • Expensive to conduct experiment on two platforms
    • UX development on Android and iOS is completely different.
    • Have to choose one platform at the expense of coverage due to resource constraint.
  • Lack of control after experiment payload is distributed
    • Not all users will update app on regular basis.
    • Problem introduced in experiment cannot be quickly fixed.
    • Cannot pause an active experiment.

React Native

  • Cross platform
  • Everything in JavaScript
  • All about UI
  • Not a Webview
  • Apply to an existing App
  • Productivity
  • Open-Source
  • Node.js eco-system

Why React Native?

  • Cross platform
    • Expensive to conduct experiment on two platforms
  • Productivity
    • Modularity, less code
    • ​Hot reloading
  • Flexible deployment mechanism
    • Client side UX experiment is slow
    • Lack of control after experiment payload is distributed
  • Backed by Facebook and big dev community
    • ​Skype is using React Native to build next generation experience with Cortana integrated.
      • ​Opportunity to leverage work from Skype

Architecture

Engineering Process

  • CortanaReactNative Repo is independently clone into CoA / CoI repo.
  • Develop independently
  • Packaged into ipa / apk in build time
    • CortanaReactNative modules
    • Image assets
    • JS Bundle

Development

CodePush

Made with Slides.com