مقدمه ای بر Ruby On Rails




کتابخانه های زیادی بر مبنای MVC برای زبان های مختلف نوشته شده است که از آنها می توان ASP.NET MVC یا معماری MVVM مایکروسافت ـ که تلفیقی از MVC و معماری سه لایه قدیمی برای برنامه های ویندوزی است ـ CakePHP، Yii، Kohana و... نام برد که کتابخانه هایی برای زبان PHP است؛ اما معروف ترین چارچوب کاری توسعه داده شده که بهترین کارایی را دارد، می توان به Rails اشاره کرد که مزیت خود را مدیون زبان ساده و قدرتمند Ruby است. کتابخانه های زیادی بر مبنای MVC برای زبان های مختلف نوشته شده است که از آنها می توان ASP.NET MVC یا معماری MVVM مایکروسافت ـ که تلفیقی از MVC و معماری سه لایه قدیمی برای برنامه های ویندوزی است ـ CakePHP، Yii، Kohana و... نام برد که کتابخانه هایی برای زبان PHP است؛ اما معروف ترین چارچوب کاری توسعه داده شده که بهترین کارایی را دارد، می توان به Rails اشاره کرد که مزیت خود را مدیون زبان ساده و قدرتمند Ruby است. Ruby On Rails که طراحی ساده و در عین حال قدرتمندی دارد، به کمک برنامه نویسان آمده تا برنامه های کاربردی تحت وب خود را بیش از پیش بهتر کنند. از معروف ترین پروژه های اجرا شده با Ruby On Rails وب سایت توییتر است و یکی از دلایل معروفیت آن پیاده سازی REST API به صورت داخلی است به این صورت که تمامی اکشن ها و مسیر ها بر اساس معماری REST API پیاده سازی شده است. اما در این شماره قصد داریم شما را با زبان Ruby و چارچوب قدرتمند آن آشنا کنیم. زبان Ruby یک زبان شی ءگرا و گرامر آن ترکیبی از زبان های Perl و SmallTalk است. این زبان اولین بار اواسط دهه ۹۰ توسط یوکیرو ماتسوموتو در ژاپن و با تاثیر گرفتن از زبان های برنامه نویسی Lisp و Eeffle توسعه داده شد. زبان روبی که ازسوی مرکز استاندارد های پیشرفته آژانس پیشرفت فناوری اطلاعات (یکی از موسسات دولتی ژاپن) برای استاندارد های صنعتی طراحی و توسعه داده شده است استفاده در برنامه نویسی رباتیک مورد استفاده قرار می گرفته است. روبی، فوریه ۱۹۹۳ توسط ماتسوموتو به وجود آمد. شعار ماتسوموتو برای توسعه این زبان این بود که «روبی قرار است یک زبان اسکریپتی (برای اجرای آن نیاز به کامپایل شدن نیست) قدرتمندتر از Perl و شی ءگراتر از Python باشد (قابلیت های شیء گرایی بیشتری در اختیار برنامه نویسان قرار دهد)». بعد از پیشرفت فناوری و استقبال گسترده از این زبان و توسعه کتابخانه های مختلف (در ادامه توضیح خواهیم داد) او در کنفرانس Google Tech در سال ۲۰۰۸ گفت: امیدوارم به برنامه نویسان در سراسر دنیا کمک کند تا محصولات پرسود تولید کنند و از برنامه نویسی خوشحال و خرسند شوند، هدف اصلی روبی این بوده است. نسخه های متفاوتی از روبی به وجود آمده که هرکدام برای هدف خاصی توسعه داده شده است، از آنها می توان MacRuby، IronRuby و... را مثال زد. پس از گذشت تقریبا دو دهه از تولد روبی، این زبان دستخوش پیشرفت های زیادی قرار گرفت. یکی از این پیشرفت ها توسعه Ruby Gem بود که یک مدیریت بسته برای روبی است و به برنامه نویسان اجازه می دهد تمامی کتابخانه های توسعه داده شده برای روبی را براحتی نصب و از آنها استفاده کنند. کتابخانه های زیادی برای این زبان توسعه داده شده است. برای استفاده از آنها کافی است RubyGem و سپس با استفاده از فرمان های آن و فایل Gemfile آنها را برای خود نصب کنید. در این خصوص بد نیست به سایت http: / / rubygems.org / gems سری بزنید. Rails یک چارچوب کاری برای توسعه برنامه های تحت وب است که برای استفاده در زبان روبی توسعه داده شده است. اولین نسخه این چارچوب کاری جولای ۲۰۰۴ توسط دیوید هاینمایر هانسون منتشر شد، اما در فوریه ۲۰۰۵ در اختیار عموم قرار گرفت. همانند دیگر چارچوب های کاری، Rails برای توسعه برنامه های تحت وب از الگوی طراحی MVC پیروی می کند. این کتابخانه امکانات زیادی برای توسعه برنامه های تحت وب ارائه می کند، یکی از آنها امکان پیاده سازی یک REST API است که شما براحتی و بدون داشتن دغدغه خاصی از این موضوع می توانید طراحی سیستم خود را طوری در نظر بگیرید که بتوان یک REST هم پیاده سازی کنید بدون این که نیاز به کدنویسی خاصی داشته باشید. بعضی از کتابخانه های Ruby برای برنامه های وب و مخصوصا Rails توسعه داده شده اند که می توان به Devise و Cancan اشاره کرد. اینها امکان طراحی یک سیستم عضویت قوی را به شما می دهند. همچنین Spec و Cucumber برای استفاده از قابلیت های Unit Testing مورد استفاده قرار می گیرد. امیربهاالدین سبط‌الشیخ