עקרונות הניווט

ניווט בין מסכים ואפליקציות שונים הוא חלק מרכזי בחוויית המשתמש. העקרונות הבאים מגדירים את הבסיס לחוויית משתמש עקבית ואינטואיטיבית בכל האפליקציות. רכיב הניווט נועד להטמיע את העקרונות האלה כברירת מחדל, כדי לוודא שהמשתמשים יוכלו להחיל את אותם דפוסים והיגוריקות בניווט כשהם עוברים בין אפליקציות.

יעד התחלה קבוע

לכל אפליקציה שאתם מפתחים יש יעד התחלה קבוע. זהו המסך הראשון שמשתמשים רואים כשהם מפעילים את האפליקציה ממרכז האפליקציות. היעד הזה הוא גם המסך האחרון שהמשתמש רואה כשחוזרים למרכז האפליקציות אחרי שלוחצים על לחצן החזרה. נבחן את אפליקציית Sunflower כדוגמה.

איור 1. מסך הרשימה הוא יעד ההתחלה של אפליקציית Sunflower.

כשמפעילים את אפליקציית Sunflower ממרכז האפליקציות, המסך הראשון שהמשתמש רואה הוא מסך הרשימה, רשימת הצמחים בגינה. זהו גם המסך האחרון שהם רואים לפני שהם יוצאים מהאפליקציה. אם הם לוחצים על לחצן 'הקודם' במסך הרשימה, הם חוזרים למרכז האפליקציות.

בפעם הראשונה שמפעילים את האפליקציה, נוצרת משימה חדשה למשתמש, והאפליקציה מציגה את יעד ההתחלה שלה. זהו היעד הבסיסי של מה שנקרא back stack, והוא הבסיס למצב הניווט באפליקציה. בחלק העליון של הערימה מופיע המסך הנוכחי, והיעדים הקודמים בערימה מייצגים את ההיסטוריה של המקומות שבהם ביקרתם. היעד שממנו מתחילים את האפליקציה תמיד נמצא בתחתית מקבץ האפליקציות.

פעולות שמחליפות את סטאק החזרה תמיד פועלות בחלק העליון של הסטאק, על ידי דחיפת יעד חדש לחלק העליון של הסטאק או על ידי הסרה של היעד העליון מהסטאק. ניווט ליעד מסוים מעביר את היעד הזה לראש הסטאק.

רכיב הניווט מנהל בשבילכם את כל הסדר של סטאק העורפי, אבל אתם יכולים גם לנהל את סטאק העורפי בעצמכם.

הלחצנים 'הקודם' ו'הבא' זהים במשימה של האפליקציה

איור 2. לחצני 'הקודם' ו'מעלה'

לחצן החזרה מופיע בסרגל הניווט של המערכת שבתחתית המסך, והוא משמש לניווט בהיסטוריית המסכים שבהם המשתמש עבד לאחרונה, בסדר כרונולוגי הפוך. כשמקישים על הלחצן 'הקודם', היעד הנוכחי מוסר מהחלק העליון של מקבץ הדפים הקודמים, ואז מנווטים ליעד הקודם.

לחצן למעלה מופיע בסרגל האפליקציות בחלק העליון של המסך. במשימות של האפליקציה, הלחצנים 'למעלה' ו'הקודם' פועלים באופן זהה.

לחיצה על לחצן החץ למעלה אף פעם לא תגרום ליציאה מהאפליקציה

אם משתמש נמצא ביעד ההתחלה של האפליקציה, הלחצן 'למעלה' לא מופיע כי הוא אף פעם לא יוצא מהאפליקציה. לעומת זאת, הלחצן 'הקודם' מוצג וכן יוצא מהאפליקציה.

כשהאפליקציה מופעלת באמצעות קישור עומק במטלה של אפליקציה אחרת, אפליקציית Up מעבירה את המשתמשים חזרה למטלה של האפליקציה שלכם דרך מקבץ מודעות אחורה מדומה, ולא לאפליקציה שהפעילה את קישור העומק. עם זאת, לחיצה על הלחצן 'הקודם' תחזיר אתכם לאפליקציה השנייה.

בין שמקשרים לעומק ובין שמנווטים באופן ידני ליעד ספציפי, אפשר להשתמש בלחצן למעלה כדי לנווט בין היעדים חזרה ליעד ההתחלה.

כשמקשרים לעומק ליעד בתוך המשימה של האפליקציה, כל סטאק אחורי קיים של המשימה של האפליקציה מוסר ומוחליף בסטאק אחורי שמקושר לעומק.

שוב נשתמש באפליקציית Sunflower כדוגמה. נניח שהמשתמש הפעיל בעבר את האפליקציה ממרכז האפליקציות ועבר למסך הפרטים של תפוח. במסך 'מהזמן האחרון' יופיע סימן לכך שיש משימה, והמסך העליון יהיה מסך הפרטים של Apple.

איור 3. ניווט המשתמש באפליקציית Sunflower והסטאק האחורי שנוצר כתוצאה מכך.

בשלב הזה, המשתמש יכול להקיש על לחצן הבית כדי להעביר את האפליקציה לרקע. נניח שלאפליקציה הזו יש תכונת קישור עומק שמאפשרת למשתמשים להיכנס ישירות למסך פרטים ספציפי של צמח לפי שם. פתיחת האפליקציה דרך קישור העומק הזה מחליפה לחלוטין את סטאק החזרה הנוכחי של Sunflower שמוצג באיור 3 בסטאק חזרה חדש, כפי שמוצג באיור 4:

איור 4. כשמופעל קישור עומק, הוא מחליף את סטאק החזרה לאחור הקיים באפליקציית Sunflower.

שימו לב ש-Sunflower back stack הוחלף בsynthetic back stack עם מסך הפרטים של אבוקדו בחלק העליון. המסך My Garden (הגינה שלי), שהוא היעד שממנו מתחילים, נוסף גם הוא לסטאק העורפי. סטאק הקוד המקורי של Sunflower לא קיים יותר, כולל העובדה שהאפליקציה יודעת שהמשתמש היה קודם במסך הפרטים של Apple. כל זה חשוב כי סטאק החזרה המלאכותי צריך להיות מציאותי. הוא צריך להתאים למחסנית הקודמים שאפשר היה להגיע אליה על ידי ניווט אורגני באפליקציה.

כדי לענות על הצורך הזה, סטאק החזרה הסינתטי שנוצר הוא פשוט יותר, ומבוסס על NavGraph. ב-NavGraph פשוט ללא עיטורים, הוא יכלול את יעד ההתחלה ואת יעד הקישור העומק. בתרשים ניווט בתצוגת עץ מורכב יותר, סטאק החזרה הסינתטי יכיל גם את יעדי ההתחלה של כל תרשימים בתצוגת עץ שהם ישויות אב של יעד הקישור לעומק.

רכיב הניווט תומך בקישור עומק ויוצר מחדש סטאק אחורה ריאליסטי כשמקשרים ליעד כלשהו בתרשים הניווט.