‫SmartNews מפחיתה את שורות הקוד ב-20% ומשפרת את המורל של הצוות באמצעות Kotlin

‫SmartNews עוזרת למיליוני אנשים לגלות את העולם שלהם מדי יום על ידי שיתוף חדשות עדכניות ממגוון מקורות חדשותיים. החברה נוסדה ב-2012 ביפן, וכיום יש למשחק שלה יותר מ-50 מיליון הורדות ברחבי העולם.

ביוני 2019, הצוות ראה שהפיתוח של Android עובר קודם ל-Kotlin והחליט להתחיל לבדוק את Kotlin בעצמו. הם רצו לנצל את ספריות Jetpack שמתמקדות ב-Kotlin, להפחית את כמות הקוד שהם צריכים לתחזק וליהנות מהתחביר הברור והקל להבנה של Kotlin.

מה הם עשו

הצוות ב-SmartNews מיומן ב-Java, ולכן היה להם די קל להתחיל לכתוב ב-Kotlin. מכיוון ש-Kotlin תואמת ל-Java ב-100%, הם יכלו להתחיל בקלות לכתוב תכונות חדשות כמו מכ"ם מזג האוויר וחדשות מכל הצדדים ב-Kotlin, תוך כדי עבודה בבסיס הקוד הקיים שלהם. הם השתמשו בקורוטינות כדי לנהל את ההורדה והשמירה במטמון של תמונות במסגרת התכונה 'מכ"ם מזג האוויר' שרשומה כפטנט. הפונקציות לשיגור קורוטינות מספקות הפשטה שימושית לניהול משימות, והן עזרו למהנדסים של SmartNews להימנע מהבעיות שנובעות מניהול של שרשורים גולמיים.

הצוות גם ביצע רפקטורינג של חלק מקוד ה-Java שלו, והתרשם מתכונות הבטיחות של Kotlin. התחביר של Kotlin לזיהוי שינויים, ערכי null ואתחול עזר לצוות לזהות שגיאות בשלב מוקדם, וקיצר את הזמן שנדרש לבדיקת שינויים בקוד ב-10%. בנוסף, הם השתמשו בתחביר התמציתי והיעיל של Kotlin כדי לשפר את הקריאות של בסיס הקוד שלהם, וכך הקוד שלהם קל יותר לתחזוקה ככל שהחברה ממשיכה לצמוח.

תוצאות

הכתיבה ב-Kotlin שיפרה את הפרודוקטיביות הכוללת שלהם משלב ההטמעה ועד ההשקה. השיפור המשמעותי ביותר שהם ראו היה שכתיבה ב-Kotlin הפחיתה ב-20%את מספר שורות הקוד שהומרו. נכון לעכשיו, כחצי מהאפליקציה SmartNews כתוב ב-Kotlin, וצוות הפיתוח מתכנן לכתוב את כל התכונות החדשות ב-Kotlin, וגם לבצע רפקטורינג לחלק מהקוד הקיים כדי להמשיך לשפר את יכולת התחזוקה של הקוד.

במהלך ההטמעה של Kotlin והצמצום של קוד boilerplate, צוות הפיתוח הבחין בעלייה במורל של הצוות. הצוות התלהב מהאפשרות להביע את הרעיונות שלו בצורה יעילה יותר, ומהאפשרות שהקוד יהיה קריא יותר בעתיד. הידאו אוהאשי (Hideo Ohashi), מנהל ההנדסה ב-SmartNews, שם לב ש-Kotlin עזרה להם במאמצי הגיוס של מהנדסים. "השאלות הכי נפוצות ממועמדים הן 'האם אתם משתמשים ב-Kotlin? כמה פעמים ביום אתה משתמש בה?' נראה שעכשיו הרבה מהמהנדסים מעוניינים לעבור ל-Kotlin ורוצים לתמוך בה". למרות שהשיפורים האלה במורל של הצוות ובגיוס עובדים לא היו הסיבות העיקריות לכך שהצוות אימץ את Kotlin, השינויים החיוביים האלה יעזרו לחברה להמשיך לצמוח בתעשייה התחרותית הזו.

שנתחיל?

מידע נוסף על פיתוח אפליקציה ל-Android באמצעות Kotlin