מפגש הפסגה של מפתחי Chrome לשנת 2014 - פולימר - מצב האיחוד

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

בהרצאה שלו בכנס Chrome Dev Community, מאט מקנולטי (Matt McNulty), מנהל הנדסה בצוות הפולימר, הסביר מהו פולימר וגם תיאר את מפת הדרכים אל Polymer 1.0.

מהו פולימר?

ראשית, מה זה בדיוק פולימר?

Polymer היא ספרייה שעוזרת לכם לבנות אלמנטים ואפליקציות מתוך רכיבי אינטרנט. רכיבי אינטרנט הם קבוצה חדשנית של תקנים חדשים שמאפשרים למפתחים להרחיב את אוצר המילים של HTML באמצעות רכיבים מותאמים אישית משלהם.

Polymer עוזר למפתחים לבנות אפליקציות מהר יותר

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

הפולימר מרענן את רכיבי האינטרנט

Polymer מאפשר לעבוד בקלות רבה יותר ברכיבי אינטרנט על-ידי "הגדלת" התחביר. הוא מפחית את כמות הקוד הנדרש לכתיבה ומוסיף סגנון הצהרתי, כך שאפשר ליצור רכיבי אינטרנט בקלות כמו כתיבת HTML.

ניסוי הפולימרים

Polymer התחיל כניסוי כדי לבדוק אם נוכל לבצע פוליגונים לתקנים של רכיבי אינטרנט ולקבל משוב ממפתחים לפני שהטכנולוגיות האלה נשלחו בכל הדפדפנים. ככל שיותר מפתחים התחילו להשתמש ב-Polymer, זה השתנה מ-polyfills לספרייה בפועל מלאה בתכונות פרודוקטיביות (קישור נתונים, צופים בשינויי מאפיינים, מציאת צמתים אוטומטית וכו'). אבל לכל הניסויים יש תוצאות, אז איך היה לנו?

צריך לשפר את כרטיס הדוח 'פולימר'

מפתחים רבים אמרו שהם אהבו את מידת ההבעה והפרודוקטיביות שבעבודה עם רכיבי אינטרנט ב-Polymer, אבל הם גם הביעו חששות בנוגע לביצועים ולמורכבות הכוללת.

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

בקרוב יהיו שינויים

צוות Polymer בדק לעומק כל תכונה בספרייה במטרה להפיק גרסה דקה יותר ומוכנה לייצור, שהמפתחים יוכלו להרגיש בטוחים לגביה בשימוש.

שכבות

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

הפולימר עבר ארגון מחדש לשכבות

קישור נתונים פשוט יותר

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

קישור הנתונים עכשיו פשוט יותר

Leaner Shadow DOM

ה-polyfill של Shadow DOM הוא שילוב מדהים של הנדסה. היא תוכננה להיות מקיפה ולעמוד בדרישות למפרטים, וזה חשוב לבדיקה יסודית של מודל הפלטפורמה, אבל לצערנו מוצג בו מספר צווארי בקבוק בביצועים בתכונות שלא בשימוש על ידי Polymer.

הגרסה הבאה של פולימר תנקוט גישה שונה ותתבסס על שכבה בסגנון Shiim שרק ממלאת את מה שפולימר צריך.

הצללית של ערש כבד מאוד מהירה יותר

ה-polyfill הקיים יפעל ברכיבי אינטרנט כלליים שאינם פולימרים.

מעבר אל webcomponents.org

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

כדי להבהיר את ההבחנה הזו, ה-polyfills מועבר אל webcomponents.org והשם שלהם השתנה ל-webcomponents.js.

Polyfills עוברים אל webcomponents.org

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

תוצאות

אז מהן התוצאות של כל השינויים האלה?

מהירות

ב-Chrome, מהירות הטעינה של Polymer גבוהה פי 5, וב-Safari הקצבה גבוהה פי 8.

Polymer מהיר פי 8 ב-Safari

גודל הקובץ

בנוסף, גודל הקובץ הוקטן ב-87%, מ-123KB ל-15KB (6KB gzip).

הפולימר קטן עכשיו ב-87%

מפת דרכים

בגרסה הבאה יהיו כמה שינויים של תקלות ב-API, שישפיעו על מספר הגרסה החדשה (0.8), אבל הצוות רוצה להבהיר שלא מדובר בשכתוב. העברת הפרויקט הנוכחי מ-Polymer 0.5 ל-0.8 אמורה להיות די טריוויאלית.

הצוות של Polymer גם הציג מפת דרכים כדי להבהיר למפתחים בצורה ברורה יותר לגבי המהדורות הבאות.

מפת דרכים פולימרית, בטא ברבעון 1, 1.0 ברבעון 2

התצוגה המקדימה של 0.8 זמינה עכשיו בתור הסתעפות ב-GitHub (למרות שהיא עדיין בפיתוח פעיל ואין לה תיעוד). גרסת הבטא הרשמית 0.9 מתוכננת לרבעון הראשון של 2015, וגרסת הבטא של 1.0 מתוכננת ברבעון השני.

הניסוי הסתיים

בעקבות כל השינויים שבוצעו לאחרונה ב-Polymer, הצוות שעומד מאחוריה מניח את היסודות של רכיבי אינטרנט, כך שיהפכו לחלק בלתי נפרד מהסטאק של כל מפתח. אם זו הפעם הראשונה שאתם משתמשים ברכיבי אינטרנט, עכשיו זה זמן מעולה להעיף מבט ולהכיר את הטכנולוגיות האלה מהפכניות. אם אתם כבר עובדים עם רכיבים (ופולימר), העתיד נראה מואר מאוד. כדאי לעקוב אחרי כל העדכונים האחרונים בבלוג Polymer, ולהירשם לרשימת התפוצה של Polymer אם יש שאלות או תגובות. פריצה מהנה!