iHeartRadio یک پایه کد پاک‌تر و ناب‌تر با اجزای معماری Android ایجاد می‌کند

iHeartRadio مستقر در نیویورک، موسیقی نامحدود و هزاران ایستگاه رادیویی را در یک برنامه ارائه می‌کند. فعالیت های این شرکت شامل پخش رادیویی، آنلاین، موبایل، رسانه های دیجیتال و اجتماعی، کنسرت ها و رویدادهای زنده، سندیکا، خدمات پژوهشی موسیقی و نمایندگی رسانه های مستقل است.

شنوندگان در سراسر جهان بیش از یک میلیارد بار این برنامه را از زمان راه‌اندازی آن در سال 2008 دانلود کرده‌اند. با این حال، در اواخر سال 2017، پایگاه کد رو به افزایش بود و مدیریت کد و ادغام ویژگی‌های جدید دشوار بود.

iHeartRadio با شروع ارتقاء کد خود، اجزای معماری اندروید را انتخاب کرد. کتابخانه تداوم اتاق ساده و قابل پیاده‌سازی برای مهندسینشان به دلیل قابلیت‌هایش برای رسیدگی به مواردی مانند پرس و جوهای ناهمزمان و پشتیبانی از RxJava که iHeartRadio به طور گسترده در کدشان استفاده می‌کند، جذاب بود.

آنها همچنین مؤلفه‌های آگاه از چرخه حیات را پذیرفتند، که اقداماتی را در پاسخ به تغییر وضعیت چرخه حیات یک جزء دیگر انجام می‌دهند. مهندسان iHeartRadio این اجزا را برای کاهش وابستگی های تزریق شده به فعالیت ها و قطعات بسیار مفید یافتند. علاوه بر این، این شرکت نمونه‌های اولیه را با استفاده از ViewModel ایجاد کرد که به داده‌ها اجازه می‌دهد از تغییرات پیکربندی، مانند چرخش صفحه‌نمایش، جان سالم به در ببرند.

نتایج

iHeartRadio انتقال به اجزای معماری و استفاده از کتابخانه‌ها برای آزمایش عملکرد یکپارچه‌سازی را آسان کرد. اتاق و سایر اجزاء نیاز به استفاده از کد بسیار کمی دارند، به این معنی که اکنون کد برنامه به طور قابل توجهی کوتاهتر شده است. اجزای معماری همچنین منجر به نشت حافظه کمتری شد. یک مزیت دیگر این بود که توسعه دهندگان جدیدی که به تیم ملحق می شدند می توانستند به سرعت افزایش یافته و کدنویسی را شروع کنند.

به طور کلی، استفاده از کامپوننت‌های معماری به iHeartRadio کمک کرده است تا یک پایه کد تمیزتر و ناب‌تر ایجاد کند که به آن‌ها در جلوگیری از خطاها کمک می‌کند. این خبر خوبی برای هر برنامه ای است، به خصوص برای برنامه ای که صدای دیجیتال همه کاره را به مخاطبان جهانی ارائه می دهد.

شروع کنید

Android Architecture Components به عنوان بخشی از Android Jetpack برای همه توسعه دهندگان باز است. با اجزای معماری Android شروع کنید .