Building React web and React Native apps with shared code
Tyrone Trevorrow: @tyrone_mpolee Tim Sawtell: @saw083 Damon Smith: @damondefault
Building React web and React Native apps with shared code Tyrone - - PowerPoint PPT Presentation
Building React web and React Native apps with shared code Tyrone Trevorrow: @tyrone_mpolee Tim Sawtell: @saw083 Damon Smith: @damondefault Outline 1. Why Sportsbet would consider React and React Native 2. What React and React Native offers
Building React web and React Native apps with shared code
Tyrone Trevorrow: @tyrone_mpolee Tim Sawtell: @saw083 Damon Smith: @damondefault
Outline
Our (old) teams
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 4We get things wrong before we get things right.
— Alistair Cockburn
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 5Our teams
cross functional teams
features
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 6Our front end apps
Our customers
intuitive journeys
customers
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 8Our apps are complex
multiple times
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 9Important code
We saw an opportunity
Imagine if ...
important code once, and style the views in their platform specific variants
12Imagine if you could
your high standard for
customer user experience
13Due Diligence
customers)
We built a prototype
Architecture
Single Repository
Architecture
Modules
almost like self contained apps
each contain:
Architecture
Packagers
Architecture
Platform specific components
Architecture
Container Components
independent components between platform-specific ones.
logic.
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 22Platform Specific
Web: Root iOS: "navigator"
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 25Platform Independent
"Container"
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 27Container
Root [Native/Web Platform Specific] └─┬ Container [Cross Platform] └── MatchList [Native/Web Platform Specific]
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 28Container
Root...
// root.jsx import { MatchList } from "./web/match_list" import { Container } from "./common/container" ... <Container child={MatchList}>
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 31Platform Specific
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 34Platform Specific
We'd love to show you an example ...
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 36Next steps: Showcase to CIO
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 37We trained our developers
Summary
Contact Us
Tyrone Trevorrow: @tyrone_mpolee Tim Sawtell: @saw083 Damon Smith: @damondefaultTry it yourself
https://github.com/sportsbet
https://github.com/sportsbet/just-the-tip
Tyrone Trevorrow. Tim Sawtell. Damon Smith. 40