Five years of React Native at Shopify

Role of Native vs React Native Developers

  • Many agree with Shopify’s emphasis that strong native iOS/Android engineers are essential for good RN apps.
  • Common view: RN is a tool for mobile devs to avoid writing two separate native apps, not a shortcut to avoid learning native or to “just reuse web devs.”
  • Teams mixing native mobile and web/JS expertise are seen as higher quality but also more expensive; RN isn’t the “cheap” option some expect.

Maintenance, Tooling, and JS Ecosystem Concerns

  • Several complain about dependency churn, fragile tooling, and frequent breaking changes in the JS/React/RN ecosystem.
  • Others push back, claiming most core JS libs are stable and asking for concrete examples.
  • Maintenance cost and staffing profile (team size, skills, ability to absorb churn) are called out as under-appreciated decision factors.

Performance and the “<500ms Screen Loads” Claim

  • The “sub‑500ms (P75) screen loads” claim is heavily debated.
  • Critics say 500ms is far from “blazing fast,” especially if that’s P75, implying poor tail latencies; compare to UX research suggesting ~100ms feels instant.
  • Some argue it’s acceptable if it includes network round-trip, parsing, and rendering on mobile networks; others insist backend and DB latency should be far lower.
  • There is disagreement over what “screen load” includes and how meaningful P75 is; several worry high p95/p99 values are being obscured.
  • Some users report the Shopify app feels sluggish in practice, especially on Android; others say it feels “nice and speedy.”

Developer Experience and Productivity

  • Hot reload and short feedback cycles are major reasons people like RN; long native compile times are seen as a serious drag on productivity.
  • Some argue previous generations shipped fast native software without hot reload, while others say that ignores cognitive cost of constant context switching.

Cross‑Platform Alternatives (Expo, Flutter, Hotwire, etc.)

  • Expo is praised for simplifying RN upgrades and native config via “continuous native generation,” though Shopify appears to be on bare RN.
  • Flutter/Dart is frequently lauded for superior tooling and dev experience; critics note Flutter’s non-native widgets can feel “off.”
  • Hotwire Native is mentioned positively as simpler and more stable for certain projects, contrasting with complex React maintenance.

User Experience and Quality Bar

  • Many feel modern apps (web and RN) accept latency and jank that would have been unacceptable a decade ago.
  • Some argue typical users care more about features and brand than raw speed; others see this as part of broader “enshittification.”
  • Requests for basics like dark mode and better accessibility contrast with the engineering focus on frameworks and architecture.