מה עבד טוב באפליקציות המיני
בקטע הזה אשתף את הלקחים שלמדתי מהמחקר שלי על אפליקציות מיני מנקודת המבט של מפתח אינטרנט, או אענה על השאלה מה המשמעות של פיתוח לפי 'הדרך של אפליקציות המיני'.
רכיבים
במקום להמציא מחדש את הגלגל ולגרום למפתחים ליצור עוד הטמעה של פרדיגמות נפוצות של ממשק משתמש, כמו כרטיסיות, מתקפלים, קרוסלות וכו', אפליקציות המיני פשוט מגיעות עם מבחר ברירת מחדל של רכיבים שאפשר להרחיב במקרה הצורך. באינטרנט יש גם הרבה אפשרויות, חלק מהן פירטתי בפרק על רכיבי אפליקציות מיני. בעולם אידיאלי, ספריות הרכיבים באינטרנט היו נוצרות כך שאפשר יהיה לשלב ביניהן באופן חופשי. בפועל, לעתים קרובות יש צורך לרכוש מערכת עיצוב מסוימת כדי להשתמש ברכיב, או שספריית הרכיבים מחולקת באופן 'הכול או לא כלום', אבל אי אפשר להוסיף רכיבים ספציפיים לפרויקט בקלות. עם זאת, יש רכיבים אטומיים שאפשר להשתמש בהם בנפרד, או ספריות כמו 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.