גרסה 1.0 של Jetpack Navigation 3 יציבה 🎉. אתם יכולים להשתמש בה באפליקציות הייצור שלכם כבר היום. חברת JetBrains כבר משתמשת בו באפליקציית KotlinConf.
Navigation 3 היא ספריית ניווט חדשה שנבנתה מהיסוד כדי לתמוך בערך דינמי של Jetpack Compose. הוא מאפשר לכם שליטה מלאה במקבץ פעילויות קודמות (back stack), עוזר לכם לשמור על מצב הניווט ומאפשר לכם ליצור בקלות פריסות אדפטיביות (כמו רשימה ופירוט). יש אפילו גרסה בפלטפורמות שונות של JetBrains.
למה צריך ספרייה חדשה?
ספריית הניווט המקורית של Jetpack (עכשיו Nav2) תוכננה לפני 7 שנים, ולמרות שהיא משרתת היטב את המטרות המקוריות שלה ועברה שיפורים חוזרים, הדרך שבה אפליקציות נבנות השתנתה באופן מהותי.
תכנות ריאקטיבי עם ממשק משתמש דקלרטיבי הוא עכשיו הנורמה. Nav3 משתמש בגישה הזו. לדוגמה, NavDisplay (רכיב ממשק המשתמש Nav3 שמציג את המסכים) פשוט עוקב אחרי רשימה של מקשים (כל אחד מייצג מסך) שמגובה על ידי מצב Compose, ומעדכן את ממשק המשתמש שלו כשהרשימה הזו משתנה.
בנוסף, יכול להיות שיהיה קשה להשתמש ב-Nav2 כדי ליצור מקור מהימן אחד למצב הניווט, כי יש לו מצב פנימי משלו. ב-Nav3, אתם מספקים את הסטייט שלכם, כך שיש לכם שליטה מלאה.
בנוסף, ביקשת יותר גמישות ויכולת התאמה אישית. במקום להשתמש ב-API יחיד ומונוליטי, ב-Nav3 יש ממשקי API קטנים ומנותקים (או 'אבני בניין') שאפשר לשלב ביניהם כדי ליצור פונקציונליות מורכבת. הספרייה Nav3 עצמה משתמשת באבני הבניין האלה כדי לספק הגדרות ברירת מחדל הגיוניות לתרחישי שימוש מוגדרים היטב בניווט.
הגישה הזו מאפשרת לכם:
- התאמה אישית של אנימציות במסך ברמה הגלובלית וברמה האישית
- להציג כמה חלוניות בו-זמנית וליצור פריסות גמישות באמצעות Scenes API
- אפשר להחליף בקלות את רכיבי Nav3 בהטמעות משלכם אם אתם רוצים התנהגות בהתאמה אישית
מידע נוסף על העיצוב והתכונות של התוסף זמין בבלוג ההשקה.
מיגרציה מ-Navigation 2
אם אתם כבר משתמשים ב-Nav2, ובמיוחד ב-Navigation Compose, כדאי לשקול מעבר ל-Nav3. כדי לעזור לכם בביצוע המעבר, הכנו מדריך להעברת נתונים. השלבים העיקריים הם:
- מוסיפים את יחסי התלות של Navigation 3.
- מעדכנים את מסלולי הניווט כדי להטמיע את NavKey. לא צריך להטמיע את הממשק הזה במסלולים כדי להשתמש ב-Nav3, אבל אם עושים את זה, אפשר לנצל את הפונקציה rememberNavBackStack של Nav3 כדי ליצור מקבץ פעילויות קודמות (back stack) מתמשך.
- יוצרים מחלקות כדי להחזיק ולשנות את מצב הניווט – כאן נשמרים מחסני הנתונים של החזרה.
- מחליפים את NavController במחלקות האלה.
- מעבירים את היעדים מ-NavGraph של NavHost אל entryProvider.
- מחליפים את NavHost ב-NavDisplay.
ניסויים בהעברת סוכני AI
אפשר להתנסות בשימוש בסוכן AI כדי לקרוא את מדריך ההעברה ולבצע את השלבים בפרויקט. כדי לנסות את זה באמצעות Agent Mode ב-Gemini ב-Android Studio:
- שמירה של גרסת ה-Markdown של המדריך הזה בפרויקט.
- מדביקים את ההנחיה הבאה לסוכן (אבל לא מקישים על Enter): "העבר את הפרויקט הזה לניווט 3 באמצעות ".
- מקלידים @migration-guide.md – הפעולה הזו תספק את המדריך כהקשר לסוכן.
כמו תמיד, חשוב לבדוק בקפידה את השינויים שבוצעו על ידי סוכן ה-AI – הוא עלול לטעות!
נשמח לשמוע איך הייתה חוויית השירות שלך או של הנציג שטיפל בפנייה. אפשר לשלוח משוב כאן.
מתכונים שימושיים לניווט בתרחישים נפוצים
לתרחישי שימוש נפוצים אבל מורכבים, יש לנו מאגר מתכונים. המאמר הזה מראה איך לשלב את ממשקי ה-API של Nav3 בצורה מסוימת, ומאפשר לכם לבחור או לשנות את המתכון בהתאם לצרכים הספציפיים שלכם. אם מתכון מסוים יתברר כפופולרי, נשקול להוסיף את החלקים הלא מורכבים שלו לספריית הליבה של Nav3 או לספריות של תוספים.
יש כרגע 19 מתכונים, כולל מתכונים ל:
- Multiple back stacks
- מודולריזציה והזרקת תלות
- העברת ארגומנטים של ניווט אל ViewModels (כולל שימוש ב-Koin)
- החזרת תוצאות ממסכים לפי אירועים ולפי מצב משותף
אנחנו עובדים כרגע על מתכון לקישורים עמוקים, וגם על שילוב של Koin, ויש לנו עוד הרבה תוכניות. מהנדס מ-JetBrains פרסם גם גרסה של המתכונים ל-Compose Multiplatform.
אם יש לכם תרחיש נפוץ שאתם רוצים לקבל מתכון בשבילו, אתם יכולים לשלוח בקשה למתכון.
סיכום
כדי להתחיל להשתמש ב-Nav3, כדאי לעיין במסמכים ובמתכונים. בנוסף, כדאי לעקוב אחרי התוכן הטכני שיועלה במשך שבוע שלם, כולל:
- סרטון מידע מעמיק על ה-API, שכולל הסברים על מודולריזציה, אנימציות ופריסות דינמיות.
- מפגש שאלות ותשובות עם המהנדסים שבנו את Nav3.
שבוע ההדגשה של Nav3 מתחיל ב-1 בדצמבר 2025.
כמו תמיד, אם נתקלתם בבעיות, אתם מוזמנים לדווח עליהן כאן.
-
חדשות על מוצריםבשנת 2025, הסביבה העסקית של Android התרחבה הרבה מעבר לטלפון. כיום, למפתחים יש הזדמנות להגיע ליותר מ-500 מיליון מכשירים פעילים, כולל מכשירים מתקפלים, טאבלטים, מכשירי XR, מכשירי Chromebook ומכוניות תואמות.
Fahd Imtiaz • משך הקריאה: 2 דקות -
חדשות על מוצריםהיום אנחנו מציינים באופן רשמי חמש שנים מאז ההשקה של Jetpack Compose 1.0. מאז גרסה 1.0, שהשקתה הוכרזה ב-28 ביולי 2021, ועד לגרסה 1.11 האחרונה, ראינו את ממשקי ה-API מתפתחים באופן משמעותי במהלך השנים, ואנחנו רוצים לעצור לרגע ולחגוג את זה.
Rebecca Franks, Nick Butcher, Loryn Hairston • 5 min read -
חדשות על מוצריםגרסת Android Studio Quail 2 יציבה ומוכנה לשימוש בסביבת ייצור. היא מביאה שינוי לסביבת הפיתוח המשולבת (IDE) עם תהליכי עבודה מקבילים של סוכנים, פרופילים של דליפות זיכרון שמשולבים באופן מקורי ותיקון קריסות בהתאם להקשר.
Amman Asfaw • משך הקריאה: 3 דקות
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?