גרסה 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 XR מאפשר לכם להגיע למשתמשים בכל רגע, בכל מגוון האפליקציות המרחביות. במפגש של מפתחי Android, ציינו אבן דרך מרגשת עם ההשקה של XREAL AURA.
Amy Zeppenfeld, Vinny DaSilva • משך הקריאה: 3 דקות -
חדשות על המוצרבעידן הבינה המלאכותית, המשתמשים כבר לא רק מקישים על אפליקציות, אלא מבטאים יעדים ברמה גבוהה ומצפים מסוכני AI כמו Gemini להשלים תהליכי עבודה מרובי שלבים, לפעמים בכמה אפליקציות במכשירים שלהם.
Jingyu Shi • משך הקריאה: 4 דקות
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?