Zillow هو أحد أبرز الأسواق العقارية على الإنترنت التي يزود المستهلكين بالقوائم والبيانات والآلات الحاسبة التي يحتاجون إليها لمساعدتهم على شراء المنزل أو استئجاره أو بيعه. كما يربط الموقع المستخدمين بالوكلاء المحليين ومقدمي الرهون العقارية ومصممي المنازل.
تم تأسيس شركة Zillow عام 2006 ويقع مقرها في سياتل، كما تمتلك قاعدة بيانات تضم أكثر من 110 ملايين منزل في الولايات المتحدة. وتدير أيضًا مجموعة شهيرة تضم أكثر من عشرين تطبيقًا عقاريًا للهاتف المحمول. عندما بدأت الشركة في إجراء إصلاح كبير للرموز البرمجية الخاصة بها في تطبيق Android للجوّال في يوليو 2017، أرادت شركة Zillow تبسيط حياة المطورين لديها من خلال جعل التعليمات البرمجية أكثر قابلية للقراءة وأسهل على أعضاء الفريق الجدد لفهمها.
الإجراءات التي اتخذتها الشركة
جدّدت شركة Zillow الرموز البرمجية الخاصة بها باستخدام مكونات بنية Android. يقول أيوش راج، مهندس برمجيات شركة Zillow: "كنا نحقق في أنواع مختلفة من الهندسة المعمارية". "كان لمكونات العمارة ميزة إضافية وهي الوعي بدورة الحياة، مما جعل إدارة التعليمات البرمجية أسهل بكثير".
تسمح دالة ViewModel للبيانات بالحفاظ على التغييرات في الإعدادات (مثل تدوير الشاشة)، في حين أنّ LiveData هي فئة قابلة للملاحظة لمالكي البيانات. واستخدمت شركة Zillow كلاهما، وقدَّما معًا نموذجًا فعالاً لتنفيذ Model-View-ViewModel (MVVM). يقول راج: "لقد ساعد ذلك في جعل تعليماتنا البرمجية أكثر قابلية للاختبار". وسهّلت أيضًا مكتبة استمرارية الغرفة إنشاء طبقة ذاكرة تخزين مؤقت، بحيث لم يكن على التطبيق سحب البيانات من الشبكة في كثير من الأحيان، وهو ما أدى إلى "تحسين الأداء وتجربة المستخدم".
النتائج
ويضيف "راج" أن نقل الكثير من الرموز لتعديلات البيانات من الأنشطة إلى ViewModels "ساعد بالتأكيد" في جعل قاعدة الرموز بالكامل أكثر سهولة في القراءة. لم يحوّل الفريق التطبيق بأكمله إلى ViewModel بعد، ولكن لم تتضمّن المكونات التي تستخدم ViewModel أي أخطاء مرتبطة بمراحل نشاطها. كما أن توصيل تحديثات البيانات للأنشطة والأجزاء يعمل بشكل جيد للغاية.
يقول سومران برادهان، مهندس تطوير البرامج الأول في شركة Zillow: "يزيد إنتاج مطوّري البرامج عند استخدام المكوّنات الهندسية لنظام التشغيل Android". تعطيهم المكونات المعمارية التوجيه عند البدء من الصفر، ولكنها مفيدة أيضًا في قاعدة التعليمات البرمجية الحالية. ويضيف "برادهان" قائلاً: "بعد أن يفهم المطورون الجدد مكان المنطق في ViewModel، سيعجبهم هذا الأمر".
البدء
ميزة "مكونات بنية Android" متاحة لجميع المطوّرين كجزء من Android Jetpack. يمكنك البدء باستخدام مكونات Android الهندسية.