Google Chrome - הדפדפן של גוגל
גוגל פירסמו היום קומיקס (38 עמודים) שמתאר את היכולות של הדפדפן שלהם Google Chrome שנמצא בפיתוח וישוחרר בקוד פתוח.
קראתי את הקומיקס, בערך כחצי שעה (בגלל העומס שהיה על השרת שלהם) וסיכמתי. אז בכללי הם מציגים את הנקודות הבאות בתור הפיצ’רים של הדפדפן.
טאבים מבוססים על Proccessים על פני Threadים
לטענת גוגל הבעיות של דפדפנים כיום זה שכאשר פותחים טאב ואז סוגרים אותו, לא כל הזיכרון שלו משתחרר ונשאר לפעמים קצת זבל, ולכן אי אפשר להכניס זיכרון של טאב אחר באותו מקום והדפדפן מגדיל את כמות הזיכרון שהוא צורך.ב-Google Chrome, הדפדפן בעצם יפתח פרוסס עבור כל טאב, וברגע שסוגרים את הטאב כל הזיכרון שלו משתחרר.
בנוסף, יש יתרון נוסף ליצירת פרוסס על פני thread, כך אם יש גורם מסויים שגורם לצריכת הזיכרון (כמו פעולת IO כבדה) הוא לא יאט את הדפדפן כולו אלא רק את הטאב, ואם הטאב חס וחלילה קורס, לא כל הדפדפן קורס - רק הטאב.
ניתן לנהל את הטאבים ולסגור אותם ידנית באמצעות ה-Task Manager המובנה שלהם שנותן מבט קליל על הזיכרון, שימוש בתקשורת וצריכת ה-CPU, ומידע למפתחים עבור פרטים יותר ספציפיים כמו צריכת הזיכרון של פלאגינים וכו’ ניתן לקבל ע”י לחיצה על לחצן שיציג את הנתונים.
John Resig, ממפתחי מנוע ה-JavaScript של מוזילה ומפתח ספריית jQuery, מגיב על הבעייתיות של Process per tab. לטענתו זה יגרום לצריכת זיכרון גבוהה יותר בגלל חוסר היכולת לשתף משאבים ותהליכים בין שני פרוססים נפרדים. אך גם משבח על העברת האחריות מהדפדפן ל-Web Developer, אם האתר יצרוך הרבה זיכרון זה יהיה באשמת האתר ולא באשמת הדפדפן,מה שיגרום לאופטימיזציה של האתרים:
This is important. Since there’s no sharing going on between the tabs of the browser it’s not possible to easily reduce the amount of duplicate resources. For example, within the Mozilla Gecko engine there’s a lot of code reuse occurring, which allows for significantly reduced memory consumption (and optimized memory collection and defragmentation).
But here’s the rub.
The blame of bad performance or memory consumption no longer lies with the browser but with the site.
By implementing this feature a browser is completely deflecting all memory or performance criticism off to individual site owners (”Yikes, my browser is using 300MB of memory! Actually it’s just youtube.com consuming 290MB of it, they should fix their web site!”). This is going to be a monumental shift in the responsibilities of web developers - and one that will serve the web better, as a whole.
Process per Tab נותן עוד אופציה מינורית לדעתי, שאי שמירת הסטייט של טאב בהעברתו מחלון לחלון - אני אישית עובד עם חלון דפדפן אחד ופותח וסוגר מלא טאבים ביום.שני חלונות בדפדפן החדש שלהם מלבד הנושא של “הרבה טאבים” לעומת “מעט טאבים” בחלון לא נותן שום ערך מוסף מבחינה של זיכרון, כי כל טאב הוא ממילא פרוסס משלו.
כל טאב (=פרוסס) רץ בתוך Sandbox שמשמש בתור כלא, שום דבר לא יכול לצאת או להיכנס מהטאב אלא אם היוזר מאפשר זאת בהרשאות (שבברירת המחדל לא מאפשרות).
מנוע JavaScript חדש מבוסס Virtual Machine, שם הפרוייקט הוא V8
המנוע עצמו נמצא כבר בשימוש במערכת ההפעלה Android שנמצאת בפיתוח, אין פה חידוש לעומת דפדפני הקוד פתוח האחרים Firefox ו-Safari, שבשניהם עובדים כיום על מנוע כזה (TraceMonkey המנוע של FF ו-SquirrelFish המנוע של ספארי).
מנוע התצוגה יהיה מבוסס על WebKit
זה ידיעה טובה עבורנו, כי WebKit הוא המנוע של ספארי ותומך טוב בתקני האינטרנט השונים. למה WebKit? כי מסתבר שמשתמשים בו גם ב-Android והמפתחים של האנדרואיד המליצו להשתמש בו כי הקוד שלו פשוט יחסית לקוד של דפדפנים אחרים, והוא אחד הדפדפנים הפתוחים.
שינוי בחוויית המשתמש - Tabs oriented user interface
מכיוון שעיקר השימוש בדפדפן הוא פתיחת טאבים והשימוש בהן: חיפוש, הקלדת כתובת, ניווט בהיסטוריה וכו’… בגוגל נתנו לטאב את המקום המרכזי בעיצוב:
לכל טאב יש Control Bar משלו הכולל שורת קלט, אחורה, קדימה, טעינה מחדש ושני תפריטונים (Tools ו-File/Page).
שורת הקלט תשמש למתן כתובת ולחיפוש ביחד, היא תעבוד בצורה דומה ל-Awesome Bar של Firefox:
חיפוש במידע של הדפדפן: סימניות, היסטוריה וכו’, וכן האפשרות לערוך את החיפוש במנועי חיפוש. ההשלמה האוטומטית תשלים לכתובת ה-domain ולא לאחת מהכתובות הארוכות אליהם נכנסנו.
ברגע שפותחים טאב חדש, לא נפתח עמוד בית רגיל, נפתח עמוד הסימניה החדשה שנותן תצוגה מקדימה של 9 האתרים שהמשתמש נכנס אליהם הכי הרבה, ושני רשימות של הרשומות האחרונות בהיסטוריה ובמועדפים. רעיון יפה ביותר וגם נכון. ברגע שמתחילים להקלידבשורת הכתובת אם מדובר באחד האתרים שנמצא בעמוד הזה, הדפדפן ידגיש את התצוגה המקדימה שלו.
יהיה ניתן להפוך טאב למצב שלRead only, במצב כזה שום דבר לא נכתב להיסטוריה, כל הCookies הן זמניות ושום דבר לא ישמר בקאש של הדפדפן.
What Happens in this tab stays in this tab
ועוד כל מיני תכונות שקיימות בדפדפנים אחרים.
עבורנו המפתחים יש JavaScript Console ו-DOM Inspector וכן יש את ה-Task Manager שמאפשר לנו לנתח את הפרוססים של הטאבים ושל הפלאגינים שיש שימוש בהם בכל טאב ובכך נוכל למצוא מה גוזל מאיתנו הכי הרבה זיכרון.
בעקבות השעה המאוחרת (ומחר יש עבודה ולא לימודים
) לא הספקתי לשחק יותר מידי עם הדפדפן שניתן להורידו מהשעות האחרונות (יבדק על ויסטה מחר ואולי אנסה להריץ אותו עם wine על האובונטו שלי).
הדפדפן ממה ששמתי לב מתורגם לעברית ויש סרטוני הדרכה בעברית באתר העברי שלו. לפי הודעה לעיתונות שקיבלתי במייל ממשה הגר (חשוף את עצמך!
P לפני שעות אחדות מסתבר שהדפדפן והאתר הושקו ב-43 שפות שונות!
אמנם עונת הקיץ לקראת סיום אבל התחזית הולכת להיות חמה מאוד בשוק הדפדפנים בזמן הקרוב
3 בספטמבר, 2008 בשעה 7:06
אחלה מאמר, תודה רבה לך !
[תגובה זו נכתבה מדפדפן google chrome הוא ולא אחר.]