- ב-Chrome 63 אפשר לייבא מודולים של JavaScript באופן דינמי.
- מחזורים וגנרטורים אסינכרונים הופכים את השאלה האהובה עליי בראיונות לקוד לעניין פשוט.
- אפשר לשנות את התנהגות ברירת המחדל של דפדפן בגלילה בזמן עומס יתר באמצעות המאפיין
overscroll-behavior
ב-CSS. - שינינו גם את האופן שבו המשתמשים מקבלים בקשות להרשאות.
ויש עוד הרבה!
קוראים לי Pete LePage. נצלול פנימה ונראה מה חדש למפתחים בגרסה 63 של Chrome.
רוצים לראות את רשימת השינויים המלאה? תוכלו לעיין ברשימת השינויים במאגר מקורות Chromium.
ייבוא דינמי של מודולים
ייבוא מודולים של JavaScript הוא שימושי מאוד, אבל הוא סטטי, אי אפשר לייבא מודולים על סמך תנאים בסביבת זמן הריצה.
למרבה המזל, המצב הזה השתנה בגרסה 63 של Chrome, עם תחביר הייבוא הדינמי החדש. היא מאפשרת לטעון קוד באופן דינמי למודולים ולסקריפטים בזמן הריצה. אפשר להשתמש בו כדי לטעון סקריפט באופן הדרגתי רק כשצריך אותו, וכך לשפר את ביצועי האפליקציה.
button.addEventListener('click', event => {
import('./dialogBox.js')
.then(dialogBox => {
dialogBox.open();
})
.catch(error => {
/* Error handling */
});
});
במקום לטעון את כל האפליקציה כשהמשתמש מגיע לדף בפעם הראשונה, אתם יכולים להשתמש במשאבים הנדרשים כדי להיכנס לדף. העומס הראשוני קטן ומהיר מאוד. לאחר מכן, כשהמשתמש נכנס לחשבון, אפשר לטעון את שאר הנתונים ולהמשיך.
מחולל וסורק אסינכרוני
כתיבת קוד שמבצע איטרציה כלשהי באמצעות פונקציות async
יכולה להיות מכוער.
למעשה, זהו החלק העיקרי בשאלה האהובה עלי בראיונות לתכנות.
עכשיו, בעזרת פונקציות אסינכרוניות של היצירה והאיטרציה האסינכרונית הפרוטוקול, הצריכה או ההטמעה של מקורות הנתונים בסטרימינג מייעלים את התהליך, ושאלת התכנות הופכת להרבה יותר קל.
async function* getChunkSizes(url) {
const response = await fetch(url);
const b = response.body;
for await (const chunk of magic(b)) {
yield chunk.length;
}
}
אפשר להשתמש במערכי סריקה אסינכרונים בלולאות for-of
וגם כדי ליצור מערכי סריקה אסינכרונים מותאמים אישית באמצעות מפעלים של מערכי סריקה אסינכרונים.
התנהגות של גלילה מעבר לקצה
גלילה היא אחת מהדרכים הבסיסיות ביותר ליצור אינטראקציה עם דף, אבל לפעמים קשה להתמודד עם דפוסים מסוימים. לדוגמה, התכונה משיכה לרענון בדפדפנים, שבה מחליקים למטה בחלק העליון של הדף, מבצעת טעינה מחדש קשה.
לפני כן, עם רענון מלא של הדף.
אחר כך מרעננים רק את התוכן.
במקרים מסוימים, יכול להיות שתרצו לשנות את ההתנהגות הזו ולספק חוויה משלכם. זה מה שאפליקציית האינטרנט המתקדמת של Twitter עושה: כשגוררים למטה, במקום לטעון מחדש את כל הדף, פשוט מוסיפים את הטוויטים החדשים לתצוגה הנוכחית.
Chrome 63 תומך עכשיו במאפיין ה-CSS overscroll-behavior
, כדי להקל על שינוי התנהגות ברירת המחדל של גלילה לאפשרויות נוספות של הדפדפן.
אפשר להשתמש בה כדי:
- ביטול שרשור הגלילה
- השבתה או התאמה אישית של הפעולה 'משיכה לרענון'
- השבתת אפקט ה'גומיה' ב-iOS
- הוספת ניווטים באמצעות החלקה
- ועוד...
החלק הכי טוב הוא של-overscroll-behavior
אין השפעה שלילית על ביצועי הדף.
שינויים בממשק המשתמש של ההרשאות
אני אוהב התראות באינטרנט, אבל אני ממש מתוסכל ממספר האתרים שמבקשים הרשאה לטעינת דפים, ללא כל הקשר, ואני לא לבד.
המערכת מתעלמת מ-90% מכל בקשות ההרשאות או נחסמות זמנית.
בגרסה 59 של Chrome, התחלנו לטפל בבעיה הזו על ידי חסימה זמנית של הרשאה אם המשתמש סגר את הבקשה שלוש פעמים. החל מגרסה M63, בקשות ההרשאה ב-Chrome ל-Android יוצגו בתיבת דו-שיח מודולרית.
חשוב לזכור: האפשרות הזו לא רלוונטית רק להתראות דחיפה, אלא לכל בקשות ההרשאה. אם מבקשים הרשאה בזמן ובהקשר המתאימים, יש סיכוי גבוה פי שניים וחצי שהמשתמשים יעניקו את ההרשאה.
ועוד.
אלה הם רק כמה מהשינויים ב-Chrome 63 למפתחים, כמובן שיש עוד הרבה.
finally
זמין עכשיו במכונותPromise
, והוא מופעל אחרי ש-Promise
הושלם או נדחה.- Device Memory JavaScript API החדש עוזר לכם להבין את מגבלות הביצועים על ידי מתן רמזים לגבי נפח ה-RAM הכולל במכשיר של המשתמש. אתם יכולים להתאים אישית את החוויה בזמן הריצה, לצמצם את המורכבות במכשירים ברמה נמוכה יותר ולספק למשתמשים חוויה טובה יותר עם פחות תסכולים.
- באמצעות
Intl.PluralRules
API אפשר לפתח אפליקציות שמבינות את צורת הרבים של שפה נתונה, על ידי ציון צורת הרבים שחלה על מספר נתון ועל שפה נתונה. ויכול לעזור עם מספרים עוקבים.
חשוב להירשם לערוץ YouTube שלנו כדי לקבל התראה באימייל בכל פעם שנעלה סרטון חדש.
קוראים לי פיט לייפיג', ואחרי שגרסת Chrome 64 תפורסם, אספר לכם מה חדש ב-Chrome.