גרסה 1.0 של Jetpack Navigation 3 יציבה 🎉. אתם יכולים להשתמש בה באפליקציות בסביבת הייצור כבר היום. ב-JetBrains כבר משתמשים בו באפליקציית KotlinConf.
Navigation 3 היא ספריית ניווט חדשה שנוצרה במיוחד כדי לתמוך במצב של Jetpack Compose. הוא נותן לכם שליטה מלאה על מקבץ הפעילויות הקודמות (back stack), עוזר לכם לשמור על מצב הניווט ומאפשר לכם ליצור בקלות פריסות מותאמות (כמו רשימה-פרטים). יש אפילו גרסה בפלטפורמות שונות של JetBrains.
למה צריך ספרייה חדשה?
ספריית Jetpack Navigation המקורית (עכשיו Nav2) תוכננה לפני 7 שנים. היא אמנם משרתת היטב את המטרות המקוריות שלה ועברה שיפורים חוזרים, אבל הדרך שבה אפליקציות נבנות כיום השתנתה באופן מהותי.
תכנות ריאקטיבי עם ממשק משתמש דקלרטיבי הוא עכשיו הנורמה. הגישה הזו מיושמת ב-Nav3. לדוגמה, NavDisplay (רכיב ממשק המשתמש של Nav3 שמציג את המסכים) פשוט צופה ברשימה של מפתחות (כל אחד מייצג מסך) שמגובה על ידי מצב Compose, ומעדכן את ממשק המשתמש שלו כשהרשימה הזו משתנה.
בנוסף, ב-Nav2 יכול להיות קשה להגדיר מקור קובע למצב הניווט כי יש לו מצב פנימי משלו. ב-Nav3, אתם מספקים את המצב שלכם, מה שנותן לכם שליטה מלאה.
בנוסף, ביקשתם יותר גמישות ואפשרויות להתאמה אישית. במקום API אחד גדול, Nav3 מספק ממשקי API קטנים יותר, נפרדים (או "אבני בניין") שאפשר לשלב יחד כדי ליצור פונקציונליות מורכבת. ב-Nav3 עצמו נעשה שימוש באבני הבניין האלה כדי לספק ברירות מחדל הגיוניות לתרחישים מוגדרים היטב של שימוש בניווט.
הגישה הזו מאפשרת לכם:
- התאמה אישית של אנימציות במסך ברמה הגלובלית וברמה האישית
- להציג כמה חלוניות בו-זמנית וליצור פריסות גמישות באמצעות Scenes API
- אם רוצים התנהגות מותאמת אישית, אפשר להחליף בקלות את הרכיבים של Nav3 בהטמעות משלכם
מידע נוסף על העיצוב והתכונות של Gemini זמין בבלוג ההשקה.
מעבר מ-Navigation 2
אם אתם כבר משתמשים ב-Nav2, ובמיוחד ב-Navigation Compose, כדאי לשקול לעבור ל-Nav3. כדי לעזור לכם, הכנו מדריך להעברת נתונים (מיגרציה). השלבים העיקריים הם:
- מוסיפים את יחסי התלות של Navigation 3.
- מעדכנים את מסלולי הניווט כדי להטמיע את NavKey. לא צריך להטמיע את הממשק הזה במסלולים כדי להשתמש ב-Nav3, אבל אם עושים את זה, אפשר להשתמש בפונקציה rememberNavBackStack של Nav3 כדי ליצור מקבץ פעילויות קודמות (back stack) קבוע.
- יוצרים מחלקות שיכילו את מצב הניווט וישנו אותו – כאן נשמרים מקבצי הפעילויות הקודמות (back stack).
- מחליפים את NavController במחלקות האלה.
- מעבירים את היעדים מ-NavGraph של NavHost אל entryProvider.
- מחליפים את NavHost ב-NavDisplay.
ניסויים בהעברת סוכני AI
אתם יכולים לנסות להשתמש בסוכן AI כדי לקרוא את המדריך להעברת נתונים ולבצע את השלבים בפרויקט שלכם. כדי לנסות את זה עם Agent Mode ב-Gemini ב-Android Studio:
- שומרים בפרויקט את הגרסה הזו של המדריך בפורמט Markdown.
- מדביקים את ההנחיה הזו לסוכן (אבל לא לוחצים על Enter): "Migrate this project to Navigation 3 using ".
- מקלידים @migration-guide.md – כך המדריך יספק הקשר לסוכן.
כמו תמיד, חשוב לבדוק בקפידה את השינויים שסוכן ה-AI מבצע – הוא עלול לטעות.
נשמח לשמוע איך אתם או הנציג שלכם פעלתם, שלחו את המשוב שלכם כאן.
מתכוני ניווט טעימים לתרחישים נפוצים
לתרחישים נפוצים אבל מורכבים, יש לנו מאגר של מתכונים. כאן מוסבר איך לשלב את ממשקי ה-API של Nav3 בדרך מסוימת, שמאפשרת לכם לבחור או לשנות את המתכון בהתאם לצרכים הספציפיים שלכם. אם מתכון מסוים יהפוך לפופולרי, נשקול "להעביר" את החלקים הלא מורכבים שלו לספריית Nav3 העיקרית או לספריות של תוספים.
נכון לעכשיו יש 19 מתכונים, כולל:
- מקבצים מרובים של פעילויות קודמות (back stack)
- מודולריזציה והזרקת תלות
- העברת ארגומנטים של ניווט אל ViewModels (כולל שימוש ב-Koin)
- החזרת תוצאות ממסכים לפי אירועים ולפי מצב משותף
אנחנו עובדים כרגע על מתכון לקישורי עומק, וגם על שילוב של Koin, ויש לנו עוד הרבה מתכונים בתכנון. מהנדס מ-JetBrains פרסם גם גרסה של המתכונים ל-Compose Multiplatform.
אם יש לכם תרחיש שימוש נפוץ שאתם רוצים לראות מתכון בשבילו, אתם יכולים לשלוח בקשה למתכון.
סיכום
כדי להתחיל להשתמש ב-Nav3, כדאי לעיין במסמכים ובמתכונים. בנוסף, כדאי לשים לב לשבוע שלם של תוכן טכני, כולל:
- סרטון מעמיק על ה-API שעוסק במודולריזציה, באנימציות ובפריסות דינמיות.
- מפגש שאלות ותשובות בשידור חי עם המהנדסים שפיתחו את Nav3.
שבוע Nav3 Spotlight יתחיל ב-1 בדצמבר 2025.
כמו תמיד, אם נתקלתם בבעיות, אתם יכולים לדווח עליהן כאן.
-
חדשות על המוצרבשנת 2025, הסביבה העסקית של Android התרחבה הרבה מעבר לטלפון. כיום, למפתחים יש הזדמנות להגיע ליותר מ-500 מיליון מכשירים פעילים, כולל מכשירים מתקפלים, טאבלטים, מכשירי XR, מכשירי Chromebook ומכוניות תואמות.
Fahd Imtiaz • משך הקריאה: 2 דקות -
חדשות על המוצרהיום, במפגש של מפתחי Android, אנחנו מכריזים על הזמינות הרחבה של הרבה כלים וממשקי API שנועדו להסיר את החיכוך היומיומי ולתת לכם יותר גמישות ליצור אפליקציות Android נהדרות.
Matthew McCullough • משך הקריאה: 4 דקות -
חדשות על המוצרגרסת Android Studio Rabbit 2 יציבה ומוכנה לשימוש בסביבת הייצור. הגרסה הזו כוללת תכונות חשובות שמשפרות את הפיתוח, כמו Bring Your Own Agent, תכונות חדשות של אמולטור XR, עדכון של LeakCanary, כלי חדש לניהול מיומנויות של סוכנים, סקר קוד באמצעות AI ועוד.
Matthew Warner • משך הקריאה: 3 דקות
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?