BeautyPlus เปิดตัวในปี 2013 เป็นหนึ่งในแอปแต่งภาพที่ได้รับความนิยมมากที่สุดในโลก ซึ่งช่างแต่งหน้า ช่างภาพ และผู้ใช้โทรศัพท์มือถือทั่วไปต่างก็ใช้แอปนี้ ในแต่ละเดือนมีผู้คนประมาณ 50 ล้านคนใช้แอปนี้เพื่อแก้ไขและเพิ่มฟิลเตอร์ให้กับเซลฟี รูปภาพ และวิดีโอ พัฒนาโดย Xiamen Meitu Technology Co. ของจีน Ltd. แอปนี้ (ซึ่งได้รับความนิยมเป็นพิเศษในกลุ่มคนที่ชอบถ่ายเซลฟี) ใช้ทำทุกอย่างตั้งแต่ ปรับสีผิวและทำให้รอยยิ้มสดใส ไปจนถึงการปรับรูปร่างให้ผอมเพรียวและใช้แอร์บรัช ลบรอยตำหนิ ทั้งหมดนี้ทำได้ด้วยการลากและคลิกเพียงไม่กี่ครั้ง
เนื่องจากบริษัทอัปเดตแอปบ่อยครั้ง จึงต้องมีนักพัฒนาซอฟต์แวร์จำนวนมาก แต่เมื่อเวลาผ่านไป สถาปัตยกรรมพื้นฐานก็เริ่มขาด ความสม่ำเสมอและความชัดเจน ทีมที่ทำงานอย่างรวดเร็วต้องการวิธีแจ้งให้ นักพัฒนาแอปที่ทำงานร่วมกันทราบอยู่เสมอ พร้อมทั้งลดความซับซ้อนในการจัดการวงจร และ แก้ไขปัญหาเกี่ยวกับการรีเฟรช UI แบบอะซิงโครนัส

รูปที่ 1: ตัวอย่างเซสชันการแต่งรูปภาพใน BeautyPlus
สิ่งที่พวกเขาทำ
คอมโพเนนต์สถาปัตยกรรมของ Android มีเครื่องมือที่นักพัฒนาแอปจำเป็นต้องใช้เพื่อทำให้โค้ดของแอปกระชับ มั่นคง และอ่านง่ายขึ้นสำหรับวิศวกรใหม่ๆ เมื่อเริ่มใช้งาน
คอมโพเนนต์ที่นักพัฒนาแอป BeautyPlus เริ่มใช้คือ
ViewModel
ซึ่งช่วยให้ประมวลผลตรรกะได้ง่ายขึ้น
ด้วยการอัปเดตกิจกรรมและ Fragment ViewModel
ออกแบบมาเพื่อ
จัดเก็บและจัดการข้อมูลที่เกี่ยวข้องกับ UI ในลักษณะที่คำนึงถึงวงจร
โดยเคารพวงจรของคอมโพเนนต์อื่นๆ ของแอป
นอกจากนี้ ยังใช้ประโยชน์จากคอมโพเนนต์ LiveData
ซึ่งเป็นคลาสที่เก็บข้อมูลที่สังเกตได้ซึ่งรับรู้ถึงวงจรของแอปด้วย เพื่อช่วย
ให้มั่นใจว่า UI ตรงกับสถานะข้อมูล ทีมพบว่าคอมโพเนนต์สถาปัตยกรรม Android
เหล่านี้ใช้งานง่ายโดยไม่พบปัญหาใดๆ และ
เห็นประโยชน์ได้อย่างรวดเร็ว
ผลลัพธ์
Android Architecture Components ช่วยให้แอป BeautyPlus มีโค้ดที่กระชับขึ้น 5% และอ่านง่ายขึ้น 15% ทันที นอกจากนี้ สถาปัตยกรรมยังมีความเป็นหนึ่งเดียวกันมากขึ้น ช่วยประหยัดเวลาและความพยายามของนักพัฒนาซอฟต์แวร์ และช่วยให้นักพัฒนาซอฟต์แวร์หน้าใหม่ เรียนรู้ได้อย่างรวดเร็ว นอกจากนี้ ยังมีปัญหาหน่วยความจำรั่วน้อยลง การรีเฟรชข้อมูลทำได้ง่ายขึ้น และนักพัฒนาแอปไม่ต้องกังวลเรื่องการอัปเดต UI แบบไม่พร้อมกันอีกต่อไป
"เมื่อเราใช้ ViewModel และ LiveData สำหรับ BeautyPlus โค้ดก็กระชับและอ่านง่ายขึ้น รวมถึงสถาปัตยกรรมของโค้ดก็เป็นไปในทิศทางเดียวกัน" Zheng Songyin ผู้จัดการอาวุโสฝ่ายพัฒนากล่าว "การดำเนินการวงจรของ แอปได้รับการจัดการอย่างปลอดภัย และความเสถียรก็ดีขึ้นด้วย"
เริ่มต้นใช้งาน
Android Architecture Components เปิดให้ใช้งานสำหรับนักพัฒนาแอปทุกคน เริ่มต้นใช้งานคอมโพเนนต์สถาปัตยกรรมของ Android