From complex to simple
- Too many abstraction layers
- Low confidence
- Difficult state bugs
Original focus: Ship, not maintainability.
Simple -> predictable -> Reliably
Obvious solution: PayPal choose to use React.
Lessons learned with React:
- React simplifies the view (fewer files)
- Quick win
- Push it to production to test it in the wild
Originally: Backbone routing was used.
Solution: Use React Router and bridge with Backbone router for the time being.
Rewrite took 3 weeks.
Originally: Backbone models & collections which become complex easily.
Solution: Redux. You can go back and forth in time, reducing the debugging time from hours to minutes.
What about old data?
Rebuilding means lots of A/B testing and QA.