Ruby on Rails یا ROR چیست؟
در این مقاله به مفاهیم پایهای توسعه وب میپردازیم و توضیح میدهیم که Ruby on Rails چیست و چرا Ruby on Rails یکی از فریمورکهای محبوب برای توسعه وب است. اصطلاحات فنی توضیح داده شده و با یک زبان ساده و قابلفهم تشریح میشوند. Rails گاهی با نام ROR هم شناخته میشود. ROR فریمورک متنباز برای توسعه برنامههای تحت وب است که از زبان روبی که یک زبان شیگرا مشابه پایتون است، استفاده میکند.
ruby on rails در واقع یک فریمورک وباپلیکیشن است که شامل همه موارد مورد نیاز برای ایجاد برنامه های کاربردی تحت وب مبتنی بر پایگاه داده بر اساس Model-View-Controller است.
مقاله مرتبط: فریمورکهای برتر php در سال ٢٠١٩
تفاوت اصلی Ruby On Rails با دیگر فریمورکها، سرعت توسعه و سهولت استفاده از آن برای توسعهدهندگان است. هر تغییری که روی کد برنامه اعمال میشود، بهصورت آنی نتیجه اجرای آن را میتوانید مشاهده کنید، همچنین مراحل وقتگیر که هنگام کار با سایر فریمورکها وجود دارد را در این فریمورک نخواهید داشت.
طبق گفته David Geary یک متخصص جاوا، فریمورکهای مبتنی بر روبی ۵ تا ۱۰ برابر سریعتر از فریمورکهای مبتنی بر جاوا هستند.
Rails از چندین کامپوننت از جمله خود روبی تشکیل شده است که عبارتاند از:
Active Record: یک لایه نگاشت رابطهای به شیگرا (object-relational mapping)
Action pack: کنترل کننده و view functions
Action mailer: اداره کننده ایمیل
Action Web Service ها و Prototype: ایجکس و قابلیت drag & drop را پیادهسازی میکند.
Rails در اکثر وب سرورهایی که از CGI پشتیبانی میکنند میتواند اجرا شود. این فریمورک از پایگاه دادههای MySQL، PostgreSQL، SQLite،DB2 و اورکل پشتیبانی میکند.
Rails از معماری MVC یا (Model-View-Controller) استفاده میکند. همچنین تمام لایههایی که توسط Rails ارائه میشوند در مقایسه با دیگر فریمورکها، پشتیبانی کاملی از MVC به عمل میآورد.
مقاله مرتبط: AngularJS چیست؟
فریمورک Ruby on Rails یک پروژه متنباز است که توسط David Heinemeier Hanse ساخته شده و میتوانید ورژنهای مختلف آن را از سایت rubyonrails.org دانلود کنید.
Ruby
Ruby یک زبان برنامهنویسی است که در ۲۰ سال قبل توسط Yakihire Matz Matsumoto ایجاد شد. از نظر میزان محبوبیت زبانهای برنامهنویسی، روبی جز ده زبان برتر محاسبه میشود، اگرچه از نظر محبوبیت در جایگاه دهم قرار دارد اما این محبوبیت را تا حد زیادی مدیون Rails است. زبان روبی مانند جاوا یا C یک زبان برنامهنویسی چند منظوره است، با این وجود بیشتر بهعنوان یک زبان برنامهنویسی برای توسعه وب شناخته میشود.
Rails
Rails کتابخانه نرمافزاری است که قابلیتهای زبان برنامهنویسی روبی را گسترش میدهد. خالق این کتابخانه David Heinemeier Hanse است. او نام آن را Ruby on Rails گذاشت. اما اغلب آن را تنها بهصورت Rails میشناسند.
یکی از مزایای Rails نسبت به فریمورکهای دیگر این است که با آن میتوان با سرعت بیشتر و حدود ده برابر بیشتر از سایر فریمورکها برنامهنویسی کرد. علت این سرعت بالا، استفاده از زبان Ruby و پشتیبانی از دو اصل مهمی CoC و DRY است.
Rails کتابخانه نرمافزاری است که به زبان برنامهنویسی روبی اضافه شده و از نظر فنی، یک package library برای (RubyGem) است که با استفاده از ابزار خط فرمان سیستمعامل نصب میشود. Rails یک فریمورک برای ساخت وبسایت است. به این ترتیب Rails یک سری از قراردادها را برای افزایش اشتراکپذیری و قابلیت نگهداری برنامه ایجاد میکند. این قراردادها بهعنوان Api های Rails یا Rails API شناخته میشوند.(API= رابط برنامهنویسی کاربردی یا دستوراتی که کد برنامه را کنترل میکند.)
Rails API شامل داکیومنتهای آنلاین است و در قالب کتابها، مقالات و پستهای وبلاگ توضیح داده شدهاند. یادگیری Rails به معنی یادگیری چگونگی استفاده از قراردادهای Rails و APIهای آن است. Rails زبان برنامهنویسی روبی را با Html ،CSS و جاوااسکریپت بهمنظور ساخت برنامههای تحت وب که روی یک وب سرور اجرا میشود، ترکیب میکند.
از آنجایی که Rails روی یک وب سرور اجرا میشود، بهعنوان یک پلتفرم توسعه وب سمت سرور یا backend شناخته میشود (همچنین برنامههایی که در مرورگر اجرا میشوند، اصطلاحاً front end میگویند)
Rails از یک دید بالاتر، چیزی بیش از یک کتابخانه نرمافزاری یا یک API است. Rails پروژه مرکزی یک جامعه گستردهای است که کتابخانههای نرمافزاری تولید میکنند و از این طریق کار ساختن وبسایتهای پیچیده را آسان میکنند.
اعضای جامعه Rails بسیاری از ارزشهای اصلی را به اشتراک میگذارند، اغلب از ابزارهای یکسانی استفاده میکنند و با یک شبکه غیررسمی که برای فعالیتهای داوطلبانه ساخته شده، از یکدیگر پشتیبانی میکنند. این جامعه غیررسمی از یک شبکه اقتصادی که شامل مشاغل، شرکتهای مشاورهای، کنفرانسها و کسبوکارها و سرمایهگذارانی که هزینههای یک استارتآپ را تأمین میکنند، تشکیل میشوند.
Rails در میان شرکتهای نوپا بسیار محبوب است. به این دلیل ک شامل مجموعهای از نرمافزارهای متنباز (RubyGem یا Gem) است که امکان ساخت سریع سایتهای پیچیده را ارائه میدهد.