SmartNews به میلیون ها نفر کمک می کند تا با به اشتراک گذاری اخبار به موقع از مجموعه متنوعی از منابع خبری، دنیای خود را هر روز کشف کنند. این شرکت در سال 2012 در ژاپن تاسیس شد و اکنون بیش از 50 میلیون دانلود در سراسر جهان دارد.
در ژوئن 2019، تیم ابتدا شاهد حرکت توسعه اندروید به سمت کاتلین بودند و تصمیم گرفتند خودشان آزمایش کاتلین را آغاز کنند. آنها میخواستند از کتابخانههای Jetpack-First Kotlin بهره ببرند، مقدار کدی را که باید حفظ میکردند کاهش دهند و از نحو رسا و قابل درک کاتلین بهرهمند شوند.
کاری که آنها انجام دادند
تیم SmartNews به خوبی به جاوا مسلط است، بنابراین شروع نوشتن در Kotlin برای آنها نسبتاً آسان بود. از آنجایی که Kotlin 100٪ با جاوا قابل همکاری است، آنها می توانند به راحتی شروع به نوشتن ویژگی های جدید مانند Weather Radar و News From All Sides در Kotlin کنند، در حالی که در پایگاه کد موجود خود کار می کنند. آنها برای مدیریت بارگیری و ذخیره سازی تصویر در ویژگی ثبت شده Weather Radar از برنامه های مشترک استفاده کردند. توزیع کنندگان Coroutine یک انتزاع مفید برای مدیریت وظایف ارائه می دهند، و این به مهندسان SmartNews کمک کرد تا از مشکلات ناشی از مدیریت رشته های خام جلوگیری کنند.
این تیم همچنین برخی از کدهای جاوا خود را بازسازی کردند و تحت تاثیر ویژگی های ایمنی پوچ کاتلین قرار گرفتند. نحو کاتلین برای شناسایی تغییرپذیری، پوچپذیری و مقداردهی اولیه به تیم کمک کرد تا خطاها را در مراحل اولیه تشخیص دهد و مدت زمان بررسی تغییرات کد را تا 10% کاهش داد . با استفاده از نحو موجز و کارآمد کاتلین، آنها همچنین توانستند خوانایی پایگاه کد خود را افزایش دهند، که حفظ کد آنها را با ادامه رشد شرکت آسانتر کرده است.
نتایج
نوشتن در Kotlin بهره وری کلی آنها را از زمان اجرا تا راه اندازی بهبود بخشیده است. بزرگترین پیشرفت آنها این بود که نوشتن در Kotlin خطوط کد تبدیل شده آنها را 20٪ کاهش داد . تقریباً نیمی از برنامه SmartNews در حال حاضر در Kotlin است و تیم توسعه قصد دارد تمام ویژگیهای جدید را در Kotlin بنویسد و همچنین برخی از کدهای موجود خود را مجدداً تنظیم کند تا به افزایش قابلیت نگهداری کد ادامه دهد.
همانطور که تیم توسعه در حال پیاده سازی Kotlin و کاهش کد دیگ بخار بودند، متوجه افزایش روحیه تیم شدند. تیم هیجان زده بود که بتواند ایده های خود را به روشی کارآمدتر بیان کند و کد آنها برای آینده خواناتر باشد. هیدئو اوهاشی، مدیر مهندسی SmartNews متوجه شد که کاتلین به تلاشهای استخدام مهندسی آنها کمک کرده است . متداول ترین سؤالات نامزدها این است که آیا از کاتلین استفاده می کنید؟ چند بار از آن استفاده می کنید؟ به نظر می رسد اکنون بسیاری از مهندسان علاقه مند به مهاجرت به کاتلین هستند و می خواهند از آن حمایت کنند. در حالی که این پیشرفتها در روحیه تیم و استخدام دلایل اصلی انتخاب تیم کاتلین نبودند، این تغییرات مثبت به شرکت در ادامه رشد در این صنعت رقابتی کمک میکند.
شروع کنید
درباره توسعه برنامه Android با Kotlin بیشتر بیاموزید.