iHeartRadio สร้างโค้ดเบสที่สะอาดและมีประสิทธิภาพมากขึ้นด้วยคอมโพเนนต์สถาปัตยกรรมของ Android

iHeartRadio ซึ่งมีสำนักงานใหญ่อยู่ในนิวยอร์กซิตี้ให้บริการ เพลงแบบไม่จำกัดและสถานีวิทยุหลายพันสถานีในแอปเดียว โดยการดำเนินงานของบริษัท ครอบคลุมถึงการออกอากาศทางวิทยุ ออนไลน์ อุปกรณ์เคลื่อนที่ ดิจิทัล และโซเชียลมีเดีย คอนเสิร์ตและกิจกรรมแบบสด การเผยแพร่ต่อ บริการวิจัยเพลง และ การเป็นตัวแทนสื่ออิสระ

ผู้ฟังทั่วโลกดาวน์โหลดแอปนี้ไปแล้วกว่าพันล้านครั้ง นับตั้งแต่เปิดตัวในปี 2008 อย่างไรก็ตาม ในช่วงปลายปี 2017 ฐานโค้ดเริ่มเก่า และพบว่าการจัดการโค้ดและการผสานรวมฟีเจอร์ใหม่ๆ เป็นเรื่องยาก

สิ่งที่พวกเขาทำ

iHeartRadio เลือกใช้ คอมโพเนนต์สถาปัตยกรรมของ Android เมื่อ เริ่มอัปเกรดโค้ด ไลบรารีความคงทนของ Room ที่ตรงไปตรงมาและนำไปใช้งานได้ง่าย ดึงดูดใจวิศวกรของ iHeartRadio ด้วย ความสามารถในการจัดการสิ่งต่างๆ เช่น การค้นหาแบบอะซิงโครนัสและการรองรับ RxJava ซึ่ง iHeartRadio ใช้กันอย่างแพร่หลายในโค้ด

นอกจากนี้ ยังใช้คอมโพเนนต์ที่รับรู้ถึงวงจร ซึ่งจะดำเนินการเพื่อตอบสนองต่อการเปลี่ยนแปลงสถานะวงจรของคอมโพเนนต์อื่น วิศวกรของ iHeartRadio พบว่าคอมโพเนนต์เหล่านี้มีประโยชน์อย่างมากในการลดการอ้างอิง ที่แทรกลงในกิจกรรมและ Fragment นอกจากนี้ บริษัทยังได้สร้างต้นแบบโดยใช้ ViewModel ซึ่งช่วยให้ข้อมูลยังคงอยู่ได้แม้จะมีการเปลี่ยนแปลงการกำหนดค่า เช่น การหมุนหน้าจอ

ผลลัพธ์

iHeartRadio พบว่าการย้ายข้อมูลไปยัง Architecture Components และใช้ไลบรารีเพื่อทดสอบว่าการผสานรวมทำงานได้ดีเพียงใดนั้นเป็นเรื่องง่าย Room และคอมโพเนนต์อื่นๆ ต้องใช้โค้ดบอยเลอร์เพลตเพียงเล็กน้อย ซึ่งหมายความว่าโค้ดของแอป สั้นลงอย่างมาก คอมโพเนนต์สถาปัตยกรรม ยังช่วยลดปัญหาหน่วยความจำรั่วได้อีกด้วย นอกจากนี้ ข้อดีอีกอย่างคือ นักพัฒนาซอฟต์แวร์ใหม่ที่เข้าร่วมทีมสามารถเริ่มใช้งานและเริ่มเขียนโค้ดได้อย่างรวดเร็ว

โดยรวมแล้ว การใช้คอมโพเนนต์สถาปัตยกรรมช่วยให้ iHeartRadio สร้างโค้ดเบสที่สะอาดและมีประสิทธิภาพมากขึ้น ซึ่งช่วยป้องกันข้อผิดพลาดได้ ซึ่งเป็นข่าวดีสำหรับทุกแอป โดยเฉพาะแอปที่นำเสนอ เสียงดิจิทัลแบบครบวงจรแก่ผู้ชมทั่วโลก

เริ่มต้นใช้งาน

คอมโพเนนต์สถาปัตยกรรมของ Android เปิดให้นักพัฒนาแอปทุกคนใช้บริการได้ในส่วนของ Android Jetpack เริ่มต้นใช้งานคอมโพเนนต์สถาปัตยกรรมของ Android