חדש ב-Chrome 72

פיט לפייג'
פיט לה פייג'

בגרסה 72 של Chrome הוספנו תמיכה בתכונות הבאות:

ויש עוד עוד המון!

שמי Pete LePage. בוא נצלול פנימה ונראה מה חדש למפתחים ב-Chrome 72!

יומן שינויים

הנה סקירה של חלק מההדגשים העיקריים. בקישורים שבהמשך יש שינויים נוספים ב-Chrome 72.

שדות של כיתות ציבוריות

השפה הראשונה שלי הייתה Java, ולמידת ה-JavaScript הייתה לי תקלה. איך יוצרים כיתה? או ירושה? מה לגבי שיטות ונכסים ציבוריים ופרטיים? רבים מהעדכונים האחרונים ב-JavaScript מקלים בהרבה על תכנות מוכוון אובייקט.

עכשיו אני יכול ליצור כיתות שפועלות כמו שציפיתי, עם בנאים, משתמשים וממירים, שיטות סטטיות ונכסים ציבוריים.

בעזרת V8 7.2, שמגיע עם Chrome 72, אפשר עכשיו להצהיר על שדות מחלקה ציבוריים ישירות בהגדרת הסיווג, וכך לא צריך לעשות זאת ב-builder.

class Counter {
  _value = 0;
  get value() {
    return this._value;
  }
  increment() {
    this._value++;
  }
}

const counter = new Counter();
console.log(counter.value);
// → 0
counter.increment();
console.log(counter.value);
// → 1

אנחנו עדיין עובדים על התמיכה בשדות פרטיים של כיתה!

פרטים נוספים מופיעים במאמר של מתיאס על שדות של כיתות.

ממשק API להפעלת משתמש

זוכרים מתי אתרים יכלו להשמיע צלילים באופן אוטומטי מיד לאחר טעינת הדף? אתם מערבלים כדי להקיש על מקש ההשתקה, או מבינים באיזו כרטיסייה מדובר, וסוגרים אותו. לכן, ממשקי API מסוימים מחייבים הפעלה באמצעות תנועת משתמש לפני שהם יפעלו. לצערנו, דפדפנים מטפלים בהפעלה בדרכים שונות.

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

ב-Chrome 72 הושקה גרסה 2 של הפעלת המשתמש, שמפשטת את הפעלת כל ממשקי ה-API השערים. ההמלצה מבוססת על מפרט חדש שנוסח במטרה לתקן את האופן שבו ההפעלה פועלת בכל הדפדפנים.

יש נכס userActivation חדש גם ב-navigator וגם ב-MessageEvent, שכולל שני נכסים: hasBeenActive ו-isActive:

  • hasBeenActive מציין אם בחלון המשויך הייתה אי פעם הפעלה של משתמש במחזור החיים.
  • isActive מציין אם במחזור החיים של החלון המשויך יש כרגע הפעלת משתמש.

פרטים נוספים זמינים במאמר איך ליצור חוויית משתמש עקבית בכל ממשקי ה-API

התאמת רשימות של פריטים לשוק המקומי באמצעות Intl.format

אני אוהבת את ממשקי ה-API של Intl, הם שימושיים מאוד להתאמה לשוק המקומי של תוכן בשפות אחרות! ב-Chrome 72 יש שיטת .format() חדשה שמאפשרת ליצור רשימות בקלות. כמו ממשקי API אחרים של Intl, התכונה מעבירה את העומס למנוע ה-JavaScript, בלי לפגוע בביצועים.

צריך להפעיל אותו בלוקאל הרצוי, לקרוא ל-format ולהשתמש במילים ובתחביר הנכונים. אפשר לקשר ביניהם, שמוסיף את המקבילה המקומית and (ובודקים את פסיקים היפהפיים האלה). הוא יכול ליצור הפרדה על ידי הוספת המקבילה המקומית ל-or, ובאמצעות כמה אפשרויות נוספות תוכלו לעשות עוד יותר.

const opts = {type: 'disjunction'};
const lf = new Intl.ListFormat('fr', opts);
lf.format(['chien', 'chat', 'oiseau']);
// → 'chien, chat ou oiseau'
lf.format(['chien', 'chat', 'oiseau', 'lapin']);
// → 'chien, chat, oiseau ou lapin'

לפרטים נוספים, עיינו בפוסט על Intl.ListFormat API.

ועוד!

אלה רק כמה מהשינויים שב-Chrome 72 למפתחים, כמובן, ויש עוד הרבה יותר.

  • Chrome 72 משנה את ההתנהגות של Cache.addAll() כדי להתאים בצורה טובה יותר למפרט. בעבר, אם היו רשומות כפולות באותה קריאה, בקשות מאוחרות יותר היו מחליפות את הבקשה הראשונה. להתאמה למפרט, אם יש ערכים כפולים, השדה ידחה באמצעות InvalidStateError.
  • בקשות לסמלי אתרים מטופלות עכשיו על ידי קובץ השירות (service worker), כל עוד כתובת ה-URL של הבקשה נמצאת באותו מקור כמו קובץ השירות (service worker).

הרשמה

רוצים להתעדכן בסרטונים שלנו? נרשמים לערוץ YouTube של מפתחי Chrome ומקבלים התראה באימייל בכל פעם שנשיק סרטון חדש.

שמי פיט לה פייג', וברגע שגרסת Chrome 73 תושק, אני אהיה כאן כדי לספר לכם מה חדש ב-Chrome!