Zillow یک بازار آنلاین املاک و مستغلات برتر است که فهرستها، دادهها و ماشینحسابهای مورد نیاز را در اختیار مصرفکنندگان قرار میدهد تا به آنها در خرید، اجاره یا فروش خانه کمک کند. این سایت همچنین کاربران را با نمایندگان محلی، ارائه دهندگان وام مسکن و طراحان خانه مرتبط می کند.
Zillow که در سال 2006 راه اندازی شد و دفتر مرکزی آن در سیاتل است، پایگاه داده ای از بیش از 110 میلیون خانه در ایالات متحده را نگهداری می کند. آنها همچنین مجموعه ای محبوب از بیش از دوجین برنامه املاک و مستغلات تلفن همراه را اجرا می کنند. هنگامی که آنها در جولای 2017 بازنگری اساسی کد خود را در برنامه تلفن همراه اندروید خود آغاز کردند، Zillow می خواست زندگی توسعه دهندگان خود را با خوانایی بیشتر و درک آسان کد برای اعضای جدید تیم ساده کند.
کاری که آنها انجام دادند
Zillow کد خود را با استفاده از اجزای معماری اندروید اصلاح کرد. Aayush Raj، مهندس نرم افزار Zillow می گوید: «ما در حال بررسی انواع مختلف معماری بودیم. اجزای معماری دارای مزیت اضافی آگاهی از چرخه حیات بودند که مدیریت کد را بسیار آسانتر میکرد.
ViewModel به داده ها اجازه می دهد تا از تغییرات پیکربندی (مانند چرخش صفحه) جان سالم به در ببرند، در حالی که LiveData یک کلاس نگهدارنده داده قابل مشاهده است. هر دو توسط Zillow مورد استفاده قرار گرفتند و با هم، یک الگوی قدرتمند برای پیاده سازی Model-View-ViewModel (MVVM) ارائه کردند. راج میگوید: «این به تستپذیرتر شدن کد ما کمک کرد. کتابخانه ماندگاری اتاق نیز ساخت یک لایه حافظه پنهان محلی را آسان کرده است، بنابراین برنامه مجبور نیست به دفعات دادهها را از شبکه بکشد، «بهبود عملکرد و تجربه کاربر».
نتایج
راج اضافه میکند که انتقال تعداد زیادی کد برای بهروزرسانی دادهها از فعالیتها به ViewModels «قطعاً به خوانایی بیشتر پایه کد» کمک کرده است. آنها هنوز کل برنامه را به ViewModel تبدیل نکردهاند، اما اجزایی که از ViewModel استفاده میکنند هیچ باگ مربوط به چرخه حیات نداشتهاند. برقراری ارتباط به روز رسانی داده ها به فعالیت ها و قطعات نیز بسیار خوب عمل می کند.
سومیران پرادهان، مهندس ارشد توسعه نرمافزار Zillow میگوید: «توسعهدهندگان با استفاده از مؤلفههای معماری اندروید کاملاً بهرهورتر هستند. Architecture Components هنگام شروع از ابتدا به آنها راهنمایی می دهد، اما در پایه کد موجود نیز مفید است. پرادان می افزاید: زمانی که توسعه دهندگان جدید بفهمند منطق در ViewModel کجاست، آن را دوست دارند.
شروع کنید
Android Architecture Components به عنوان بخشی از Android Jetpack برای همه توسعه دهندگان باز است. با اجزای معماری Android شروع کنید.