לא אכפת לי כמה הטכנולוגיה שבחרתם מדליקה אם אני לא יכול לקנות דרך הטלפון
פוסט זה כולל טיפ קצר בנושא פיתוח Front End. אם אתם רוצים ללמוד יותר לעומק על פיתוח Front End מהבסיס ועד הנושאים המתקדמים תשמחו לשמוע שבניתי קורס וידאו מקיף בנושא זה הכולל מעל 50 שיעורי וידאו והמון תרגול מעשי.
למידע נוסף והצטרפות לקורס בקרו בדף קורס Front End באתר.
נכנסתי לאתר שופיז היום להזמין מגנטים לילד. אחלה אתר ומחיר נוח ותוך כמה רגעים כבר סיימתי הזמנה. אז מאחר וזה עבד חלק חשבתי לנסות לראות איזה עוד מוצרים יש להם, וכאן התחיל הבלאגן.
1. הבעיה עם מתכנתים
כי אתם מבינים כשמתכנתים בונים אתר אנחנו מאוד ממוקדים במטרה. צריך לבנות איזה פיצ'ר אז כותבים את הקוד ואז בודקים שהפיצ'ר עובד. אבל יש לא מעט פיצ'רים שעובדים די טוב בדפוסי שימוש ממוקדים כאלה, אבל נשברים כשמישהו אשכרה מנסה להשתמש באתר. בעיה נוספת איתנו שאנחנו אוהבים לבדוק את הקוד איפה שקל לנו לבדוק אותו, כלומר על המחשב במשרד.
קחו לדוגמא את הגלילה האינסופית (בדוגמא שלנו שופיז אבל באמת זה שבור בהרבה מקומות). בפעם הראשונה שגוללים עד למטה האתר טוען בכיף עוד ערמה של מוצרים ואפשר להמשיך לגלול. אבל 4-5 טעינות נוספות והאייפון כבר לא עומד בעומס: אירועי Scroll לא נקלטים, האתר מסרב להגיב והדרך היחידה לברוח מזה היא לרענן את כל העמוד.
כלי הפיתוח במחשב אוששו את החשד הראשוני שאכן מדובר ב Single Page Application (או בקיצור SPA), הכתוב באנגולר1. הבעיה המרכזית עם SPA היא שאי אפשר לברוח ממנו. באתר רגיל מעבר לדף אחר באתר מנקה את הזיכרון ומתחיל דף חדש פשוטו כמשמעו. באתר SPA מעבר לדף אחר נראה כמו התחלה של דף חדש אבל למעשה כל המידע מהדף הקודם עדיין נשאר בזיכרון ומעמיס על היישום. היתרון הוא שמעבר בין דפים הרבה יותר מהיר מאשר באתר רגיל, אבל החיסרון שככל שיותר מידע נטען כך האתר יהיה כבד יותר.
2. מה כן לעשות
כאן ב ToCode אחרי המעבר ל SPA התמודדתי עם לא מעט בעיות של שאריות בין דפים. כשבונים SPA חשוב לזהות איזה פריטים נשמרים בזיכרון בכל דף ומתי פריטים אלו נמחקים. חשוב לעקוב אחר צריכת הזיכרון של הדפדפן בביצוע רצפים ארוכים של פעולות ולראות שאנחנו לא מעמיסים על המכשיר. אפשר לכתוב SPA מוצלח באנגולר1, אבל זה דורש הרבה יותר עבודה מאשר אתר PHP קלאסי.
אם אתם האנשים שאחראיים על בחירת הטכנולוגיה במוצר שלכם הייתי מאוד ממליץ להימנע מ SPA אם אין לכם את המשאבים כדי לבנות אחד נכון. ספציפית כאן ב ToCode אני לא חושב שהבחירה ב SPA היתה חכמה והיה לי הרבה יותר קל להישאר בארכיטקטורה קלאסית של חלוקה לדפים.
אם אתם המתכנתים שצריכים לבנות או לתחזק אתר SPA הקפידו לבדוק אותו על כמה שיותר מכשירים ולבצע כמה שיותר פעולות באתר בכל בדיקה. נסו להתנהג כמה שיותר כמו שאתם חושבים שמשתמשים יתנהגו וכך תוכלו לראות את הבעיות ולהתחיל לחפש ולהתמודד אתן.
והכי חשוב לזכור שרוב הגולשים שלנו יעדיפו אתר שעובד טוב מכל מכשיר מאשר אתר שמשתמש בפריימוורק כזה או אחר. לפני שפותחים אנגולר כברירת מחדל, קחו כמה דקות לחשוב אם יש לכם את המשאבים לבנות חנות באנגולר שגם יהיה נעים לשוטט בה.