OUR AMAZING TEAM
Backend Developer
Eugenio
Frontend Developer
Yevhen
Mobile Developer
Eugene
There is no limit if logic
3x engineer
write applications…obviously
hire teams
consult
make workshops…sometimes
own the dog
I
OK…
1 repo
React + React Native
ideas…
Where are you
Building from scratch
Web application is ready
Mobile application is ready
Mobile & Web applications are ready
Classic Case
iOS Android Web
Product
Technologies
iOS Android Web
Swift / Objective-C Java / Kotlin Java Script
React
Angular
Vue
Ember
Elm
Svelte
TypeScript
jQuery ;)
and
much more
People Funnel
iOS
Team
Android
Team
Web
Team
Team
Lead
Team
Lead
Team
Lead
Product Owner
React Promise
React
Native
React
Web
Team Lead
Product Owner
React Promise
React Team
Team Lead
Product Owner
Native
Team
Issues
• Technologies
• Task synchronization
• Delivery synchronization
• Hiring
• People, people, people
How do you solve
all those issues?
React Promise
• One language - JavaScript / TypeScript
• Single UI library - React
• 1 or 2 teams
• Less expertise for hiring
• Share code between Web and Mobile
There is no Magic Wand
Shared logic
Issue #0
You need to share a code
between web and mobile.
Shared Web Mobile
SHARED WEBMOBILE
Monorepo
npm link
npm link
Issue #1
Metro bundler doesn’t support
symlinks
Issue #2
Build - OK

Development - NOPE

OK
NOPENOPENOPENOPE
WML by WIX
Copies changed files from
source to destination folders
Issue #3
Last update 2 years ago

Unstable
Metro Bundler
Example
Specify any additional (to projectRoot) watch folders, this is used to
know which files to watch.
Which other node_modules to include besides the ones relative to
the project directory. This is keyed by dependency name.
Issue #4
Dependency hell

Dependencies
Lerna
Tool for managing JavaScript projects with multiple packages.
Lerna
lerna.json
lerna.json
Lerna
Manage dependencies
…OR…
Web vs Mobile
Issue #4
Core code should be platform
agnostic
Web
React
Native
React Native for Web💪 💪
Browser
React
HTML & CSS
TC39Browser
implementation
babel
any other bug
Markup
Mobile Platform
React Native
React Native for Web
React
Browser
Potential issues
• React Native bugs, controls and behavior issues
• React Native for Web bugs, limits, interpretation
• 3rd party components and markup control
• Styling
• Integration
Issue #5
Web and Mobile application
should behave similar
React Web React Native
Web page
layout
Mobile screen
layout
What to expect
• Data loading strategy can be different
• Data source structure can be different, SectionList for example
The End
• Keep your estimates real
• Check the idea before “yes, we’ll do it”
• Talk to your Product Owner, share the potential issues and limits
• Relax and write the code
Thank you
2j2e
eu.zharkov@gmail.com

Monorepo: React + React Native. React Alicante