קטגוריה: khtml

node.js כן או לא ?

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

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

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

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

אמנם node.js לא משתמש ב webkit או ב blink, אבל הוא יוצר לי בעיות קשות:

  1. האם v8 ישאר גם מחר ?
  2. האם יהיה fork ?
  3. האם הוא ימשיך להיתמך ?
  4. האם הכיון שלו כיום ישאר, או אולי ישוכתב/ישתנה לגמרי בגרסאות חדשות יותר ?

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

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

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

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

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

אל תתנו להם לחוקק חוקים – חוק הנגשת אתרים

"The more corrupt the state, the more numerous the laws." — Tacitus

הקדמה

בסוף שנות ה90 ותחילת אמצע שנות ה2000, דפדפן אחד של מערכת הפעלה אחת שלט בעולם.
הדפדפן הזה קיבל את השם Internet Explorer, אשר כמו מגלה ארצות ה"מכבד" את עצמו, הכריח את כולם לעבוד לפי הלך החשיבה של החברה שיצרה אותו, במקום לעמוד בתקנים ולהכיר בתרבויות השונות שאליהם הוא נקלע.
אנחנו זעקנו בהרבה מאוד קולות שצריך לכתוב אתרים לפי תקן, ולא לפי דפדפן.
בישראל, מרבית העסקים, שלא לדבר על הממשלה, התעלמו לגמרי מהפניות שלנו. אפילו מאמרים שונים בעיתונות לטובת הדרישה שלנו, זכו להתעלמות.

רק כאשר מספר מקומות הבינו כי למרות שדפדפנים כדוגמת Firefox מהווים פחות מ5% מהתעבורה, אבל מהווים 90% מכוח הקנייה, שראינו שינוי מגמה.
פתאום אתרים התחילו להיות מונגשים לFirefox תחילה, היות והוא זה שהכניס כסף. אבל בשביל להיות תואם Firefox, כל מה שצריך זה לפתח לפי תקנים (תודה מוזילה), ולכן למעט באגים של הדפדפן, אם אתה כותב לפי התקן, תיאורטית זה אמור לעבוד עבור כולם.
בנתיים גם השימוש ב data עבור הסלולר גדל, ודפדפן Opera Mini תפס, וגם החברה הזו בחרה לעבוד עם תקנים, וראו איזה פלא, לא צריך לשכתב דברים (למעט התאמה לסוג תצוגה).

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

כיום למעט 2 דפדפנים עיקריים, מרבית הדפדפנים מבוססים על אותו בסיס (אשר משתנה לאט לאט שוב), בשם Webkit, אשר התחיל בכלל את דרכו כ KHTML עבור פרוייקט KDE כדפדפן בשם Konqueror.

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

העיקר להמשיך לקרוא

זמן הפיתוח של אתרי אינטרנט

כשהייתי בגיל העשרה אדם אשר ידע לתכנת (לבנות תוכנות) בגילי, נחשב ל"גאון מחשבים". כיום כל ילד אשר יודע לעשות copy paste מול תוכנה ששומרת לך את התוצאה בתור HTML מוגדר כעילוי (לפחות ע"י אנשים אשר לא מבינים).

אז חשבתם פעם מה נדרש בשביל לבנות אתר אינטרנט ?

ובכן, אתר אינטרנט המכיל דף סטטי, מאוד פשוט לבנייה כאשר משתמשים בHTML3.2, אבל כאשר משתמשים ב CSS וxhtml הדברים מתחילים להראות טיפה יותר מסובכים.

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

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

הרבה יותר זול ומהיר לפתח אתר אינטרנט שירוץ על הדפדפנים Firefox, Opera, Konqueror/Safai מאשר אתר שיתאים את עצמו לכל גרסאות ה IE.

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