מפגש קבוצת משתמשים Azure על Node.js

27 באוקטובר 2012

3 תגובות

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

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

ישנם המון שיקולים להחלטה באיזו תשתית פיתוח להשתמש. בסופו של דבר, מתכנת מקצועי יסתדר בכל שפה שרק תיתן לו, כי If יש בכל השפות. ואם יש כבר תשתית מוכנה, שנכתבה על ידי גוף שאתה יכול לסמוך עליו, שנותנת לך את כל מה שאתה צריך כדי לייצר את המוצר שלך, וכל מה שצוות הפיתוח צריך לעשות זה קצת לוגיקה ותוספות, אתה צריך להיות ממש אידיוט כדי ללכת ולהמציא את הגלגל מחדש. Node Js היא דוגמא לתשתית כזו, גם Python, Perl, Web Matrix, C9, Java VM, .NET ועוד הרבה שמות שלא עולים לי כרגע בראש, הם דוגמאות נוספות לתשתיות מהסוג הזה, שמה שחשוב זה שיש להן המון ספריות עזר מוכנות לשימוש, בכמעט כל דבר שאתה רוצה לעשות.

התשתית שעליה רצה Node.js הינה מנוע הריצה V8 של גוגל. המנוע הזה רץ גם על Arm ותומך בכל מערכות ההפעלה הנפוצות, כולל מק, חלונות, אנדרואיד וכל ניבי היונקס המקובלים. ה V8 מקמפל את הקוד ה Java Script – י ל Native, כך שזה לא רץ כ Byte Code אלא קצת יותר יעיל. וכמו כל דת, יש לסביבה הזו המון חסידים ופעילום וקבוצות דיון, והכי חשוב, אוסף מכובד של ספריות עזר. מי שמעוניין להתחיל לשחק עם הכלי הזה, שיתחיל באתר הרשמי של הפרויקט. בהנחה שאתה מכיר קצת Java, עקומת הלימוד מאד מהירה.

סשה הדגים בהרצאה כמעט את כל הקומבינציות האפשריות של שרת מקומי מול שרת ענן, במערכת הפעלה של מיקרוסופט ועל לינוקס, תוך שימוש במסד נתונים לוקאלי ובמסד נתונים בענן, עם SQL של מיקרוסופט, ה DB Storage של Azure וגם עם MongoDB על Ubuntu. זה המון קומבינציות, וזה היה היה הישג יפה להספיק את כולם בהרצאה אחת. וזו היתה גם הדרך הכי טובה להציג את הגמישות הרבה של Azure ויכולת העבודה שלו עם כל המערכות הללו.

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

כששאלתי את סשה איך הוא מדבג בעיות בקוד שנכתב עם Node.js (ולצורך העניין בעיות בכל קוד של Java Script) הוא נאנח והציע להשתמש ב Printf Debugging. בתור מי שיוצא לו לפעמים לפתח בעולמות אחרים, אני חייב לתת מחמאה לסביבת הפיתוח של Visual Studio. כן אני יודע שכולנו מקטרים עליה ובצדק, אבל רק כאשר אתה נתקל בצורך לפתח, ובעיקר לדבג, במערכות אחרות, אתה יכול לקבל פרופורציות ולהתחיל להעריך, עד כמה Visual studio חוסכת למפתח זמן.

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

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

3 תגובות

  1. Shlomo28 באוקטובר 2012 ב 11:14

    נחמד מאוד, אבל המשפט הבא:

    "Java Script, שכל קשר בינה לבין שפת תכנות מודרנית הוא מקרי בלבד"

    אינו נכון בכלל,

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

    הגב
  2. GadiM29 באוקטובר 2012 ב 0:16

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

    הגב
  3. משה3 בנובמבר 2012 ב 20:07

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

    הסיבה הזו היא-היא הסיבה שאני בניגוד למפתחים אחרים, מפתח הרבה על IE.

    ל-JS בדפדפן דווקא יש Debuggers לא רעים. המובנה ב-IE, וכך גם Visual Studio עושים עבודה מצויינת ונוחה שמזכירה (קצת) את היכולות של Visual Studio בשרת, ועם קצת תחכום אפילו גם את היכולת של Edit on break שחוסכת רענון כל הזמן.

    אבל JS בשרת זה כבר משהו אחר, ופה אני מסכים איתך שיש צורך בכלים טובים יותר (או, אם כל הצורך זה comet, להשתמש ב-SignalR).

    JS על Node.JS, זה כבר משהו אחר לגמרי.

    הגב