
ทำการสรุปสิ่งที่ฟังใน Building Reddit’s iOS and Android app จากช่องของ The Pragmatic Engineer
เป็นแนวทางการพัฒนา Mobile app ขึ้นมาใหม่
จากของเดิมที่ code มีความเยอะและซับซ้อน
ทั้ง Android และ iOS แบบ native
ทีมพัฒนามากกว่า 200 คน
โดยในปี 2021 นั้นทีมได้ตัดสินใจเขียน app ใหม่ขึ้นมาทั้งหมด
เนื่องจาก code มีความซับซ้อนอยู่ใน single code-based
ทำการแบ่งเป็น module มากกว่า 580 module
มี 20 feature team ที่ร่วมกันพัฒนาระบบนี้
ยิ่งพัฒนาไปยิ่งช้า ส่งผลกระทบต่อ business อย่างหลีกเลี่ยงไม่ได้
มาดูแนวทางการพัฒนาเป็นอย่างไร
มี test strategy อย่างไร
ทำการปรับปรุง DevX (Developer eXperience) อย่างไร
แล้วผลที่ได้ออกมาเป็นอย่างไรบ้าง
สิ่งที่น่าสนใจคือ Technology และ แนวทางในการพัฒนา
เพื่อลดปัญหาต่าง ๆ ที่เคยเจอมา
ทั้งแนวคิดขแง mobile-first
ทั้งการใช้งาน design system
ทั้งการพัฒนาส่วนของ UI ที่ใช้ Jetpack compose ใน Android app
และ SliceKit แทน SwiftUI
เป็น UI framework ของ Reddit ที่พัฒนาขึ้นมาสำหรับ iOS app
เพื่อให้ code มีรูปแบบเดียวกัน ลดการทำซ้ำ หรือ ทำขึ้นมาใหม่เอง (reuse)
และจัดการ config ต่าง ๆ ได้ง่ายขึ้น
เปลี่ยนโครงสร้างจาก MVP(Model View Presenter) มายัง MVVM(Model View ViewModel)
และ มีการนำแนวคิด Server-driven UI มาใช้งาน
อีกทั้งยังจัดการ module by feature และ monorepos

น่าสนใจสำหรับแนวทางการพัฒนา