לאחרונה, Polymer ורכיבי אינטרנט הם נושאים חמים מאוד, ומכיוון שסביבת העבודה הזו מתפתחת במהירות, לפעמים קשה למפתחים לעמוד בקצב של כל השינויים האחרונים.
בנאום שלו בכנס Chrome Dev Summit, Matt McNulty, מנהל ההנדסה של צוות Polymer, הסביר מהו Polymer ותיאר את תוכנית העבודה להשקת Polymer 1.0.
מהו Polymer?
קודם כול, מהו Polymer בדיוק?
Polymer היא ספרייה שבעזרתה אפשר ליצור רכיבים ואפליקציות מרכיבי אינטרנט. רכיבי אינטרנט הם קבוצה מתקדמת של תקנים חדשים שמאפשרים למפתחים להרחיב את אוצר המילים של HTML באמצעות רכיבים מותאמים אישית משלהם.

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

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

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

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

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

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

המהלך הזה נועד לעזור לכותבי ספריות אחרים ליהנות מהפוליפילים בלי בלבול. צוות Polymer ימשיך לתרום ל-polyfills, אבל אנחנו מקווים שהשינוי הזה יהפוך אותם למשאב משותף יותר לקהילה.
תוצאות
אז מהן התוצאות של כל השינויים האלה?
מהירות
ב-Chrome, Polymer מהיר עכשיו פי 5, וב-Safari חלה האצהרה של פי 8.

גודל הקובץ
גודל הקובץ גם הצטמצם ב-87%, מ-123KB ל-15KB (6KB בפורמט GZIP).

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

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