חברת iHeartRadio, שממוקמת בניו יורק, מספקת מוזיקה ללא הגבלה ואלפי תחנות רדיו, והכול באפליקציה אחת. הפעילות של החברה כוללת שידורי רדיו, מדיה באינטרנט, בנייד, דיגיטלית וחברתית, קונצרטים ואירועים בשידור חי, סינדיקציה, שירותי מחקר מוזיקלי וייצוג של מדיה עצמאית.
מאז ההשקה של האפליקציה בשנת 2008, היא הורדה יותר ממיליארד פעמים על ידי מאזינים ברחבי העולם. אבל לקראת סוף 2017, בסיס הקוד היה ישן, וניהול הקוד ושילוב תכונות חדשות היו קשים.
מה הם עשו
צוות iHeartRadio בחר ב-Android Architecture Components כשעבר לשדרוג הקוד. ספריית Room לשימור נתונים, שהיא פשוטה וקלה להטמעה, משכה את המהנדסים של iHeartRadio בזכות היכולות שלה לטפל בדברים כמו שאילתות אסינכרוניות ותמיכה ב-RxJava, שמשמשת את iHeartRadio באופן נרחב בקוד שלהם.
הם גם הטמיעו רכיבים שמודעים למחזור החיים, שמבצעים פעולות בתגובה לשינוי בסטטוס מחזור החיים של רכיב אחר. מהנדסי iHeartRadio גילו שהרכיבים האלה מאוד שימושיים לצמצום התלות בהזרקה לפעילויות ולמקטעים. בנוסף, החברה יצרה אבות-טיפוס באמצעות ViewModel, שמאפשר לנתונים לשרוד שינויים בהגדרות, כמו סיבוב המסך.
תוצאות
חברת iHeartRadio גילתה שקל לעבור אל Architecture Components ולהשתמש בספריות כדי לבדוק את איכות האינטגרציה. Room ורכיבים אחרים דורשים שימוש במעט מאוד קוד boilerplate, כלומר הקוד של האפליקציה קצר משמעותית. רכיבי ארכיטקטורה גם הובילו לפחות דליפות זיכרון. יתרון נוסף היה שצוות הפיתוח יכול היה להכשיר במהירות מפתחים חדשים שהצטרפו לצוות, כדי שיוכלו להתחיל לכתוב קוד.
בסך הכול, השימוש ברכיבי ארכיטקטורה עזר ל-iHeartRadio ליצור בסיס קוד נקי ורזה יותר, שמסייע להם למנוע שגיאות. זו בשורה טובה לכל אפליקציה, במיוחד לאפליקציה שמציעה אודיו דיגיטלי מקיף לקהל ברחבי העולם.
שנתחיל?
רכיבי הארכיטקטורה של Android פתוחים לכל המפתחים כחלק מ-Android Jetpack. תחילת העבודה עם רכיבי ארכיטקטורה של Android