ينشئ تطبيق iHeartRadio قاعدة رموز برمجية أكثر تنقيحًا وأقلّ كثافة باستخدام مكوّنات Android الهندسية.
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
توفر خدمة iHeartRadio، ومقرها في مدينة نيويورك، موسيقى بلا حدود وآلاف المحطات الإذاعية، وكل ذلك في تطبيق واحد. وتشمل عمليات الشركة البث الإذاعي، وعبر الإنترنت، وأجهزة الجوّال، والوسائط الرقمية والاجتماعية، والحفلات الموسيقية والأحداث المباشرة، والمشاركات، وخدمات البحث عن الموسيقى، والتمثيل الإعلامي المستقل.
نزّل المستمعون حول العالم التطبيق أكثر من
مليار مرة منذ إطلاقه في عام 2008. ومع ذلك، وبحلول أواخر عام 2017، كانت قاعدة الترميزات قديمة،
وتبيّن أنّ إدارة الرموز البرمجية ودمج الميزات الجديدة كانت صعبة.
الإجراءات التي اتخذتها الشركة
اختارت iHeartRadio
مكونات Android الهندسية
عند بدء ترقية الرموز البرمجية. لقد كانت مكتبة استمرارية Room البسيطة والسهلة التنفيذ
جذابة لمهندسي الشركة بسبب
إمكانياتها في التعامل مع أشياء مثل طلبات البحث غير المتزامنة ودعم RxJava، التي يستخدمها iHeartRadio على نطاق واسع في التعليمات البرمجية الخاصة بها.
واعتمدت الشركة أيضًا المكوّنات الواعية لدورة الحياة،
والتي تنفِّذ إجراءات استجابةً لأي تغيير في حالة دورة حياة مكوّن آخر. وقد وجد مهندسو iHeartRadio
أن هذه المكونات مفيدة للغاية لتقليص التبعيات التي يتم إدخالها في الأنشطة والأجزاء. وبالإضافة إلى ذلك، أنشأت الشركة نماذج أولية باستخدام ViewModel، ما يسمح للبيانات بالبقاء على قيد الحياة في التغييرات التي تطرأ على الإعدادات، مثل تدوير الشاشة.
النتائج
وجدت iHeartRadio أنه من السهل الانتقال إلى
مكونات البنية
واستخدام المكتبات لاختبار مدى نجاح التكامل.
تتطلّب الغرفة والمكوّنات الأخرى استخدام رمز نموذجي صغير جدًا، ما يعني أنّ رمز التطبيق أصبح الآن أقصر بكثير. أدت مكونات البنية
أيضًا إلى الحد من تسرب الذاكرة. كانت الفائدة الإضافية هي أنه يمكن للمطورين الجدد
الذين ينضمون إلى الفريق زيادة نشاطهم بسرعة وبدء الترميز.
بشكل عام، ساعد استخدام مكوّنات البنية في قناة iHeartRadio على إنشاء قاعدة رموز أكثر تنظيمًا وأقل كثافةً تساعد في منع حدوث أخطاء.
وهذا خبر سار لأي تطبيق، خاصةً لتطبيق يقدم
صوت رقمي شاملًا للجمهور في جميع أنحاء العالم.
البدء
ميزة "مكونات بنية Android" متاحة لجميع المطوّرين كجزء من
Android Jetpack. بدء
استخدام المكوّنات الهندسية لنظام التشغيل Android
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2018-05-03 (حسب التوقيت العالمي المتفَّق عليه)
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"لا يحتوي على المعلومات التي أحتاج إليها."
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"الخطوات معقدة للغاية / كثيرة جدًا."
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"المحتوى قديم."
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"ثمة مشكلة في الترجمة."
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"مشكلة في العيّنات / التعليمات البرمجية"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"غير ذلك"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"يسهُل فهم المحتوى."
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"ساعَدني المحتوى في حلّ مشكلتي."
},{
"type": "thumb-up",
"id": "otherUp",
"label":"غير ذلك"
}]
{"lastModified": "\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0623\u062e\u064a\u0631: 2018-05-03 (\u062d\u0633\u0628 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0639\u0627\u0644\u0645\u064a \u0627\u0644\u0645\u062a\u0641\u0651\u064e\u0642 \u0639\u0644\u064a\u0647)"}
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2018-05-03 (حسب التوقيت العالمي المتفَّق عليه)"]]