روبی آن ریلز

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
روبی آن ریلز
Ruby on Rails.svg
نویسنده(های) اصلی دیوید هاینمیر هانسن
توسعه‌دهنده(ها) تیم هسته ریلز
انتشار ابتدایی ژوئیه ۲۰۰۴ (۲۰۰۴-07)
انتشار پایدار ۳.۲.۶ / ۱۲ ژوئن ۲۰۱۲؛ ۸۶۲ روز پیش
وضعیت توسعه فعال
نوشته‌شده به روبی
سیستم‌عامل چندسکویی
گونه چهارچوب نرم‌افزاری تحت وب
پروانه اجازه‌نامه ام‌آی‌تی
وب‌گاه rubyonrails.org

روبی آن ریلز که گاهی اوقات به آن ریلز یا RoR نیز می‌گویند، یک چارچوب نرم‌افزاری تحت وب، آزاد و متن‌باز است که از زبان برنامه‌نویسی روبی استفاده می‌کند. هدف ریلز، ایجاد یک چارچوب نرم‌افزاری تحت وب، که از روش توسعه سریع برای برنامه‌نویسان وب استفاده می‌کند، است.

پیشینه[ویرایش]

تاریخچهٔ نسخه‌ها
نسخه تاریخ انتشار
۱.۰[۱] 02005-12-13 ۱۳ دسامبر ۲۰۰۵
۱.۲[۲] 02007-01-19 ۱۹ ژانویه ۲۰۰۷
۲.۰[۳] 02007-12-07 ۷ دسامبر ۲۰۰۷
۲.۱[۴] 02008-06-01 ۱ ژوئن ۲۰۰۸
۲.۲[۵] 02008-11-21 ۲۱ نوامبر ۲۰۰۸
۲.۳[۶] 02009-03-16 ۱۶ مارس ۲۰۰۹
۳.۰[۷] 02010-08-29 ۲۹ اوت ۲۰۱۰
۳.۱[۸] 02011-08-31 ۳۱ اوت ۲۰۱۱
۳.۲[۹] 02012-01-20 ۲۰ ژانویه ۲۰۱۲

روبی آن ریلز برگرفته از پروژهٔ بیس‌کمپ توسط دیوید هاینمیر هانسن بود که ابتدا یک ابزار مدیریت پروژه توسط شرکت 37signals (که حالا تبدیل به یک شرکت تولید نرم‌افزارهای وب شده است) بود. در ژوئیه سال ۲۰۰۴، هاینمیر هانسن ریلز را به عنوان یک نرم‌افزار آزاد و متن‌باز منتشر کرد اما تا فوریه سال ۲۰۰۵ حقوق انتشار[۱۰] آن را به اشتراک نگذاشت. در سال ۲۰۰۶، این چارچوب به مرحله‌ای رسید که شرکت اپل اعلام کرد که در سال ۲۰۰۷ روبی آن ریلز به عنوان یک چارچوب پیش‌فرض در سیستم‌عامل مک اواس نسخهٔ ۱۰.۵ قرار خواهد گرفت.

مرور کلی فنی[ویرایش]

مانند دیگر چارچوب‌های وب، ریلز هم از معماری مدل-نما-کنترل‌گر[۱۱] برای سازمان‌دهی برنامه‌نویسی نرم‌افزار، استفاده می‌کند.

روبی آن ریلز شامل ابزاری است که کارهای تکراری و مشترک توسعهٔ نرم‌افزار را بسیار ساده می‌کند، ابزاری مانند داربست، تعدادی از مدل‌ها و نماها را به صورت خودکار که برای هر وب‌سایت نیاز است را می‌سازد. همچنین شامل یک وب سرور ساده (WEBRick) و یک ابزار ساخت سیستم (Rake) است. ریلز و این ابزار، با یکدیگر یک محیط توسعهٔ پایه‌ای را فراهم می‌کنند.

برنامه‌های روبی آن ریلز برای اجرا شدن نیاز به یک وب سرور دارند. در هنگام نوشتن این مطلب Mongrel، بر WEBRick ترجیح داده می‌شود اما شما می‌توانید از وب سرورهای دیگری مانند لایتی, Abyss, آپاچی و خیلی دیگر از وب سرورها استفاده کنید. از سال ۲۰۰۸ به بعد، وب سرور پسنجر (به انگلیسی: Passenger) از لحاظ استفاده شدن جای وب سرور Mongrel را گرفت. به تازگی، وب سرور Unicorn محبوبیت خوبی برای انتشار (به انگلیسی: Deployment) پیدا کرده است.

یکی از ویژگی‌های باارزش ریلز استفاده از کتابخانه‌های بزرگ جاوااسکریپت Prototype و script.aculo.us برای آژاکس است. در ابتدا ریلز از پروتکل دسترسی آسان به اشیاء برای دسترسی به خدمات وب استفاده می‌کرد، اما بعد آن جایگزین خدمات وب RESTful شد.

از نسخه ۲.۰، روبی آن ریلز به صورت پیش‌فرض خروجی‌های HTML و XML را ارائه می‌دهد. دومی، ابزاری برای خدمات وب RESTful است.

ساختار چهارچوب[ویرایش]

روبی آن ریلز در چندین بسته ارائه می‌شود، اکتیو رکورد[۱۲] معروف ( یک ORM برای دسترسی به پایگاه داده)، اکتیو ریسورس[۱۳] (سرویس‌های وب را مهیا می‌کند)، اکشن پَک [۱۴]، اکتیو ساپورت[۱۵] و اکشن میلر[۱۶] بسته‌های استاندارد در ریلز هستند. قبل از نسخهٔ ۲، ریلز دارای بستهٔ دیگری به نام اکشن وب سرویس [۱۷] بود که در حال حاضر با اکتیو ریسورس جایگزین شده است. جدا از بسته‌های استاندارد ریلز، توسعه‌دهندگان می‌توانند پلاگین‌هایی برای گسترش بسته‌های ریلز بنویسند.

قرارگیری در سرور[ویرایش]

روبی آن ریلز را اغلب با مدیر بستهٔ RubyGems، که با زبان روبی ارائه می‌شود، می‌توان نصب کرد. در اکثر توزیع‌های گنو/لینوکس ریلز را به راحتی می‌توان نصب کرد، همچنین به وسیلهٔ سیستم مدیریت بسته هر توزیع، می‌توان وابستگی‌های (به انگلیسی: Dependencies) آن را نصب کرد.

فلسفه و طراحی[ویرایش]

روبی آن ریلز بر مفهوم قرارداد به‌جای تنظیمات[۱۸] و اصل توسعه سریع خودت را تکرار نکن[۱۹] تاکید بسیاری دارد.

"قرارداد به‌جای تنظیمات" یعنی توسعه‌دهندگان فقط نیاز دارند که قسمت‌های نامتعارف[۲۰] برنامهٔ خود را مشخص کنند. به عنوان مثال اگر کلاسی به نام Sale در مدل داشتیم، جدول متناظر آن در پایگاه‌داده‌ها به صورت پیش‌فرض sales نام دارد. اما شما می‌توانید از قراردادها استفاده نکنید، به عنوان مثال می‌توانید جدولی به نام "products sold" داشته باشید، اما توسعه‌دهندگان مجبورند که کدهای برنامهٔ خود را برای این جدول بنویسند. در حالت کلی قراردادها برای کمتر کد نوشتن و مدیریت برنامه است.

"خودت را تکرار نکن" یعنی تمام اطلاعات شما در یک‌جای مشخص قرار دارند. به عنوان مثال، با استفاده از ماژول اکتیو رکورد در ریلز، برنامه‌نویس دیگر نیازی به تعریف کردن نام‌های ستون‌های پایگاه‌داده در تعریف کلاس را ندارد. اما روبی آن ریلز می‌تواند با استفاده از نام کلاس، اطلاعات را از پایگاه‌داده استخراج کند.

علامت‌های تجاری[ویرایش]

Reception[ویرایش]

توسعه‌های اخیر[ویرایش]

ریلز نسخهٔ ۲.۳ در ۱۵ مارس، ۲۰۰۹ ارائه شد. تغییرات اساسی این نسخه شامل الگوها[۲۱]، موتور، Rack و فرم‌های مدل تودرتو بود.

در دسامبر، ۲۰۰۸ Merb یک چارچوب نرم‌افزاری تحت وب دیگر و ریلز اعلام کردند که با یکدیگر کار خواهند کرد. تیم ریلز اعلام کرد، ما با پروژهٔ Merb برای ایده گرفتن از این چارچوب در ریلز ۳ و همچنین برای پاپان دادن به تکرارهای بیخود در این دو گروه، کار خواهیم کرد.

منابع[ویرایش]

  1. "Rails 1.0: Party like it's one oh oh!". Riding Rails. Retrieved June 9, 2010.
  2. "Rails 1.2: REST admiration, HTTP lovefest, and UTF-8 celebrations". Riding Rails. Retrieved June 9, 2010.
  3. "Rails 2.0: It's done!". Riding Rails. Retrieved June 9, 2010.
  4. Rails 2.1: Time zones, dirty, caching, gem dependencies, caching, etc. Riding Rails. Retrieved June 9, 2010.
  5. "Rails 2.2: i18n, HTTP validators, thread safety, JRuby/1.9 compatibility, docs". Riding Rails. Retrieved June 9, 2010.
  6. "Rails 2.3: Templates, Engines, Rack, Metal, much more!". Riding Rails. Retrieved June 9, 2010.
  7. "Rails 3.0: It's ready!". Riding Rails. Retrieved August 30, 2010.
  8. [۱]www.github.com
  9. [۲]www.github.com
  10. Commit Rights
  11. MVC
  12. ActiveRecord
  13. ActiveResource
  14. ActionPack
  15. ActiveSupport
  16. ActionMailer
  17. Action Web Service
  18. Convention over Configuration
  19. Don't Repeat Yourself
  20. unconventional
  21. Templates
  • مشارکت‌کنندگان ویکی‌پدیا، «‎Ruby on Rails‎»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۲۶ مارس، ۲۰۱۰).

کتاب‌شناسی[ویرایش]

پیوند به بیرون[ویرایش]