کد: TAC-FA-41 تاریخ انتشار: 1396/5/22
Ruby on Rails چیست؟

Roby on Rails حدود سه سال پیش از پروژه‌ای با نام Basecamp که برای مدیریت پروژه‌های طراحی وب بود، حیات گرفت. RoR در واقع framework رایگان برای اپلیکیشن های تحت وب است که با هدف بهبود سرعت و سهولت کدها ایجاد شد. زبان اصلی این فریم‌ورک، Ruby است که حدود هفده سال قبل در کشور ژاپن تولید شده بود ولی تا قبل از Rails توان زیادی نداشت.

Ruby on Rails چیست؟

Roby on Rails بر دو اصل مهم پایدار است:

  1. DRY به این معنا که اطلاعات، در یک مکان معین قرار دارد و دیگر نیازی نیست که مثلاً برنامه‌نویس، شماره سطر اطلاعات را مشخص کند و به جای آن Ruby می‌تواند این اطلاعات را از پایگاه داده خارج کند.
  2. CoC به این معنا است که یک فریم‌ورک smart است و برنامه‌نویس تنها نیاز دارد تا وجوه نامشخص برنامه را معرفی کند.

RoR از دو بخش اصلی تشکیل شده است:

  1. زبانی کاملا شیء گرا به نام Ruby با Syntax.
  2. Rails: فریم‌ورکی open source برای Ruby جهت طراحی برنامه‌های تحت وب و برنامه‌هایی که به صورت مستقیم با دیتابیس ارتباط دارند وبه عبارتی Database-Driven هستند.

نکاتی در مورد Ruby on Rails


  • از مزایای Rails نسبت به فریم‌ورک‌های دیگر این است که با استفاده از آن می‌توان با سرعت بیشتر، شاید تا ده برابر، برنامه‌نویسی کرد. علت این سرعت بالا، استفاده از زبان Ruby و پشتیبانی از دو اصل مهم CoC و DRY می باشد.

  • در RoR، با خطوط کد کمتری، می‌توان برنامه تحت وب را ساخت و طبیعتاً از آن‌جایی که کدها کاهش یافته است, برای آن به‌راحتی قابل درک خواهد بود و خطای کمتری را در خود خواهد داشت و Debugging آسان‌تر خواهد شد.

  • در حالت کلی Roby on Rails در مقابل دیگر framework های برنامه‌نویسی تحت وب , چیز جدیدی ندارد و تنها اختلاف آن با دیگر فریم‌ورک‌ها، تعاملی است که بین Ruby و Rails در آن وجود دارد. تنها قابلیت RoR نیز این نیست که سریع‌تر از فریم‌ورک‌های دیگر است، بلکه کدهای برنامه در آن بسیار واضح‌ترند و قابلیت ترمیم پذیری بیشتری نیز دارند.

  • Rails فریم‌ورکی است که از مدل MVC پیروی می‌کند و به صورت جامع، تمامی لایه‌های این مدل را پشتیبانی می‌کند. در صورتی که فریم‌ورک‌های دیگر معمولاً تنها بخشی از این مدل را پشتیبانی می‌کنند و برنامه‌نویس را مجبور به هماهنگ کردن اجزای سیستم می‌کنند.

  • بعلاوه ، همان‌ گونه که پیش از این نیز ذکر شد RoR به صورت CoC است و بدین ترتیب دیگر نیازی نیست که برنامه‌نویس به صورت دستی، جداول دیتابیس را به اشیای برنامه، مرتبط کند چراکه برنامه این عمل را به صورت خودکار انجام خواهد داد.

  • همچنین در Rails، تهیه برنامه‌ها بر خلاف فریم‌ورک‌های دیگر فقط تک مرحله ای است، در Rails کافی است برنامه خود را تغییر داده و نتیجه آن را مستقیماً مشاهده کنید.

  • یکی دیگر از امتیازات Rails درخصوص تهیه برنامه‌های تحت وب این است که عملیات CRUD یا Delete ،Create – Retrieve – Update ‌و نمایی از دیتابیس به صورت خودکار آماده می‌شود.
  • نویسنده: محمد طریقی
منبع: پارس دیتا
آدرس منبع: https://www.parsdata.com/technical-articles/what-is-ruby-on-rails