Behind the Global Launch: Decoding the Android Engineering Strategy for Our New App

Bài tóm tắt Mercari 2025 3. Quy mô lớn Độ khó: Dễ

Mercari · 2025 · 3. Quy mô lớn · Độ khó: Dễ — bài gốc

Một bài trong series Global App (ngoài sheet). Phía iOS: Mercari 2025.

Bối cảnh

  • Mercari đã chạy cả ba hướng: app Nhật Jetpack Compose (viết lại khoảng 3 năm trước, hơn 10 triệu lượt tải), Mercari US React Native, Mercari Hallo Flutter. Tiêu chí cho app mới: ra nhanh, đội nhỏ, nền mở rộng được lâu dài.

Thay đổi chính

  • Native thay vì cross-platform: theo bài, hybrid nhìn trên giấy thì nhanh hơn, nhưng lựa chọn đúng tuỳ tài sản sẵn có. Kinh nghiệm Hallo (Flutter): nền móng sẵn có không dùng lại được, phải dựng lại thư viện xác thực, logging sự kiện, thí nghiệm, CI/CD. App native dùng lại hết.
  • Monorepo hai thư mục chính: product (jp, global; mỗi cái có app/core/feature) và library (nền dùng chung). Plugin modules-graph-assert kiểm đồ thị phụ thuộc trên CI và làm build fail nếu vi phạm: module sản phẩm không phụ thuộc sản phẩm khác; library không phụ thuộc product. Giữ ranh giới để còn tách repo khi cần.
  • Một bản build toàn cầu (một APK/AAB cho mọi vùng) thay vì build theo nước: một thứ để test và phát hành, sửa lỗi tới mọi người cùng lúc, không trôi dạt giữa các bản. Khác biệt theo nước do BFF và remote config (feature flag theo nước) quyết định. Đổi lại: một lỗi nghiêm trọng ảnh hưởng mọi vùng cùng lúc.
  • BFF + gRPC (thư viện Wire của Square, hợp stack OkHttp) thay REST của app Nhật. Giá: duy trì hai client stack vì các dịch vụ dùng chung vẫn REST, cần cơ chế phân phối proto, công cụ debug gRPC kém JSON cho developer và QA.

Vì sao

  • Tốc độ của đội nhỏ đến từ tài sản dùng lại được, không từ framework.

Bài học cho SWE

  • So framework phải tính cả hệ sinh thái nội bộ đã có cho từng lựa chọn.
  • Ranh giới monorepo phải được kiểm bằng máy trên CI, không chỉ bằng guideline (phía iOS mới có guideline).
  • Một build cho mọi thị trường đẩy khác biệt về cấu hình phía server; đó là đánh đổi bán kính ảnh hưởng lấy đơn giản phát hành.

Liên quan