Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why we built a 35kB React Native alternative?w

Why we built a 35kB React Native alternative?w

Sahebjot singh

January 25, 2018
Tweet

Other Decks in Technology

Transcript

  1. Juspay UPI SDK for top Apps UPI for Petroleum New

    Juspay Safe SDK powers 100 million + devices 20 million with BHIM
  2. • Functional Javascript (ramda.js, Rxjs) • Languages that compile to

    JS Clojurescript, Elm, Eve Finding better ways to program
  3. SDK Requirements Dynamic updates to UI and User Flows SDK

    size <150kB Experimented with configurable Html5 components
  4. PrestoUI - Our alternative • Managed to build it, initial

    Android SDK size 21kB • Current library overhead of just 35kB
  5. Reflection reflection is the ability of a computer program to

    examine, introspect, and modify its own structure and behavior at runtime - Wikipedia • Performance is an issue • Solved by ◦ Memoization of functions ◦ Caching UI View Trees
  6. Functional Programming! PureScript • Pure Functional Programming Language • Strong

    Types • Category Theory (Functors / Monads / Applicatives) • Best of Haskell and Javascript
  7. Goal DSL - Flow Language billPayFlow :: Flow BillPayFailure StatusScreenAction

    billPayFlow = do _ <- UI.splashScreen -- Get the mobile operator from the user operators <- Remote.fetchOperators operator <- UI.chooseOperator operators -- Recharge Form & Call Recharge API mobileNumber <- UI.askMobileNumber amount <- UI.askAmount result <- Remote.payBill mobileNumber amount UI.billPayStatus mobileNumber amount result
  8. Next Steps Auto generate UI Components from designs • Eliminates

    designer-to-developer handover process • Hot Reload • Pixel perfect
  9. Steep learning curve School of Functional Programming • Zero to

    Monads in 1 hour • Simple DSL - Get started with Apps without deep functional knowledge
  10. My Journey Fresh out of college, As an intern •

    Obsessed with the project • Almost gave up