Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mobile Platform Team. Grab.
Search
Maryna Shaposhnikova
May 19, 2020
Programming
0
330
Mobile Platform Team. Grab.
The talk in Russian is on Youtube
https://www.youtube.com/watch?v=XdoTyQsDo2I&feature=youtu.be
Maryna Shaposhnikova
May 19, 2020
Tweet
Share
More Decks by Maryna Shaposhnikova
See All by Maryna Shaposhnikova
Between Love and Hate: Coroutines
marinameier
1
89
Other Decks in Programming
See All in Programming
Testing Trophyは叫ばない
toms74209200
0
880
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
240
rage against annotate_predecessor
junk0612
0
170
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
460
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
10
4.3k
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
330
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.6k
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
220
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
310
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Agile that works and the tools we love
rasmusluckow
330
21k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Practical Orchestrator
shlominoach
190
11k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Fireside Chat
paigeccino
39
3.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Transcript
Mobile Platform Team. The pillars of Grab.
1. Taxi 2. Food delivery 3. Bike rent 4. Payments
5. Delivery 6. Hotels, tickets 7. Insurance, investments
- Food - Payment - Transport - Express - etc...
- Riblet - MVVM - MVP - MVC - etc... ‼‼ App size… Build time Tech Families
Mobile Platform Team “Team is at Grab responsible to lay
down and continuously improve the software foundations and infrastructure components that all Grab mobile apps are built upon. “ © LinkedIn
None
What are we doing.... Architecture CI Quality Mobile Platform Team
- base components (aka Kits) - build tools (mainframer) - ∞ build time ∞ - support multiple apps - base modules (100+) - dependencies & libraries - CI support - test coverage - migration platform API, plugins, XCode - documentation, WIKI, RFC
- Weekly Delivery Sync - Slack channel - Feature Request
- Open Issues - RFC before delivering Team interaction
Managers Planning Team intro OKR Where does the work come
from?
Architecture pod Delivering features faster. #1 Stop feature delivering #2
Cross-Platform Development Flutter 2018: WebView, ReactNative
P0: Flutter in passenger App. • Native & non-native communication
• Impact: ◦ app size ▪ Android 6MB ▪ iOS 10MB ◦ app start time ▪ Android - ▪ iOS 200ms • Timing Architecture pod
• Integration into passenger app • Flutter Engine: shared or
multi • Flutter Architecture & UI guidelines • Native Bridges • Navigation • Testing • Documentation Architecture pod
CI pod • 600+ modules • Build time: ◦ Android:
11 mins ◦ iOS: 36mins • Gradle • Setup Bazel & Gradle • Migrate gradle scripts • Databinding • Remote cache • Modules migration
CI pod Mainframer Remote execution 1. local files to remote
machine 2. build process 3. artifacts to local machine Problems solved 1. build is really FAST ~ 60% 2. no hard work on laptops
How to evaluate performance? OKR: • build time • app
size • development time • test coverage • release train
“ Nobody likes you Linters & Restrictions: - deprecated code
is forbidden - GIFs, PNGs are forbidden - locked Application file - evaluation for third-party libs
On-call engineer • Open Production issues • CI monitoring ◦
green master • Monitor dashboards ◦ build time degradation ◦ app size degradation ◦ CI failures • Crashes ◦ New crash ◦ Velocity crash ◦ Regression crash • Support
Thank you!