יום ראשון, 7 בדצמבר 2008

מה זה הרובי הזה?

לא מזמן נפגשנו עם סמנכ"ל בכיר בחברת IT גדולה. דיברנו על המוצר שלנו, ועל המודל. באיזהשהו שלב הוא שאל אותנו במה אנחנו מפתחים. כשאמרנו Ruby On Rails הוא שאל: "מה זה הרובי הזה?". לפני כשנה, כשאמרנו Ruby On Rails, עוד בדרך כלל היתה פליאה: "מה זה?", אבל הפעם, השאלה היתה בטון של - כבר שמעתי על הרובי הזה כמה פעמים, אבל עדיין אני לא מבין מה הקטע.

למעשה Ruby on Rails כבר די פופולרית בארצות הברית, אבל משום מה, הכל לארץ מגיע באיחור. אנחנו כבר מודעים לכך שהמיתון מגיע לארץ לאחר כחצי שנה, אבל מי היה מאמין, שאפילו בטכנולוגיה אנחנו מפגרים כל כך הרבה זמן אחרי העולם?
כבר 5 שנים Ruby on Rails (או בקיצור RoR) קיימת, ולמעלה משנתיים היא הפלטפורמה החמה ביותר לפיתוח באינטרנט, חברת Apple מזמן החליטה להפוך את RoR כחלק אינטגרלי מערכת התוכנות שהיא מספקת עם כל מחשב Mac. בשנתיים האחרונות רוב הסטראטפים החדשים בעמק הסילקון בוחרים בה, ובארץ כמעט שאף אחד לא מכיר אותה!

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

יש הרבה סיבות מדוע RoR נהפכה לכל כך פופולארית. הנה רשימה חלקית:
  1. סביבת ה-Rails נכתבה במיוחד עבוד פיתוח ווב, קרי, כל מי שעובד ב-RoR עובד לפי הסטנדרטים של פיתוח ה-Web. זהו ייתרון קריטי.

  2. Convention Over Configuration - אפשר לקנפרג כמה שרוצים, אבל אם לא עושים כמעט כלום, הקונפיגורציה המובנית מתאימה ל-99% מהאפליקציות. ברוב המקרים הדבר הנכון ביותר הוא לא לשנות כלום. בשאר הפלטפורמות, כדאי להגדיר מראש את אופן העבודה.

  3. MVC - Model View Controller - הפרדה מוחלטת בין ה-Model (קרי, המודולים שעוטפים את הנתונים), ה-View - הדפים שמייצרים את ה-html, וה-Controller, אשר מחבר בין השניים.

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

  5. ORM מובנה (Object Relational Mapping) -חוסך מאיתנו את הצורך בלתקשר עם מסד הנתונים בשפת SQL וכל שורה בטבלה הופכת להיות אובייטק. הקוד יותר פשוט וקריא, וחוסך בעיות אם רוצים לעבור ממסד נתונים אחד לאחר. לא ארחיב על כך כאן- מי שלא מכיר שיקרא פה (חשוב אם הוא עוסק בתכנות). ב-RoR ה-ORM נקרא Active Record, ב-Java משתמשים ב-Hibernate, וב-.Net הרוב לא מכירים את הקונספט (גם כי שם מעדיפים כולם לעבוד רק עם מסד נתונים של מייקרוסופט). היו כמה מפתחי דוט נט שהיו מתוסכלים שלהם אין ORM . הם פיתחו את CastleProject .

  6. plugins - בצורה זו כל אחד יכול בקלות להשתמש במודולים שכתבו אחרים. לא צריך לכתוב את הכל מאפס. אפשר להשתמש בקהילה (וגם לתרום לה כמובן)

  7. קונפיגורציית DB - כל יצירת ה-DB, מבנה הטבלאות והקשרים בינהם נכתבים ב-RoR בצורה שכל מפתח חדש או מפתח אשר מעדכן קבצים, יכול בפקודה אחת "להשוות" את המבנה עם הקשרים. הדבר נכון גם אם מוחקים טבלאות או לוקחים אפילו גרסאות לאחור!

  8. RoR מגיעה עם פלטפורמה של Unit Testing אשר מעודדת בדיקות אוטומטיות.

  9. שפת הרובי חוסכת בשורות קוד והכתיבה מאוד ברורה והגיונית. עוד אפשר לקרוא כאן.

  10. קוד פתוח -תנאי הכרחי - א. קהילה של אלפי מתכנתים כל הזמן גורמים לפלטפורמה לעבוד טוב יותר, ולמלא צרכים של מפתחים, ב. לא נצטרך להוציא עשרות עד מאות אלפי דולרים עבור רשיונות של שרתים.
חשוב לציין ש-MVC, ORM, סדר בספריות, וגם יצירת Convention כזה או אחר, הכל אפשר לעשות בכל שפה. ניתן להעזר במודולים באינטרנט, וליצור פלטפורמה נוחה יחסית לעבודה. אך זה בדיוק מה שעושים עבורנו אלפי מקצוענים ב-RoR.

3 comments:

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

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

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

    השבמחק
  3. לצערנו גם היום אם תלך לראשי חברות גדולות (ידוע ואני מסכים שצריך להסתיר את שמן) ותשאל אותם על ריילס, סביר להניח שבאמת תקבל את אותה פזילה מוזרה והתנשאות.נט אופיינית.
    את ריילס תמצא בארץ בפרילאנסרים מהשורה הראשונה והשניה ובמספר חברות מצליחות כמו timebridge, bitwine,astrailsֲ seekingalpha והיו גם את octava וcreopolis שכבר לא קיימות לדעתי.
    מבחינת מפתחים, אני חושב שכדי לקבל מושג יותר רציני על כמות המפתחים פה בארץ (בריילס כמובן) צריך לפתוח מקום (פורום) שירכז אותם, אחרת זה באמת בגדר השערה.

    השבמחק