Case Studies
TikTok מקטינה את גודל הקוד ב-58% ומשפרת את ביצועי האפליקציה לתכונות חדשות באמצעות Jetpack Compose
משך הקריאה: 2 דקות
טיקטוק היא פלטפורמה גלובלית של סרטונים קצרים, שמוכרת בזכות בסיס המשתמשים העצום שלה והתכונות החדשניות שלה. הצוות משיק כל הזמן עדכונים, ניסויים ותכונות חדשות למשתמשים. כדי להתמודד עם האתגר של שמירה על מהירות פיתוח תוך ניהול חוב טכני, צוות Android של TikTok פנה אל Jetpack Compose.
הצוות רצה לאפשר איטרציה מהירה יותר ואיכותית יותר של דרישות המוצר. הצוות השתמש ב-Compose כדי לשפר את היעילות ההנדסית על ידי כתיבת פחות קוד והפחתת העומס הקוגניטיבי, וגם כדי לשפר את הביצועים והיציבות.
ייעול ממשק משתמש מורכב כדי לשפר את הפרודוקטיביות של המפתחים
הדפים בטיקטוק הם לרוב מורכבים יותר ממה שהם נראים, והם מכילים דרישות מותנות רבות בשכבות. המורכבות הזו הובילה לעיתים קרובות להיררכיות של תצוגות שהיה קשה לתחזק, למבנים לא אופטימליים של תצוגות ולקינון מוגזם של תצוגות, מה שגרם לירידה בביצועים בגלל מספר גדול יותר של מעברים למדידה.
Compose הציע פתרון ישיר לבעיה המבנית הזו.
בנוסף, שיטת המדידה של Compose עוזרת לצמצם את המיסוי הכפול, וכך קל יותר לבצע אופטימיזציה של הביצועים.
כדי לשפר את הפרודוקטיביות של המפתחים, צוות מערכת העיצוב המרכזי של TikTok מספק ספריית רכיבים לצוותים שעובדים על תכונות שונות באפליקציה. הצוות ציין שהפיתוח ב-Compose הוא פשוט. השימוש ברכיבים קטנים שניתנים להרכבה הוא יעיל מאוד, ושילוב של בלוקים גדולים של ממשק משתמש עם לוגיקה מותנית הוא פשוט ועם תקורה מינימלית.
יצירת מסלול לעבר העתיד באמצעות העברה אסטרטגית
השימוש האסטרטגי ב-Jetpack Compose אפשר ל-TikTok להישאר מעודכנת לגבי חובות טכניים, וגם להמשיך להתמקד ביצירת חוויות שימוש מעולות למשתמשים שלה. היכולת של Compose לטפל בלוגיקה מותנית בצורה נקייה ולייעל את הקומפוזיציה אפשרה לצוות לקצר את זמן טעינת הדף ב-78% בדפים חדשים או בדפים שנכתבו מחדש לגמרי. השיפור הזה היה 20-30% במקרים קטנים יותר, ו-70-80% בכתיבה מחדש מלאה ובתכונות חדשות. הם גם הצליחו לצמצם את גודל הקוד ב-58%, בהשוואה לאותה תכונה שנבנתה ב-Views. הצוות שיתף עוד כמה תובנות:
האסטרטגיה הכוללת של צוות TikTok הייתה להעביר בהדרגה מסלולי משתמשים ספציפיים. הם קיבלו הזדמנות לבצע מיגרציה, לאשר יתרונות מדידים ואז להרחיב את הפריסה ליותר מסכים. הם התחילו להשתמש ב-Compose כדי לפשט את המבנה הכולל בתכונת קוד ה-QR, וראו את השיפורים. בהמשך, הצוות הרחיב את ההעברה גם לחוויית ההתחברות וההרשמה.
הצוות שיתף עוד כמה תובנות:
במהלך בדיקת הביצועים במהלך ההעברה, צוות TikTok גילה ששימוש בהרבה ComposeViews קטנים כדי להחליף רכיבים בתוך ViewHolder יחיד, גרם לתקורה של קומפוזיציה. הם השיגו תוצאות טובות יותר על ידי הרחבת ההעברה לשימוש ב-ComposeView יחיד לכל ViewHolder.
כשמעבירים Fragment בתוך ViewPager, שיש לו לוגיקה מותאמת אישית של גובה ולוגיקה מותנית להסתרה ולהצגה של ממשק המשתמש על סמך ניסויים, הביצועים לא מושפעים. במקרה הזה, העברה של ViewPager ל-Composable הניבה ביצועים טובים יותר מהעברה של Fragment.
ג'ון שן מאוד אוהב את Compose כי הוא "מצמצם את כמות הקוד שנדרשת לפיתוח תכונות, משפר את יכולת הבדיקה ומזרז את תהליך המסירה". הצוות מתכנן להגדיל בהדרגה את השימוש ב-Compose, כדי שיהפוך למסגרת המועדפת עליהם בטווח הארוך. Jetpack Compose הוכיח את עצמו כפתרון יעיל לשיפור חוויית המפתחים ומדדי הייצור בקנה מידה גדול.
איך מתחילים לעבוד עם Jetpack Compose
להמשך הקריאה
-
מקרים לדוגמה
ירידות בביצועים קשות מאוד לשחזור, ולכן הן מהוות צוואר בקבוק משמעותי למפתחים של אפליקציות לנייד.
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov • משך הקריאה: 4 דקות
-
מקרים לדוגמה
לאחרונה, אפליקציית FotMob חוותה את העלייה הגדולה ביותר שלה ביום אחד ב-Wear OS בקרב הקהל שהתקין אותה ב-5 השנים האחרונות, פי 2-3 מהממוצע היומי. הסוד? תהליך התקנה פשוט מקושר למכשיר אחר שעוזר למשתמשים לגלות את האפליקציה ל-Wear OS שלהם ישירות מהטלפון.
Garan Jenkin • משך הקריאה: 3 דקות
-
מקרים לדוגמה
אפליקציית המיינדפולנס Gratitude מעודדת עקביות באמצעות יומן מיקרו יומי, הצהרות חיוביות ולוחות חזון. האפליקציה הורדה יותר מ-6 מיליון פעמים, קיבלה 150 אלף דירוגים של 5 כוכבים ונרשמו בה 100 מיליון רשומות ביומן.
Amrit Sanjeev, Ash Nohe • משך הקריאה: 3 דקות
כדאי תמיד להיות בעניינים
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?