מקרים לדוגמה
ב-TikTok הצליחו להקטין את גודל הקוד ב-58% ולשפר את ביצועי האפליקציה לתכונות חדשות באמצעות Jetpack פיתוח נייטיב
משך הקריאה: 2 דקות
טיקטוק היא פלטפורמה גלובלית של סרטונים קצרים, שמוכרת בזכות בסיס המשתמשים העצום שלה והתכונות החדשניות שלה. הצוות משיק כל הזמן עדכונים, ניסויים ותכונות חדשות למשתמשים. צוות Android של טיקטוק התמודד עם האתגר של שמירה על קצב ההתקדמות במשפך השיווק תוך ניהול חוב טכני, ולכן פנה אל Jetpack פיתוח נייטיב.
הצוות רצה לאפשר איטרציה מהירה יותר ואיכותית יותר של דרישות המוצר. הצוות השתמש ב-Compose כדי לשפר את היעילות ההנדסית על ידי כתיבת פחות קוד והפחתת העומס הקוגניטיבי, וגם כדי לשפר את הביצועים והיציבות.
ייעול ממשק משתמש מורכב כדי לשפר את הפרודוקטיביות של המפתחים
דפי TikTok הם לרוב מורכבים יותר מכפי שהם נראים, והם מכילים דרישות מותנות רבות בשכבות. המבנה המורכב הזה הוביל הרבה פעמים להיררכיות של תצוגות שהיה קשה לתחזק, שלא היו מובנות בצורה אופטימלית ולקינון מוגזם של תצוגות, מה שגרם לירידה בביצועים בגלל מספר גדול יותר של מעברים למדידה.
התכונה 'יצירה' הציעה פתרון ישיר לבעיה המבנית הזו.
בנוסף, אסטרטגיית המדידה של Compose עוזרת לצמצם את המיסוי הכפול, וכך קל יותר לבצע אופטימיזציה של ביצועי המדידה.
כדי לשפר את הפרודוקטיביות של המפתחים, צוות מערכת העיצוב המרכזי של TikTok מספק ספריית רכיבים לצוותים שעובדים על תכונות שונות באפליקציה. הצוות הבחין שהפיתוח ב-Compose הוא פשוט. השימוש ברכיבים קטנים שניתנים להרכבה יעיל מאוד, ושילוב של בלוקים גדולים של ממשק משתמש עם לוגיקה מותנית הוא פשוט וכולל תקורה מינימלית.
הכנת תוכנית אסטרטגית להעברה
ההטמעה האסטרטגית של Jetpack פיתוח נייטיב אפשרה ל-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 פיתוח נייטיב התגלה כפתרון יעיל לשיפור חוויית המפתחים והמדדים של הייצור בקנה מידה נרחב.
איך מתחילים לעבוד עם Jetpack פיתוח נייטיב
להמשך הקריאה
-
מקרים לדוגמה
Monzo הוא בנק דיגיטלי בבריטניה עם 15 מיליון לקוחות, והמספרים ממשיכים לגדול. כשהאפליקציה גדלה, צוות ההנדסה זיהה את זמן ההפעלה של האפליקציה כנקודה קריטית לשיפור, אבל חשש שיידרשו שינויים משמעותיים בבסיס הקוד.
Ben Weiss • משך הקריאה: 2 דקות
-
מקרים לדוגמה
בעולם הדינמי של הרשתות החברתיות, תשומת הלב של המשתמשים נמשכת או נעלמת במהירות. אפליקציות Meta (פייסבוק ואינסטגרם) הן בין הפלטפורמות החברתיות הגדולות בעולם, והן משרתות מיליארדי משתמשים ברחבי העולם.
Mayuri Khinvasara Khabya • משך הקריאה: 4 דקות
-
מקרים לדוגמה
כשמפתחים אפליקציית Android למכשיר לביש, העבודה האמיתית מתחילה כשהמסך כבוי.
Breana Tate • משך הקריאה: 4 דקות
כדאי תמיד להיות בעניינים
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?