אבני בניין ותאימות
מיני-אפליקציות הן קטנות (בדרך כלל 2-4 MB) שכדי להפעיל אותן צריך סופר-אפליקציה. מה שמשותף ביניהן, בלי קשר לאפליקציית-העל, הוא שהן בנויות באמצעות ('הכינויים') של טכנולוגיות האינטרנט HTML, CSS ו-JavaScript. זמן הריצה של מיני אפליקציות הוא WebView באפליקציית-העל, ולא מערכת ההפעלה הבסיסית, ולכן האפליקציות של המיני אפליקציות יהיו בפלטפורמות שונות. אותה מיני אפליקציה יכולה לפעול באותה אפליקציית-על, לא משנה אם היא פועלת ב-Android, ב-iOS או במערכת הפעלה אחרת. עם זאת, לא כל אפליקציות המיני יכולות לפעול בכל אפליקציות העל, אלא במאוחר יותר.
קמפיינים מסוג Discovery
הרבה פעמים מוצאים אפליקציות מיני אד-הוק דרך ברקודים דו-ממדיים ממותגים, שעוזרים לפתור אתגר חשוב בין עסקים אופליין לבין אינטרנט. לדוגמה, מעבר מתפריט של מסעדה פיזית לאפליקציה קטנה יחסית או קורקינט פיזי אחד לאפליקציה מוקטנת להשכרה. התמונה הבאה מציגה דוגמה של ברקוד דו-ממדי ממותג שמושקת קוד הדגמה של אפליקציית WeChat עם גרסת מיני של האפליקציה. אפליקציות-על אחרות לא יכולות לזהות את הברקוד.
![ברקוד דו-ממדי ממותג WeChat.](https://web.dev/static/articles/mini-apps/mini-app-about/image/wechat-branded-2d-barcode-e6ef7f80e48d8.jpg?authuser=5&hl=he)
אפשר לגלות מיני אפליקציות גם באמצעות חיפוש רגיל בתוך האפליקציה ב-Super app, לשתף אותן בהודעות צ'אט או להיות חלק מפריט חדשותי בפיד חדשות. חלק מאפליקציות-העל מבוססות על חשבונות מאומתים שיכולים להכיל מיני אפליקציות בפרופילים שלהן. אפשר להדגיש אפליקציות של מיני אפליקציות אם הן קרובות מבחינה גיאוגרפית, למשל האפליקציה המוקטנת של עסק שמולו ניצב המשתמש או כמעט קרובה אליו, למשל כשהמשתמש מקבל מסלול במפה שמוצגת באפליקציית סופר. אפליקציות מוקטנות שנמצאות בשימוש נפוץ זמינות בחלונית ההזזה לאפליקציות, שבהרבה אפליקציות-על אפשר לגשת אליהן באמצעות תנועת החלקה למטה או דרך קטע מיוחד בתפריט של אפליקציית Super.
חוויית המשתמש
לכל אפליקציות-העל יש ממשק משתמש זהה (או פחות) לאפליקציות מיני. סרגל עליון מעוצב עם שם המיני אפליקציה, ובפינה העליונה של המסך בפינה השמאלית העליונה מופיע לחצן סגירה עם תפריט פעולות שמספק גישה לתכונות נפוצות כמו שיתוף האפליקציה, הוספת האפליקציה לרשימת מועדפים או למסך הבית, דיווח על אפליקציות פוגעניות, שליחת משוב והגדרות. בצילום המסך שלמטה מוצגת אפליקציית מיני של שופינג שפועלת בהקשר של אפליקציית-העל של Alipay, עם תפריט הפעולות פתוח.
![אפליקציית-העל של Alipay שמותקנת בה אפליקציית מיני של שופינג עם סרגל עליון, לחצן של תפריט פעולות ולחצן סגירה מודגשים. תפריט הפעולות נפתח.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-alipay-super-app-runn-39dde18ae385b.jpg?authuser=5&hl=he)
פרדיגמות של ממשק המשתמש
בדרך כלל יש סרגל כרטיסיות תחתון לתפריט הניווט הראשי של המיני-אפליקציה. רוב ספקי האפליקציות כוללים רכיבים שעוזרים למפתחים להטמיע במהירות פרדיגמות נפוצות בממשק המשתמש, כמו קרוסלות, אקורדיונים, סרגלי התקדמות, מסתובבים, מתגים, מפות ועוד. זה גם עוזר ליצור עקביות בחוויית המשתמש בין המיני-אפליקציות, דבר שמעודד את ההנחיות לעיצוב תוכנית Mini Program של WeChat. התנהלות כזו דומה לזו ש-Apple מתמרצת באמצעות ההנחיות של Apple לממשק אנושי, ולפי ההמלצות של Google בנושא עיצוב ל-Android.
![אפליקציית המיני-אפ של Douyin מציגה את רכיב המחוון (קרוסלה) של Douyin עם מתגים להתקדמות אוטומטית, מחווני נקודות וכו'.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-douyin-demo-mini-app-fbf61969fee88.png?authuser=5&hl=he)
השרת ממלא את הבקשה
במקום להופיע בנפרד כמשאבים נפרדים, אפליקציות מיני מוצגות כאפליקציות ארוזות ומוצפנים, כלומר כארכיונים שמכילים את כל המשאבים בקובץ אחד. בניגוד לאפליקציות אינטרנט רגילות, הן גם לא מוצגות מהמקור הספציפי של יוצר המיני אפליקציות, אלא ישירות מספק האפליקציות העל. עדיין תהיה להם גישה לממשקי API מהשרתים של יוצר המיני אפליקציות, אבל צריך לספק את משאבי הליבה (שנקראים מעטפת האפליקציה) של ספק האפליקציות. באפליקציות המינימליות צריכה להופיע הצהרה על המקורות שמהם הן מבקשות נתונים נוספים.
שמירה במטמון, עדכונים וקישורים עמוקים
מיני אפליקציות נשמרות במטמון של אפליקציית-העל, כך שבפעם הבאה שהמשתמש מפעיל מיני אפליקציה שנשמרה במטמון, היא נטענת באופן כמעט מיידי. אם יש עדכון, נטענת חבילת אפליקציות חדשה. מספר הגרסה יכול להיות חלק ממזהה ה-URI להפעלה (ראו Discovery), כך שאפליקציית-העל תדע כבר בשלב מוקדם אם הגרסה ששמורה במטמון המקומי עדיין עדכנית. מזהה ה-URI להשקה מכיל גם את הדף הרצוי של המיני-אפליקציה, כך שניתן לבצע קישור עומק לדפים ספציפיים של מיני אפליקציות. באמצעות sitemap, אפליקציות מיני יכולות להצהיר אילו מהדפים שלהן ניתנים להוספה לאינדקס על ידי הסורק של מיני אפליקציות של ספק האפליקציות.
![Finder של macOS שמוצגת בו תיקייה שמכילה קובצי ' .wxapkg' של אפליקציית המיני של WeChat שנשמרה במטמון.](https://web.dev/static/articles/mini-apps/mini-app-about/image/macos-finder-showing-fol-d1f228bbf9ff2.png?authuser=5&hl=he)
אבטחה והרשאות
האפליקציות של מיני-אפליקציות נבדקות על ידי ספק האפליקציות, כלומר מבחינת המשתמשים, שהן מאובטחות יותר מאפליקציות אינטרנט. הם צריכים להצהיר מראש על ההרשאות הנדרשות שלהם, באמצעות מניפסט או קובץ תצורה של מיני אפליקציות. עבור ספקים מסוימים, גם הם צריכים הסברים למה נדרשת כל הרשאה. מיני אפליקציות כמובן עדיין יכולות לשקר, אבל יהיה להן קשה להצדיק את הסיבה לכך, למשל, לנסות לגשת לחיישני תנועה ללא סיבה ברורה למשתמש. התמריץ לשליחת טביעת האצבע של המשתמש הוא הרבה יותר נמוך בהשוואה לאינטרנט, כי הוא בדרך כלל כבר מחובר לאפליקציית סופר ממילא (מידע נוסף זמין בקטע זהות, תשלום ותרשים חברתי).
בכל פעם שאפליקציית מיני מבצעת פעולה שדורשת הרשאה מיוחדת, מוצגת למשתמש הודעה, שבמידה שהפלטפורמה נאכפת, היא כוללת גם את הצדקה לשימוש, כפי שצוין על ידי המפתח. בצילום המסך הבא מוצגת אפליקציית המיני להדגמה של Douyin שמבקשת מהמשתמש הרשאה לשתף את המיקום שלו. בחלק מאפליקציות-העל יש גם ממשק API חיוני שאפליקציות מיני יכולות להשתמש בו כדי לבקש הרשאות בלי להשתמש בהן באופן מיידי, או כדי לבדוק רק את הסטטוס של הרשאה כלשהי. ההרשאות כוללות גם API לפתיחת הגדרות ההרשאה המרכזיות של אפליקציות-על, שתואמות להגדרות האתר של Chrome. בנוסף, באפליקציות המינימליות צריך להצהיר מראש על המקורות של כל השרתים שייתכן שהם יבקשו נתונים מהם.
![אפליקציית המיני להדגמה של Douyin שמציגה בקשה למיקום גיאוגרפי עם שתי אפשרויות: 'אסור' ו 'מותר'.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-douyin-demo-mini-app-bab6b3dbfe49e.png?authuser=5&hl=he)
גישה לתכונות מתקדמות
אפליקציית-העל לאירוח מציעה גישה לממשקי API מתקדמים באמצעות גשר JavaScript שמוחדר ל-WebView שאפליקציית-העל מציעה (למידע נוסף, ראו אבני בניין ותאימות). גשר ה-JavaScript הזה מספק רכיבים מוטמעים בממשקי ה-API של מערכת ההפעלה. לדוגמה, פונקציית JavaScript של מיני אפליקציות כמו getConnectedWifi()
— היכולת של אפליקציה קטנה לקבל את השם של רשת ה-Wi-Fi הפעילה כרגע — מתבצעת מתחת למכסה המנוע של ה-API של Android
getConnectionInfo()
או של iOS CNCopyCurrentNetworkInfo()
. דוגמאות נוספות של ממשקי API עוצמתיים למכשירים שנחשפו באפליקציות סופר נפוצות: Bluetooth, NFC,
iBeacon, GPS, לוח מערכת, חיישני כיוון, נתוני סוללה, גישה ליומן, גישה לספר הטלפונים, בקרת בהירות המסך, גישה למערכת קבצים, חומרת רטט למשוב פיזי,
גישה למצלמה ולמיקרופון, הקלטת מסך ויצירת צילום מסך, סטטוס רשת, שקעי UDP,
סריקת ברקוד, מידע על זיכרון במכשיר ועוד.
![המיני-אפליקציה של WeChat עם פס הזזה ששולט בבהירות המסך של המכשיר, זז עד לרמה המקסימלית.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-wechat-demo-mini-app-964b40a49071.png?authuser=5&hl=he)
גישה לשירותי ענן
אפליקציות-על רבות מספקות גם גישה ללא שרת (serverless) לשירותי הענן של ספק אפליקציות העל. מלבד מחשוב ענן גולמי ואחסון בענן, לרוב הן כוללות גם משימות ברמה גבוהה יותר כמו תרגום טקסט, זיהוי אובייקטים או סיווג תוכן בתמונות, זיהוי דיבור ומשימות אחרות של למידת מכונה. ניתן לייצר הכנסות ממיני אפליקציות באמצעות מודעות, שבדרך כלל זמינות על ידי ספקי אפליקציות סופר. פלטפורמות סופר-אפליקציות בדרך כלל מספקות גם נתונים לניתוח נתונים בענן, כך שמפתחי מיני אפליקציות יכולים להבין טוב יותר את האינטראקציה של המשתמשים עם האפליקציות שלהם.
זהות, תשלום, תרשים של רשתות חברתיות
תכונה חשובה מאוד של מיני אפליקציות היא פרטי הזהות והתרשים החברתי שמשותפים באפליקציית סופר. אפליקציות סופר כמו Douyin או WeChat התחילו כאתרים של רשתות חברתיות באופן הרחב ביותר, כי למשתמשים יש זהות (שלפעמים אפילו מאומתת על ידי הממשלה), חברים או עוקבים, ולעיתים קרובות נשמרים גם נתוני תשלום. לדוגמה, אפליקציית מיני-לשופינג יכולה (ולפעמים אפילו חייבת) לעבד תשלומים ישירות דרך ממשקי ה-API לתשלומים של אפליקציית-העל. בכפוף להסכמת המשתמשים, היא יכולה לקבל נתוני משתמשים כמו כתובת למשלוח, מספר טלפון ושם מלא, והכול מבלי לאלץ אותם למלא טפסים בצורה מכאיבה. למטה ניתן לראות את אפליקציית המיני של Walmart פועלת ב-WeChat, שנפתחת בפעם הראשונה ומקבלת אותי פנים מוכרות.
![אפליקציית המיני של Walmart שבה הפנים והשם של המחבר מוצגים בכרטיסייה 'אני'.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-walmart-mini-app-show-87a18e926c07a.png?authuser=5&hl=he)
מיני אפליקציות יכולות להיות פופולריות מאוד אם אנשים יוכלו לשתף את ההישגים שלהם כמו ניקוד גבוה במשחק ולאתגר את אנשי הקשר שלהם באמצעות עדכוני סטטוס. אפליקציית המיני נמצאת במרחק הקשות ספורות, כך שהמשתמשים יכולים להשתתף בתחרות ללא חיכוך, וכך להרחיב את פוטנציאל החשיפה שלה.
אישורים
המאמר הזה נכתב על ידי Joe Medley, Kayce Basques, Milica Mihajlija, אלן קנט וקית' גו.