צוות ה-WebKit של אפל פרסם חבילת בנצ'מרק חדשה מחודשת של SunSpider 1.0 ליצירת פרופיל של הביצועים של ביצוע JavaScript בדפדפן אינטרנט, ומחליפה את גרסת 0.9 שפורסמה לראשונה בסוף 2007.
SunSpider היהשוחרר בתחילהבמטרה למדוד באיזו מהירות מנוע JavaScript יכול לבצע מגוון מאוזן של משימות, במטרה לבחון את מידת היעילות של התקדמות חדשות.
JavaScript היא שפת התכנות של האינטרנט, המטפלת במשימות החל מחישובים מספריים ועד למניפולציה של תאריך וביטוי רגולרי ועד למשימות תכנות מונחה עצמים שהפכו, ביחד, את דפדפן האינטרנט הפשוט במקור לפלטפורמה המסוגלת לארח יישומי אינטרנט עתירי תכונות.
JavaScript משמש גם להפעלת אינטראקטיביות מחוץ לדפדפן האינטרנט, כמו ב-iOS'iAd, הווידג'טים האינטראקטיביים המשמשים ב-iBooks ובפיתוח תוכן דינמי ב-iTunes, כולל אלבומי iTunes LP ותוספות של iTunes לתפריטים דמויי DVD ואינטראקטיביים לסרטים וחומרי בונוס קשורים.
חדש של אפלiAd Producer 4.0(בתמונה למטה) מספק כלים לפיתוח כל שלושת הסוגים של תוכן שאינו דפדפן, מופעל באמצעות JavaScript.
בחמש וחצי השנים מאז שוחרר SunSpider 0.9, הוא תיעד יותר משיפור של פי 30בביצועי JavaScript ממחשב 2.33 גיגה-הרץ טיפוסי משנת 2007 עם Safari 3 ועד ל-2.2GHz i7 MacBook Pro מודרני עם Safari 6.
הגרסת 1.0 חדשהזה עתה שוחרר "מתקן מספר באגים ומטרתו להגביר עוד יותר את דיוק הבדיקה והחזרה", תוך התחשבות בעיצוב הרבה יותר מתוחכם של מנועי JavaScript מודרניים.
מעקב אחר ההתקדמות של מנועי JavaScript להפעלת HTML5
עוד ב-2007, כשהופיע לראשונה מדד ה-SunSpider, הביצוע של JavaScript לא השתנה באופן דרמטי מאז הצגתו על ידי Netscape ב-1995 כדרך לבצע חישובים בסיסיים בדפדפן אינטרנט בצד הלקוח המקומי (ולא מרחוק דרך האינטרנט) שרת).
לאחר הופעת SunSpider, דחיפה חדשה אינטנסיבית להנעת תחכום פרוגרמטי יותר לדפי אינטרנט דינמיים הביאה לקפיצות דרמטיות חדשות בטכנולוגיית JavaScript, תחילה תחת המונח "Ajax" (הנוגע לדפי אינטרנט שיכולים לעדכן את עצמם בדפדפן ללא צורך בציור מחדש על ידי השרת) וקשור יותר ויותר להבטחה של "אפליקציות אינטרנט עשירות" הקשורות ל-HTML5 (ראה גם:"מדוע אפל מהמרת על HTML 5: היסטוריית אינטרנט").
בשנת 2008, צוות WebKit הכריז על שכתוב של JavaScriptCore המקורי כמכונה וירטואלית מבוססת שליחה ישירה, ברמה גבוהה של קוד בתים בשם "SquirrelFish". מוזילה הכריזה לאחר מכן על מנוע ה-TraceMonkey שלה עבור FireFox וגוגל רכשה את מנוע V8 כדי להאיץ את ביצועי JavaScript בכרום.
לפני שהשנה נגמרה, ולפני ש-SquirrelFish אפילו הפך אותה לגרסת משלוח של ספארי, הפרויקט היהמשופרת עוד יותרתחת השם "SquirrelFish Extreme", שהאיץ את ביצוע JavaScript באמצעות מהדר Just In Time כדי להפוך JavaScript לקוד מכונה מקורי כחלופה ליצירת קוד בתים.
בשנת 2009, אפלמיושםהשיפורים ל-Safari 4 תחת המותג "ניטרו", וציין שהיישום החדש יכול להריץ את JavaScript עד פי 4.5 מהר יותר.
בשנה הבאה, זה לאחר מכןמְשׁוּחרָרשיפורים חדשים של SquirrelFish Extreme ב-Safari 5, מגבירים את ביצועי JavaScript ב-Mac ב-30 אחוזים נוספים בהשוואה ל-Safari 4 הקודם. בשנת 2011, החברה הוסיפה את Nitro ל-Safari הנייד ב-iOS 4.3, והגבירה את ביצועי JavaScript ב-200 אחוז במכשירים הניידים של אפל.
לפני שנה, הודיעה WebKitשיפורים נוספיםל-JavaScriptCore שהפך אותו ל"מכונה וירטואלית משולשת", המשלב LLInt חדש יעיל (מתורגמן ברמה נמוכה) המשמש את JavaScriptCore כדי לנסות לבצע קוד לפני העברתו למפרשים הסטנדרטיים, או המכונה הוירטואלית של קוד הבתים או ה-JIT (רק In Time complier) שבונה קוד מכונה מקורי תוך כדי תנועה.
SunSpider החדש המחודש לוקח בחשבון את רמות המורכבות ההולכות וגדלות במנועי JavaScript מודרניים. כפי שמסבירה הודעת ה-WebKit, בשל המורכבות הזו "זה הגיוני לגרום למבדקים שלנו לבצע אימות מסוים של נכונות. בנצ'מרקים מסוגלים באופן ייחודי להדגיש את האופטימיזציה של JIT באופן שמבחני התאמה אינם יכולים. תצפית זו באה מהניסיון שלנו: כמו הוספנו אימות למדדים שלנו, הצלחנו לתפוס באגים מוקדם יותר."
בנוסף לבדיקות אימות חדשות, המדד המתוקן מבטל עיכובים בגרסה המקורית שנוספו כדי לאפשר לדפדפן להשלים כל חלק מהבדיקות לפני המעבר לגרסה הבאה. עם זאת, עיכובים אלו החלו לעוות את התוצאות מכיוון שבחומרה מהירה, העיכובים המובנים של חבילת הבדיקה אפשרו לתכונות ניהול צריכת החשמל של החומרה להיכנס, ויצרו באופן ספורדי מראה כוזב של ביצועים גרועים.
מתחרה על העתיד של HTML5
בעוד אפל וגוגל עבדו יחד במשך למעלה מחצי עשור כדי לשפר את WebKit, במיוחד במטרה להפוך אפליקציות עשירות ב-HTML5 לאפשריות הן בדפדפנים שולחניים והן במכשירים ניידים, שתי החברות מפרידות כעת את מאמציהן לאחר שגוגל החליטה לחלק את פרויקט ולקחת סולו קוד Chromium משלו (תחת פרויקט שנקרא כעת "מצמוץ").
זה מאפשר לגוגל לנקות כל קישור למנוע Nitro של אפל (שהוא לא משתמש בכרום), מה שמחייב טיהור דומה של קוד Chromium מפרויקט WebKit הראשי. זה עשוי להשפיע על צדדים שלישיים כמו סמסונג, שמשתמשת במנוע האינטרנט WebKit של אפל אך משלבת אותו עם מנוע V8 JavaScript של Chromium, כעת חלק מ-Chromium.
באופן קצת אירוני, הפיצול של גוגל של פלטפורמת WebKit של אפל (כמשתמש העצמאי הגדול ביותר של הפלטפורמה) דומה למה שרבים מצפים שסמסונג תעשה לפרויקט האנדרואיד של גוגל, ובסופו של דבר משאיר את גוגל לשמור על הפלטפורמה שלה בעוד שסמסונג פועלת עם עותק משלה, בעקבות צעדיה של אמזון ומגוון מזלגות סיניים.
במקביל, גוגל גם השקיעה בפרויקט להחלפת JavaScript בשפת תכנות אינטרנט חדשה משלה בשםחֵץ, מהלך שהתנגד לו אפל, מוזילה ומיקרוסופט.
בסוף 2011, אוליבר האנט של אפלהזהירש"הוספת תמיכה ישירה וחשופה לשפה לא סטנדרטית [כמו Dart] עוינת את הרשת הפתוחה על ידי דילוג על כל צורה של התפתחות שפה מונעת 'קונצנזוס' שעלולה לקרות, והטלת כל שפה שנרצה ברשת במקום זאת. מעמיד באופן מרומז כל דפדפן שתומך בהרחבות קנייניות נוספות באותו מיקום כמו דפדפן התומך במשהו כמו [הקנייני של מיקרוסופט] vbscript, ויש לו אותה השפעה: שבירת האינטרנט הפתוחה על ידי יצירת תוכן שעובד ביעילות רק במוצר בודד."
לצד הפלירטוט שלה עם דאש ב-2011, גוגל גם דגלה ב-Adobe Flash (חיווט אותו בדפדפן הכרום שלה) ופעלה לדרדר את תקן הווידאו H.264 לטובת תקן הווידאו שלו.WebMcodec וידאו, שני מאמצים נוספים שחוסלו על ידי המציאות של מכשירים ניידים שנשלטים על ידי iOS. מאז גוגל הצהירה שהיא לא מתכננת לדחוף את האימוץ של Dart בתוך מזלג Chromium "מצמץ" משלה.
אפל צפויה להציג גרסאות חדשות של Safari המשלבות את ההתקדמות העדכנית ביותר ב-WebKit עבור iOS 7 ו-OS X 10.9 בוועידת המפתחים העולמית שתתקיים בחודש הבא.