תכנות של המיני-אפליקציה

מה עבד טוב באפליקציות המיני

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

רכיבים

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

מודל-תצוגה-תצוגת-מודל (MVVM)

התבנית הארכיטקטונית model–view–viewmodel (MVVM) מאפשרת להפריד בין הפיתוח של ממשק המשתמש הגרפי (התצוגה) באמצעות שפת סימון לבין הפיתוח של הלוגיקה לקצה העורפי (המודל). כך התצוגה לא תלויה בפלטפורמה ספציפית של מודל. יש כמה חסרונות מתועדים לדפוס, אבל באופן כללי הוא מתאים מאוד לאפליקציות ברמת המורכבות של אפליקציות מיני. הוא יכול להניב תוצאות טובות במיוחד עם ספריות תבניות עשירות (ראו הפרק הבא).

חשיבה ברמת הדף

ניפוי באגים באפליקציות מיני מראה שהן למעשה אפליקציות עם כמה דפים (MPA). לכך יש יתרונות רבים, למשל, אפשרות לניתוב פשוט וסגנון לכל דף ללא התנגשויות. אנשים הצליחו להחיל ארכיטקטורות של MPA על אפליקציות Progressive Web. חשיבה לפי דפים עוזרת גם לנהל משאבים כמו קובצי CSS ו-JavaScript של כל דף, ונכסים אחרים כמו תמונות וסרטונים. היתרון החשוב ביותר של פיתוח בדרך הזו הוא שתקבלו חלוקת קוד מבוססת-נתיב בחינם, אם לא תטעינו שום דבר אחר. במקרה כזה, כל דף מוגדר באופן מובהק לטעון רק את מה שדרוש לו כדי לפעול.

תהליך build

לאפליקציות המיני אין תהליך פיתוח גרסה גלוי. באינטרנט, כלי build מודרניים כמו Snowpack משתמשים במערכת המודולים המובנית של JavaScript (שנקראת ESM) כדי להימנע מעבודה מיותרת ולשמור על מהירות עבודה גבוהה, לא משנה כמה גדול הפרויקט. עדיין מוקדם לדבר על טכנולוגיות כמו Web Bundles, אבל אפשר להוסיף אותן בקלות לתהליך ה-build.

יכולות מתקדמות

פלטפורמת האינטרנט נוספו לה לאחרונה הרבה יכולות חדשות. עכשיו אפשר לגשת למכשירים באמצעות Bluetooth, ‏USB, ‏HID, ‏יציאה טורית ו-NFC. כשאפליקציות מיני פועלות ברכיבי WebView ותלויות בגשר JavaScript, באינטרנט היכולות החזקות האלה זמינות ישירות, כך שאתם לא מתכננים מול ממשק API שסופק על ידי גשר JavaScript, אלא מול ממשק ה-API של הדפדפן ללא גורם ביניים.

תודות

הבדיקה של המאמר בוצעה על ידי Joe Medley,‏ Kayce Basques,‏ Milica Mihajlija,‏ Alan Kent ו-Keith Gu.