איך לבנות אפליקציות מהירות להפליא
מטרת המפתח היא להגביר את ביצועי האפליקציה ולשפר את חווית המשתמש. לעתים קרובות הזמן עומד נגד המפתחים כשבעלי העניין נושמים בעורפם, תחרות מאיימת להוציא אפליקציות טובות יותר ממה שהם יכולים לייצר ומשתמשים רומזים לעבור לאפליקציות מתחרות. אז צוותי ניהול הפרויקטים תמיד מחפשים אחר שיטות שיעזרו להם לבנות אפליקציות מהר – מהר להפליא. וכן, רק מהר זה לא מספיק. הם צריכים להתרכז בהפיכת האפליקציות הללו לגמישות, עם זמן אחזור נמוך ולספק זמני רינדור מעולים.
בחירת ערימת הטכנולוגיה הנכונה
מחסנית טכנית היא קבוצה של שפות תכנות, כלים, טכנולוגיות ומוצרי תוכנה שמפתחים משתמשים בהם כדי ליצור אפליקציית אינטרנט פונקציונלית. זה יכול להיות מסווג כמחסנית בצד השרת (בקצה האחורי), מחסנית בצד הלקוח (הקצה הקדמי) ובמחסנית האמצע. בשל המספר הגדול של ספריות אבני חן, RoR היא המסגרת הנפוצה ביותר לפיתוח מהיר של אפליקציות. לדוגמה, אם אתה רק מתחיל בעסק שלך, אתה יכול לבחור בכלי שפה/מסגרת/CMS שיאפשר לך להרכיב אב טיפוס. הכלים עם הלמידה הקצרה ביותר, כך יהיה טוב יותר עבורך.
התרחק מאופטימיזציה מוקדמת
דונלד קנוט אמר פעם, "אופטימיזציה מוקדמת היא שורש כל הרוע".
מפתחים מבלים זמן רב בחשיבה על החלקים הלא קריטיים של תוכנה, במקום בפיתוח החלקים הקריטיים של הקוד. הם לא נותנים חשיבות לחלקים הקריטיים של הקוד, וגם לא עובדים על הקוד שצריך לבצע אופטימיזציה.
חוסר ניסיון יכול לגרום לזה. על מנת למנוע דברים דומים לקרות לצוות שלך, ודא שהצוות כותב את הגרסה הראשונה של הקוד מבלי לדאוג לגבי הביצועים שלו. מאוחר יותר, באמצעות פרופיילר, הצוות יכול לבדוק היכן נמצאים צווארי הבקבוק.
כך הם יכולים לבדוק אזורים שבאמת צריכים תשומת לב ולא להתעסק במה שלא.
בארץ PHP, ישנם כמה כלים שבהם אתה יכול להשתמש כדי ליצור פרופיל של הקוד שלך. הם xdebug, xhprof, Symphony profiler, Tideways, Blackfire.io ו-The Stopwatch Component.
תעשה רק מה שאתה צריך לעשות
לעתים קרובות, הקוד שלך עושה דברים מסוימים שהם מעבר לתחום של מה שציפית שהוא יעשה. במיוחד כשמדובר בשימוש בספריות ובמסגרות מורכבות. לפעמים, אתה עלול לטעון מחלקות שלא תכננת להשתמש בהן, או לפתוח חיבור למסד נתונים שלא היה צורך להפיק תוצאות עבור בקשה ספציפית.
אתה צריך להימנע מאלה מלהתרחש כי אלה עלולים להפריע לביצועים שלך. הנה כמה טיפים כיצד להשיג ביצועים טובים יותר:
א) טעינה אוטומטית – בעזרת תכונת הטעינה האוטומטית, אתה צריך להטריד רק את הקבצים שהיית צריך לכלול בסקריפט שלך. נכון שהטעינה האוטומטית הייתה מאמץ קצת מורכב בעבר, אבל בעזרת כלים כמו Composer ותקני PSR-0 ו-PSR-4, הגדרת טעינה אוטומטית של פיסת עוגה.
ב) הזרקת תלות – למרות דפוס עיצוב נפוץ מאוד ב-Java, Dependency Injection קיבלה משיכה רבה גם בעולם ה-PHP. הסיבה לכך היא שמסגרות כמו Symphony, Laravel ו-Zend משתמשות בה רבות. באמצעות Dependency Injection, מפתחים יכולים להזריק רכיבים בשיטת ה-constrictor ומאפשרת למפתח לחשוב במונחים של תלות. זה עוזר להם ליצור רכיבים מבודדים קטנים שבהם ההתמקדות היא רק בדבר אחד.
דְחִיסָה
אתה יכול להקטין את גודל הנתונים באמצעות טכניקות דחיסה הזמינות עבור התוכן. לשירותי REST יש תקורה נמוכה יותר, וודא שהגודל של התמונות בנתונים נכון, מכיוון שקשה לטעון תמונות יכול באמת להשפיע על טעינת האפליקציות. כמו כן ודא שהפעלת דחיסת HTTP כאשר אתה משתמש עם שרת אינטרנט.
השתמש בשיטת האחסון במטמון כדי לבצע משימות שחוזרות על עצמן
אין ספק שאפליקציות אינטרנט הן באמת מורכבות בימינו, והן חייבות להיות מוכשרות מספיק כדי ליצור מענה לכל בקשה שמגיעה. דרך חכמה לבצע מטלות חוזרות היא באמצעות שמירה במטמון. זוהי טכניקה בשימוש נרחב שניתן למצוא בכל מקום. בתכנות אינטרנט, ישנן רמות שונות של מטמון שבהן אתה יכול להשתמש כמו מטמון קוד Byte, מטמון יישומים, מטמון HTTP ו- Proxy cache. זה יכול למנוע נסיעה מוגזמת דרך תשתית תוכן ורשת סלולרית.
רשת אספקת תוכן (CDN)
צמצם את זמן האחזור של הרשת, אחזור מראש של תוכן, אופטימיזציה של ניתוב רשת ועוד באמצעות CDNs או רשתות אספקת תוכן. אלה יכולים להאיץ את היישום שלך באופן ניכר. חלק מה-CDNs הנפוצים ביותר הם Akamai, Edgecast, Limelight, Amazon CloudFront ואפילו חברות תקשורת כמו AT&T ו-Level3.
אם הקצה האחורי הוא צפר ביצועים
אם אתה מרגיש ששרת הקצה האחורי לוקח הרבה זמן ביצועים, הגדר את מבנה התוכנה בצורה כזו שניידות, ניתנות, ניתנות לשינוי ומדרגיות לא ישפיעו על ביצועי האפליקציה. ככל הנראה תצטרך לערוך הערכת ארכיטקטורה כדי לקבוע איזה חלק באפליקציה נוטף מהירות. אם אתה בוחר בשירות של צד שלישי בשביל זה, וודא שאתה שואל אותם את כל השאלות הנכונות לפני שתעסיק אותם.
טעינה עצלה של נכסים
על פי דרישה או טעינה עצלה של נכסים יכולים לשפר את הביצועים של אפליקציית האינטרנט שלך. עם זאת, זה חל בעיקר על התמונות. טעינה עצלנית של תמונות יכולה לגרום לזמן טעינה מהיר יותר של הדף שלך,
להפחית עומס על השרת ולהפחית את השימוש בזיכרון בדפדפן. טעינה עצלנית יכולה להתבצע באמצעות תוספים או תוספים רלוונטיים. הנה תוסף שיטפל בטעינה עצלנית של תמונות עבור React – react-lazy-load.
השתמש במזהי מערך בעת שימוש בספריות מניפולציה של DOM
שימוש ב-array-IDs יהיה לעזר רב בשיפור הביצועים של אתרים דינמיים אם אתה משתמש ב-React, Angular, Ember או כל ספריית מניפולציה אחרת של DOM. מזהי מערך נותנים אינדיקציה למנועי מניפולציה של DOM כאשר ניתן למפות צומת מסוים לכל אלמנט מסוים במערך. ללא תכונה זו, ספריות הורסים את הצמתים הקיימים ויוצרות חדשים, ובכך פוגעות בביצועים.
"בצע את הטיפים האלה, פשוט התמקד בכתיבת הקודים הנכונים לפרויקט שלך, ותוכל להשיג רמה מצוינת של ביצועים ומדרגיות עבור האפליקציה שלך"
Flickr.com / Bjorn Gruenwald