Ruby on Rails (בקיצור: Rails או RoR) הוא שלד תוכנה (framework - כלי שמקצר את העבודה בפיתוח) ליצירת אפליקציות רשת. הוא נכתב בשפת Ruby וכמיזם קוד פתוח. ריילס שמה דגש על פשטות, על אי-חזרה בקוד ועל "מוסכמות על פני הגדרות". תוצאה של זה היא שניתן לבנות אפליקציות רשת עם מעט שורות קוד יחסית.
ריילס נשענת על שני עקרונות מרכזיים: "אל תחזרו על עצמכם" (DRY - Don't Repeat Yourself) ו"מוסכויות על פני הגדרות" (CoC - Convention Over Configuration).
העיקרון אומר שכל הגדרה צריכה להופיע במקום אחד בלבד. כך מצמצמים קוד כפול ותקלות. הוא נפוץ בשפות ופלטפורמות אחרות גם כן.
ריילס מגדירה מוסכמות ברירת מחדל במקום לבקש מהמתכנת לקבוע כל דבר. למשל, מודל בשם "Post" ישמור את הנתונים בטבלה שנקראת "posts" במסד הנתונים. אם רוצים לשנות זאת, צריך להגדיר מיפוי מיוחד.
ריילס נוצרה על ידי דייוויד היינמאייר הנסון בזמן שעבד על כלי ניהול פרויקטים בשם Basecamp. הגרסה הראשונה הוצגה ביולי 2004 בכנס RubyConf. גרסה 1.0 שוחררה ב-13 בדצמבר 2005.
ריילס כוללת שכבת מיפוי אובייקטים למסד נתונים (ORM - Object Relational Mapping). משמעות הדבר היא שמודלים בתוכנה (אובייקטים) מייצגים טבלאות במסד הנתונים. למשל, מודל User מקושר לטבלת users; שינוי בערך האובייקט יישמר עם קריאה ל-save. המודול ActiveRecord מנהל את המיפוי הזה, ותומך במסדי נתונים פופולריים. ריילס גם מספקת כלים לעדכון מבני מסד הנתונים (migrations) בצורה חלקה.
ריילס מבוססת על MVC (Model-View-Controller). MVC הוא סידור שבו המודל מחזיק את הנתונים, התצוגה מציגה אותם, והבקר מנהל את הבקשות והלוגיקה של האפליקציה.
ביישום ריילס, מודל הוא אובייקט המקביל לטבלה במסד הנתונים. מחלקות מודל יורשות מ-ActiveRecord, ולכן מקבלות אוטומטית מיפוי לטבלה, פונקציות גישה ושיטות חיפוש. ניתן להגדיר יחסים בין מודלים כמו has_many ו-belongs_to, וכן מאמתים (validators) שבודקים תקינות נתונים בזמן ריצה.
התצוגה אחראית על הצגת הנתונים שנקבעו על ידי הבקר. בדרך כלל זו תבנית HTML שמשלבת ערכים מהמודל או הבקר. לכל שיטה בבקר יש תצוגה קצרה מתאימה, והעימוד של האתר נעשה בנפרד.
הבקר מקבל בקשות מהמשתמש, מפעיל את הלוגיקה הדרושה ומקשר את התוצאות לתצוגה. קריאות לכתובות URL מפעילות מתודות במבנה ברור: למשל URL שמכיל את שם הבקר, הפעולה וה-id משויך לפריט מסוים.
בנוסף, ריילס כוללת מערכת "פיגומים" (scaffolding) שמייצרת באופן אוטומטי דפי CRUD (יצירה, הצגה, עדכון, מחיקה) עבור טבלאות הנתונים.
ריילס מגיעה עם מודולים עזר נוספים. בין היתר יש ActionMailer לניהול דואר אלקטרוני מתוך האפליקציה, תמיכה בשירותי SOAP, וספריות JavaScript שעוזרות לעבוד עם AJAX (טעינה חלקית של דפים).
Ruby on Rails הוא כלי שעוזר לבנות אתרי אינטרנט מהר יותר. הוא נכתב בשפת Ruby. זה פרויקט קוד פתוח. הכלי מקצר עבודה ומפחית שגיאות.
שתי רעיונות חשובים: לא לחזור על אותו קוד (DRY). ולפעול לפי כללים מוכרים כברירת מחדל (מוסכמות).
דייוויד היינמאייר הנסון יצר את Rails כשעבד על Basecamp. הפרויקט הוצג לראשונה בקיץ 2004. גרסה 1.0 יצאה ב-13 בדצמבר 2005.
Rails מחברת בין אובייקטים בקוד לטבלאות במסד נתונים. מסד נתונים הוא מקום שבו שומרים מידע. המודול ActiveRecord עושה את החיבור הזה. אם תשנה שם של משתמש בקוד ותקרא ל-save, השינוי יישמר בתיקיות המידע.
Rails משתמש ב-MVC. MVC פירושו: מודל (Model) - מחזיק נתונים, תצוגה (View) - מה שהמשתמש רואה, ובקר (Controller) - מטפל בבקשות ומקשר בין השניים.
Rails יודעת ליצור דפי ניהול אוטומטית (מגדרים שנקראים scaffolding). יש לה גם כלים לשליחת מיילים (ActionMailer) ועזרה בעבודה עם JavaScript ו-AJAX.
Rails מאפשרת לבנות אפליקציות אינטרנט עם פחות קוד. זה חוסך זמן ועוזר למפתחים לעבוד בצורה מסודרת.
תגובות גולשים