Presented June 25, 2020 remotely for the Mobius conference based in St Petersburg: https://mobius-piter.ru/en/2020/spb/talks/5rurofsaorksrtqprfpqsm/
Ash Furrow, Mobile Experience Tech Lead @ ArtsyMigrating to React NativeA Long-Term Retrospective
View Slide
Story Time
Mobile Web3 EngineersObjective-C and Ruby7 EngineersRuby, CoffeeScript/JSUIKit Mostly Backbone2014
Eigenhttps://github.com/artsy/eigen
/artist/banksyRouter View Controller/artist/:idURLhttps://artsy.github.io/blog/2015/08/19/Cocoa-Architecture-Switchboard-Pattern/
https://artsy.github.io/blog/2015/08/24/Cocoa-Architecture-Hybrid-Apps/Native Web Native*TAP**TAP*
Swift
Eidolonhttps://github.com/artsy/eidolon
Add Swift to Eigen2016
Let’s try out React Native2016https://artsy.github.io/blog/2017/07/06/React-Native-for-iOS-devs/
Swift: a new approach to buildingsoftware in an old way.React Native: a totally new, better wayof building software.
Most Apps Are Only a UIFor an API
Emissionhttps://github.com/artsy/emission
https://artsy.github.io/blog/2018/04/17/making-a-components-pod/EmissionEigenPodfile
/inboxRouter View Controller/inboxURL
JavaScriptTypeScript
Re-org2016https://artsy.github.io/blog/2016/03/28/artsy-engineering-organization-stack/
Product Team3–6 Engineers (web, mobile)1 Designer1 Product Manager1 Data Analyst
Pausing on Swift & Objective-C2016 2017https://artsy.github.io/blog/2017/02/05/Retrospective-Swift-at-Artsy/
GraphQL, Relay2016 2017https://artsy.github.io/blog/2019/04/10/omakase-relay/
RelayGraphQLRequesthttps://ashfurrow.com/blog/the-spirit-of-moya/
X React Nativehttps://artsy.github.io/artsy-x-react-native
Changing My Mind on RNhttps://ashfurrow.com/blog/swift-vs-react-native-feels/
Palette: Artsy’s SharedComponent Library2016 2017 2018https://github.com/artsy/palette
name="Christopher Wool"meta="American, b. 1955"imageURL={…}FollowButton={…}/>
Continuing New Work inReact Native2016 2017 2018
Invest in Training2016 2017 2018 2019https://github.com/artsy/README/tree/master/resources/mobile/learning-group
Created MX Team2016 2017 2018 2019
Combining Repos2016 2017 2018 2019 2020
Five Teams BuildingiOS Software
App ranking hits 4.72016 2017 2018 2019 2020
2016 2017 2018 2019 2020
Lessons1. React Native: Effective, When Used Well2. You Still Need Native Experts3. “Incremental Revolution”4. Use Culture to Drive Tech Decisions5. You Need an Empowered Team6. Technical / Cultural Debt
React Native: Effective WhenUsed Well
You Still Need Native Experts
Incremental Revolution
Use Culture to Drive TechDecisions
Decide What You WantYour Culture To BeMake Tech DecisionsTo Support That CultureThe Tech ChoicesInfluence Your Culture
You Need an Empowered Team
Technical / Cultural Debt
What’s Next?
“Tout comprendre, c’est tout pardonner.”“To understand is to forgive.”