שיפור ביצועים על פי סטיב סונדרס

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 18-11-2009

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

משך טעינת עמוד

משך טעינת עמוד

הממצא המשמעותי בעבודתו של סונדרס הוא שהזמן שהעמוד נבנה בצד השרת (כולל הבקשה והחזרה של ה HTML) הוא כ 10% עד 20%. שיפורי ביצועים בשרת הנם הכרחיים לשיפור יחס כמות משתמשים לחומרה, וצריכת חשמל, אך משנים במעט את זמני התגובה של אתר ממוצע. רוב זמן הטעינה עובר על טעינה וניתוח של סקריפטים (CSS \ JS) וטעינה של תמונות ומשאבים אחרים מהרשת.

גישה לזיכרון המטמון

גישה לזיכרון המטמון

50% מהמשתמשים מגיעים לאתר ללא זיכרון מטמון וכ 20% מכלל הצפיות נעשה עם מנגנון ריק (המחקר נעשה על אתרי YAHOO) , חווית הטעינה הראשונית הנה הרבה יותר נפוצה מהמקובל לחשוב, וצריך לתכנן את האתר בהתאם.

ניתן ללמוד על מחקרים אלו ועוד בהרצאתו.

טכניקות לשיפור ביצועי אתר

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 18-11-2009

להלן נקודות למחשבה כשמפתחים שירותים בעומס גבוה:

תוכן סטאטי מוגש בצורה מהירה יותר (ובפחות עומס) מתוכן דינמי.

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

יש יותר לקוחות משרתים והם בדרך כלל במצב סרק (idel).

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

כמות וגודל המשאבים משפיעה על זמן הטעינה.

עדיף לצמצם בכמות הקריאות לשרת ולהשתמש במנגנונים לצמצום כמות המידע שעובר ברשת, אם על ידי מנגנוני דחיסה ואם על ידי מנגנוני איחוד. דחיסת תוכן נעשית על ידי הפעלת מנגנוני דחיסה ברמת שרת ה WEB כגון GZIP (אשר נתמך על ידי פרוטוקול HTTP) ואם על ידי מנגנוני תוכנה שמבצעים אופטימיזציות על קוד קיים כגון jsmin או YUI Compressor או טכניקות פיתוח (שכיום דורשות יותר עבודה) כגון CSS Sprites

CAP and WEB 2.0

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 17-11-2009

twitter loadההנחה כי ניתן להבטיח שניים מתוך שלושת העקרונות עקביות, זמינות וסובלנות חלוקה היא אמתית וניתן לראות עדות לכך באתרים המצליחים ביותר.
ניתן להסיק כי CAP הנו מפתח למדרגיות (scalability) נוחה,משום שתהליך הגדילה נשאר זהה בכל קנה מידה. כמובן אין זה פתרון לכל בעיות השירות אך מעביר אותם לתחזוקה, תפעול, ניטור, עדכוני תוכנה וכדומה.
את ארכיטקטורת הגדילה ניתן לבנות בכל טכנולוגיה, אך ישנן כאלה שמשרתות את המטרה בצורה טובה יותר מאחרות. לדוגמה ניתן לראות את השינויים שטוויטר היו צריכים לעבור. השירות המקורי פותח ב Ruby on Rails , טכנולוגיה מאוד אפנתית שנחשבת  גמישה ואפקטיבית מאוד בבניית יישומי רשת. משתמשי טוויטר הוותיקים זוכרים את ההשבתות החוזרות והנשנות של השירות, עקב חוסר היכולת של השירות להתמודד עם עומסים. לאחר ניסיונות רבים של טוויטר לפתור את הבעיה בטכנולוגיה הקיימת הוחלט להמיר חלקים מהקוד של המוצר לסקאלה, טכנולוגיה שמאפשרת עיבוד מקבילי ומדרגיות בקלות, אפשרה לצוות טוויטר לשפר ביצועים במאות אחוזים ולאפשר את זמינות המערכת. בכתבה שפורסמה ברג'יסטר צוות טוויטר מספר על החוויות שעבר "היא גדלה איתנו (ruby on rails) במשך מספר חודשים, ולאחר מכן, בשלב מסוים, פשוט נתקעה במחסום" אמר פיין "והמחסום לא היה הקוד אלא סביבת ההרצה. ישנם הרבה דברים שרובי מעולה בהם אך תהליכי עיבוד ארוכים ? משימות הדורשות זיכרון רב ? לא כל כך" .

התמודדות עם CAP

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 11-11-2009

יש כמה אפשרויות להתמודדות עם בעיות שמוצגות על ידי CAP.  הפשוטות הן:

ויתור על סבילות חלוקה
אם אתה רוצה לרוץ בלי מחיצות אתה צריך לעצור אותן מלקרות. דרך אחת לעשות זאת היא לשים הכל (כל מה שקשור ליחידה אחת או טרנזאקציה) במחשב אחד, או ביחידה אטומית אחת כמו מתלה (rack). זה לא  100% בטוח כי עדיין יכולים להופיע כשלים, אבל יש  פחות סיכוי לקבל תופעות לוואי שנובעות מחלוקה. לשיטה זו יש מגבלת גדילה משמעותיות.

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

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

קפיצת בסיס (BASE Jump)
הרעיון של להיות עקבי בסופו של דבר נתמך באמצעות מה שנקרא BASE ו(Basically Available, Soft-state, Eventually consistent) ראשי התיבות קצת מאולצים אבל עדיין שימושים.

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

CAP – אתה יכול לבחור רק שניים

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 11-11-2009

משפט CAP מתאר מערכת בעלת עם מבנה נתונים או מצב זיכרון (state) העונים על המאפיינים הבאים:

1. עקביות (Consistency) – כל לקוח של המערכת מקבל את אותם נתונים גם אם התבצעו עדכונים במקביל.
2. זמינות (Availability) – המערכת משרתת את כל בקשה של לקוחותיה.
3. סבילות חלוקה (Partition tolarance) – ניתן לפצל את מבנה הנתונים או מצב הזיכרון על פני מספר שרתים, או במילים אחרות לפצל את השירות על פני כמה צמתים ברשת.

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

להלן ההוכחה  (מקור ג'וליאן בראון)

intro[1]

התרשים מראה מערכת מחולקת אשר מכילה שני צמתים ברשת , N1 ו N2. שניהם חולקים פיסת מידע V (כמה עותקים לספר במלאי), עם הערך V0. על הצומת N1 רץ אלגוריתם שנקרא A ואנו יוצאים מנקודת הנחה שהוא צפוי, חסר באגים, ומהימן.על הצומת N2 רץ אלגוריתם דומה שנקרא B . בניסוי A כותב ערכים חדשים של V ו-B קורא ערכים של V.

CAP Scenario 1

התמונה למעלה מתארת תרחיש רגיל (המערכת עובדת כשורה) ,והפעולות הבאות יקרו:
1. Aכותב ערך חדש ל V (נקרא לו V1)
2. הודעה M עוברת מ N1 ל N2 ומעדכנת את העותק של V
3. כל קריאה של B תחזיר את הערך החדש V1

CAP Scenario 2

התמונה הזו מתארת טעות, הודעת העדכון (M) לא עברה. מכאן שבשלב 3 קריאה ל B תחזיר ערך לא עדכני.

קריאה ל A ו B יחזירו תוצאות שונות אני מקווה שכאן הבעיה כבר מובנת, נגדיל את קנה המידה לכמה מאות פעולות וזה הופך לבעיה גדולה. אם M הוא הודעה אסינכרונית אז לN1 אין דרך לדעת אם N2 קיבל את ההודעה. אפילו עם מסירה מובטחת של M , אין ל N1 דרך לדעת אם הודעה מתעכבת או שמשהו כשל בN2. הפיכת M לסינכרונית לא עוזרת כי התייחסות לסנכרון כפעולה אטומית יגרום לעקבת (latency בהעדר תרגום מתאים) וזה מפר את עקרון הזמינות. ההוכחה, באמצעות וריאציה,מראה כי אפילו במודל סינכרוני חלקי לא ניתן להבטיח אטומיות.

אז מה CAP אומר לנו ? שאם אנחנו רוצים ש A ו-B יהיו בעלי זמינות גבוהה (כלומר לעבוד עם עקבת מינימלית) ואנחנו רוצים שהצמתים N1 עד *N (כאשר * יכול להיות מאות או אפילו אלפים) יהיו בעלי סבילות חלוקה (שידעו להתמודד עם אבדון הודעות, הודעות שלא נשלחו, תקלות חומרה ותקלות תוכנה) אז לפעמים אנחנו הולכים לקבל מקרים שבהם הצמתים לא מסונכרנים וצומת אחד חושב כי V הוא V0 (עותק של ספר אחד) וצמתים אחרים יחשבו כי V הוא V1 (לא אותו עותק).

פיתוח צד שרת לשירותי רשת

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 08-11-2009

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

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

על פי הנחתי מפוסט קודם מאפיני שירות web 2.0 ישנו שינוי עיקרי מול שירותי "WEB 1.0" והוא כתיבה. בעולם ה WEB 2.0 כל משתתף בשירות יכול ליצור תכנים, פרט "קטן"המשנה את ארכיטקטורת התוכנה בגדול.

מערכות ה WEB 2.0 נאלצות להתמודד עם מבני נתונים עם קשרים מורכבים ותצוגות מידע אישיות למשתמשים. אם ב YNET כל אחד שנכנס רואה את אותו עמוד הבית אז בפייסבוק כל משתמש מקבל עמוד בית "פרטי" ודינאמי , תהליך הקטנת העומסים באמצעות מנגנוני מטמון (cache בהעדר תרגום מתאים) הופכת למסובכת מאוד.

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

שירות web 2.0 ברמה גלובלית דורש זמינות מלאה ,שירות בסדר גודל של פליקר או דלישס דורש זמינות מסביב לשעון. אך אמור גם להגיב בצורה ראויה להתקהלות ספונטנית – ע"י ארכיטקטורת גדילה גמישה.

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

כל זאת ועוד בהמשך :)

גישות לפיתוח ממשקי דפדפן 2.0 WEB

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 04-11-2009

רוב ממשקי ה WEB 2.0 מפותחים כאתרי אינטרנט בטכנולוגיות HTML CSS JavaScript  אשר הינן תקינות של W3C ומהוות סטנדרט תעשייה בפיתוח אפליקציות ושירותים מבוססי דפדפן. ישנם גם ממשקים שמפותחים בטכנולוגיות אחרות, לרוב משום שהטכנולוגיות הסטנדרטיות אינן מספקות פתרון לצרכי האפליקציה.

html5HTML וטכנולוגיות W3C

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

סט טכנולוגיות W3C

לפתח בסטנדרט לדפדפנים דורש ידע ב 3 טכנולוגיות לקוח עיקריות

  • HTML שפת תאגים המיועדת לעימוד אלמנטים בתוך הדפדפן (טקסט , גרפיקה וכו') היא שפה הצהרתית ואין בה מושגים כמו זמן, לולאות ומצב זיכרון משותף.
  • JavaScript שפה פרוצדורלית המשומשת לבניית מנועי התצוגה ותקשורת.
  • CSS שפה הצהרתית שמשמשת לעיצוב וסגנון התוכן.

עמוד HTML בן ימנו בדרך כלל מורכב מסך הטכנולוגיות האלה .

סטנדרטי W3C נתמכים על ידי חברות מובילות בתעשייה . היתרון בטכנולוגיות אלו שהן סטנדרטיות ונפוצות החסרונות – קצב השינויים והתפתחות הטכנולוגיה מאוד אטיים וחוסר בממשקי תוכנה (API) עדכניים.בשנים האחרונות גוגל תומכת ומקדמת מאוד את הסטנדרטים של W3C בניסיון להוציא את תקן HTML5 ניתן לשער כי מהלך זה נובע עקב בנית תשתיות התצוגה בצורה כמעט בלעדית על גבי סט טכנולוגיות זה והשקת הדפדפן כרום.

flash_cs3_logoAdobe Flash/Flex

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

microsoft_silverlight

Microsoft Silverlight

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

javafx_logo_color_1Oracle Java FX

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

עדכון בתגובה ל @ArialBH "סילברליט לא בשל ?"

לצערי קשה לי להציע את הפלטפורמה ללקוחות בעיקר בגלל הסיבה שהיא לרוב מצריכה התקנה של הפלאג, לעומת פלאש שמותקן ב 90% מהמקרים. הפיצ'ר סט שלהם הוא די דומה, לדוגמה אם לקוח היה צריך להשתמש במאפין ספציפי שלא קיים בפלאש (כמו פיתוח קודקים לוידאו) הייתי ממליץ על הטכנולוגיה אבל ברוב המקרים פלאש נותן יותר וגם יש מאחוריו קהילת מפתחים גדולה מאוד.

בעצם מה שאני מנסה להגיד זה שהבשלות היא גם אימוץ הטכנולוגיה ע"י מפתחים וגולשים.

מעבר לכך (זהירות קיטור) אולי אני לא קולט את הכלים (בלנד, vs) אבל שאני מנסה ליצור ממשקים הם לא יוצאים חלקים (smooth בהעדר תרגום מתאים) כמו בטכנולוגיות אחרות. אולי זה המנוע תצוגה ? אולי לא …  בכל מקרה אני מאמין שבקרוב יגיע היום שאוכל למכור ללקוחות פתרונות על סילברלייט.

טכנולוגיות 2.0

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 02-11-2009

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

חלופות לתשתיות השירות גישת ריכוז התשתיות (שמשאיר את האחריות על התשתיות בידי ספק השירות) היא השיטה המקובלת כיום. אך ישנם זרמים אחרים שמציגים אפשרויות אחרות כגון שירותי ענן שמעבירים את האחריות התשתיות לספק יעודי,  מש-אפים שמתרכזים בפיתוח צד לקוח ושמשתמשים בשירותים חיצונים לצד שרת , מיקרו תשתית כגון Opera Unite שנכנסו לפני מספר חודשים אבל עדין לא נקלטו בזרם המרכזי , ושרותים מבוזרים בצורת P2P בגדר רעיון רחוק.
מכיון שאין תלות בסביבת הרצה בצד השרת טכנולוגיות אלו מגוונות ורבות ,בצד הלקוח הברירות פוחתות וברוב המקרים טכנולוגיות צד לקוח משלבות HTML ו JAVASCRIPT  עם שימוש ב AJAX להעברת מידע  ,  או שימוש בטכנולוגיות קנייניות כגון בפלאש (ובעתיד גם סילברלייט ו ג'אווה אפאקס)  . המידע מגיע בפורמט JSON או XML.

איך זה עובד בפועל?

משתמש גולש לשירות.באותה בטעינה ראשונית  יטענו הגרפיקה ומנוע התצוגה (בעצם המשתמש מוריד ומריץ תוכנה שרצה ע"ג הדפדפן) לאחר שהתוכנה נטענת מנוע התצוגה ניגש לשרתי האתר וטוען  מידע בצורה אסינכרונית. עם טעינת המידע המנוע (שרץ על גבי הדפדפן) משתמש ביכולות כתיבת ה DOM על מנת להוסיף תוכן (ולעיתים גם חלקי אפליקציה חדשים) בצורה דינמית ללא רענון העמוד וטעינה מחדש של האפליקציה.

מאפיני שירות WEB 2.0

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 02-11-2009

מוצרי WEB 2.0 כוללים בדרך כלל את המאפינים הבאים :

  • חיפוש – מציאת המידע באמצעות חיפוש מילות המפתח.
  • קישורים – קישור למדריכים ומידע אחר.
  • יצירה – היכולת של כל משתתפי השירות לכתוב ולעדכן תוכן בצורה שיתופית להבדיל מהצורה המסורתית של מתן אפשרות ניהול רק לקומץ מנהלי השירות. לדוגמה בויקי, משתמשים רשאי לערוך למחוק ולכתוב מחדש ערכים. בבלוגים, הודעות ותגובות של אנשים נבנות לאורך זמן , ובאתרים חברתיים התוכן הוא זרם מידע שנבה מפעילות החברים בשירות.
  • תגיות קיטלוג של תוכן על ידי המשתמשים על ידי הוספת מילות מפתח המתארות את התוכן ללא תלות מראש בקטגוריות מובנות .
  • הרחבות הפיכת השירות לפלטפורמה תכנותית מעבר למערכת הצגת תוכן .
  • הפצת מידע מעבר לגבולות האתר ע"י שימוש בטכנולוגית הפצה כמו RSS , TWITTER וכו' כדי להודיע למשתמשים של שינויי תוכן.

The Web As Platform

מבוא WEB 2.0

בנושא (דעה, מאמרים) ע"י דניאל בתאריך 01-11-2009

WEB 2.0

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

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

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

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

מאפיינים

אתרי Web 2.0 מאפשרים למשתמשים לעשות יותר מאשר רק לקרוא מידע. הם בונים על מתקני אינטראקטיבית לספק את "הרשת כפלטפורמה", המאפשרים למשתמשים להפעיל יישומים באמצעות הדפדפן בלבד. המשתמשים הינם הבעלים של הנתונים באתר והם בעלי השליטה עליהם.  באתרים אלה יש "ארכיטקטורה של השתתפות", אשר מעודדת את המשתמשים להוסיף ערך ליישום ככול שהם משתמשים בו. דרך זו עומד בסתירה לדרכם של אתרים מסורתים, שבהם בעל האתר מנהל את התכנים והמשתמשים באתר צופים בלבד.

אתרי 2.0 בדרך כלל  מיושמים באמצעות ממשק משתמש ידידותי ועשיר (בפונקציונאליות) המבוסס על AJAX  וספריות הרחבה לטכנולוגית הדפדפן,או בטכנולוגיות פלאג-אין (שהן ספריות החיות בדפדפן גם כן אך מצריכות התקנה נוספת מצד הגולש) כגון FLASH, ובקרוב Silverlight ו JavaFX.

כאן אני כבר נכנס לטכנולוגיות ואת זה אני אשמור לפוסט הבא.