خلاصه : به نظر ميرسد اين ابزار برنامهنويسي تحت وب كه زباني بسيار آسان نيز دارد، بتواند ظرف چند ماه آينده جاي خود را در بازار فريموركهاي برنامهنويسي تحت وب باز كند و رقيبي براي PHP يا ASP باشد.
زبان PHP كه حدوداً سال 1997 به وجود آمد، تقريباً پنج سال بعد توانست خود را نشان دهد و برنامهنويسان زيادي را به خود جلب كند. به نظر ميآيد چنين اتفاقي براي RoR يا Roby on Rails نيز خواهد افتاد و تا مدتي ديگر تعداد برنامهنويسان اين فريمورك به سرعت زياد، خواهد شد.
RoR تقريباً سه سال پيش از پروژهاي به نام Basecamp كه براي مديريت پروژههاي طراحي وب بود، اقتباس شد.RoR در واقع فريموركي رايگان براي برنامههاي تحت وب است كه با هدف سرعت بخشيدن و آسانترشدن كدها به وجود آمد. زبان اصلي اين فريمورك، Ruby است كه تقريباً هفده سال قبل در ژاپن توليد شده بود ولي تا قبل از Rails قدرت زيادي نداشت.
الگوي طراحي برنامههاي اين فريمورك نيز MVC يا Model View Controller است. (شكل1)
RoR بر اساس دو اصل مهم استوار است:
اول، اصل؛ DRY يا Don't Repeat Yourself به اين معنا كه اطلاعات، در يك مكان مشخص و منفرد قرار دارد و نيازي نيست كه مثلاً برنامهنويس، نام ستون اطلاعات را مشخص كند و به جاي آن Ruby ميتواند اين اطلاعات را از پايگاه داده استخراج كند.
شکل 1
دوم، CoC يا Convention over Configuration به اينمعنا كه فريمورك هوشمند است و برنامهنويس فقط بايد جنبههاي نامشخص برنامه را مشخص كند.
RoR از دو جزء اصلي تشكيل شده است: اول زباني به نام Ruby با Syntax بسيار تميز و كاملاً شيءگرا كه شايد بتوان Ruby را تركيبي از مزاياي زبانهاي برنامهنويسي ديگر دانست؛ مثلاً سادگي Pythons، عملكرد Perl و ظرافت مفهمومي Smaltalk.
جزء دوم، Rails است؛ فريموركي با منبع باز براي Ruby جهت طراحي برنامههاي تحت وب و برنامههايي كه به صورت مستقيم با پايگاه داده در ارتباطند يا به قول معروف Database-Driven هستند.
يكي از مزاياي Rails نسبت به فريموركهاي ديگر اين است كه با آن ميتوان با سرعت بيشتر، تقريباً ده برابر، برنامهنويسي كرد. علت اين سرعت بالا، شايد در استفاده از زبان Ruby و پشتيباني از دو اصل مهمي است كه قبلاً ذكر شد (CoC و DRY).
در RoR، با خطوط كمتري از كد، ميتوانيم برنامه تحت وب خود را بسازيم و طبيعتاً از آنجايي كه كدهاي ما كم است، براي آن بهراحتي قابل درك خواهد بود و خطاي كمتري را در خود خواهد داشت و Debugging آسانتر خواهد شد.
در حالت كلي RoR نسبت به ديگر فريموركهاي برنامهنويسي تحت وب چيز جديدي ندارد و تنها فرق آن با ديگر فريموركها، تعاملي است كه بين Ruby و Rails در آن وجود دارد. تنها قابليت RoR اين نيست كه سريعتر از فريموركهاي ديگر است، بلكه كدهاي برنامه در آن بسيار واضحترند و قابليت تعميرپذيري بالاتري نيز دارند.
Rails فريموركي است كه از مدل MVC پيروي ميكند و به صورت جامع، تمامي لايههاي اين مدل را پشتيباني ميكند. در صورتي كه فريموركهاي ديگر معمولاً تنها قسمتي از اين مدل را پشتيباني ميكنند و برنامهنويس را مجبور به هماهنگ كردن اجزاي سيستم ميكنند.
اضافه بر اين، همانطور كه قبلاً نيز بحث شد RoR به صورت CoC است و به اين ترتيب، نيازي نيست كه برنامهنويس به صورت دستي، جداول پايگاه داده را به اشياي برنامه، مرتبط كند چراكه برنامه اين عمل را به صورت خودكار انجام خواهد داد.
همچنين در Rails، تهيه برنامهها بر خلاف فريموركهاي ديگر فقط يك مرحله دارد. در Rails كافي است برنامه خود را تغيير داده و نتيجه آن را مستقيماً مشاهده كنيد.
يكي ديگر از امتيازات Rails درخصوص تهيه برنامههاي تحت وب اين است كه عمليات CRUD يا Delete ،Create - Retrieve - Update و نمايي از پايگاه داده به صورت خودكار آماده ميشود.
Rails، خود از اجزايي تشكيل شده است كه با همديگر در ارتباط نزديك هستند؛ البته اين اجزا ميتوانند به صورت مستقل نصب شوند. برخي از اين اجزا عبارتند از:
- ORM :Active Record و ارتباطدهنده مدل (model) به جداول بانك اطلاعاتي
- Action Pack: سازنده View و Controller در معماري MVC
- Prototype سازنده اجزاي داخل صفحه وب از جمله ايجكس
- Action Mailer: مسئول دريافت و ارسال ايميل
- Action Web Service: پشتيبان SOAP ،XML و WSDL
کد 1
قطعه كد 1 نمونهاي از كدهاي RoR را نشان ميدهد كه عبارت Hello World را نمايش ميدهند:
براي كسب اطلاعات بيشتر در مورد اين فريمورك ميتوانيد به وبسايت RoR مراجعه و آن را به صورت رايگان دانلود كنيد. نشاني