# روبي أون ريلز

روبي أون ريلز (بالإنجليزية: Ruby on Rails)‏ ويرمز لها بالاختصار ROR وأحياناً تختصر باسم ریلز بصيغة الجمع (بالإنجليزية: Rails)‏ أي قضبان سكة القطار. وهي المنصة البرمجية لتطبيقات الإنترنت مفتوحة المصدر مبني على لغة روبي، ويعتزم استخدامها مع منهجية التطوير الذكية التي يتم استخدامها من قبل المطورين على الشبكة العالمية للتطوير السريع.

## تاريخ

تم استخلاص روبي أون ريلز من قبل دافيد هاينماير هانسون من خلال عمله على Basecamp، وهي أداة لإدارة المشاريع من قبل شركة 37 إشارة (بالإنجليزية: 37signals)‏ (تسمى الآن شركة تطبيق الشبكة). في البداية أطلق هانسون هانيمير Railsكمصدر مفتوح في يوليو 2004، ولكن لم يشارك أحدا في الحقوق التنفيذية لهذا المشروع حتى فبراير 2005. وصل فريق العمل إلى حدث مهم في أغسطس 2006 عندما أعلنت شركة Apple أنها ستطلق ROR مع Mac OS X v10.5 "Leopard" الذي تم إطلاقه في أكتوبر 2007. نظرة عامة على التقنية Rails تستخدم Model-View-Controller (MVC) لتنظيم برمجة التطبيقات، مثل العديد من أطر الشبكة المعاصرة. Ruby on Rails تتميز بعدة أدوات تهدف إلى جعل مهام التطوير الشائعة أسهل «الخروج من الصندوق». توفر Rails السقالات التي تمكنها تلقائيا من بناء بعض النماذج والآراء اللازمة لموقع أساسي على شبكة الإنترنت. ومدرج إليها خادم الويب Ruby المبسط (WEBrick) ونظام Rake. وفي الحقيقة إضافة هذه الأدوات الشائعة إلى إطار Railsتعطي بيئة تطوير أساسية مع جميع إصدارات البرنامج. Ruby on Rails تعتمد على خادم الويب لتشغيله. Mongrel هو المفضل عموما على WEBrick حتى وقت كتابة هذا التقرير، ولكن يمكن أيضا أن تدار من قبل لايت باد، Abyss, Apache (إما بوصفها وحدة نمطية—Passenger على سبيل المثال—أو عن طريق CGI, FastCGI أو mod_ruby) وغيرها الكثير. اعتبارا من عام 2008 فصاعدا، تم استبدال خادم الويب Mongrel بالخادم Passenger باعتباره الأكثر استخداما. والجدير بالذكر أن Rails تستخدم على نطاق واسع نماذج مكتبات JavaScriptوScript.aculo.us for Ajax في البداية Rails استخدمت SOAP خفيفة الوزن لخدمات الشبكة، واستبدلت لاحقا بخدمات الشبكة RESTful. منذ الإصدار 2.0 و Ruby on Rails تعرض افتراضيا على حد سواء HTML وXML كتنسيقات إخراج. وهذا الأخير هو مرفق لخدمات الويب RESTful. تركيبة الإطار Ruby on Rails تنقسم إلى مجموعات مختلفة، وهي ActiveRecord (عبارة عن نظام يدعى Object-relational mapping يستخدم للوصول إلى قاعدة البيانات)، ActiveResource (تقدم خدمات على شبكة الإنترنت)، ActionPack، ActiveSupport وActionMailer. Rails شملت أيضا قبل الإصدار 2.0 مجموعة Action Web Service والآن تستبدل ب Active Resource. بصرف النظر عن المجموعات القياسية، يمكن للمطورين تقديم الإضافات لتمديد المجموعات الموجودة.

## الفلسفة والتصميم

تتلخص فلسفة روبي أون ريلز في عبارتين (بالإنجليزية: Convention over Configuration)‏ أي «المتعارف أو العرف أفضل من الإعدادات» و(بالإنجليزية: Do not Repeat Yourself)‏ أي «لا تكرر نفس العمل». العرف أفضل من الإعدادت تعني المطور يحتاج فقط لتحديد الجوانب غير التقليدية للتطبيق. على سبيل المثال، إذا كان هناك صنف مبيع في النموذج، والجدول المناظر في قاعدة البيانات يسمى مبيعات افتراضيا. الا إذا كان أحد يحيد عن هذه العرف، مثل تسمية الجدول «المنتجات التي تباع»، سيحتاج المطور لكتابة رمز بشأن هذه الأسماء. عموما، فإن هذا يؤدي إلى رموز أقل وتكرار أقل. و«لا تكرر نفس العمل» تعني أن المعلومات تقع في مكان واحد لا لبس فيه. على سبيل المثال، باستخدام وحدة ActiveRecord من Rails فإن المطور لا يحتاج إلى تحديد أسماء الأعمدة في قاعدة بيانات تعريفات الفئة. بدلا من ذلك، يمكن أن تسترد Ruby on Rails هذه المعلومات من قاعدة البيانات استنادا إلى اسم الفئة. التطورات الحديثة تم إصدار الإصدار 2.3 من Rails في 15 مارس 2009. وتتضمن التطورات الرئيسية الجديدة في Rails: القوالب، والمحركات، وRack والأشكال النموذجية المتداخلة.
* القوالب تمكن المطور من إنشاء تطبيق هيكلي مع الأحجار الكريمة (Gems) المعروفة والتكوينات.
* المحركات تسمح للشخص بإعادة استخدام قطع التطبيق كاملة مع الطرق وعرض المسارات والنماذج.
* واجهة خادم الويب Rack و Metal تسمح لكتابة قطع مثالية من الرموز التي تسير حول منظم الحركة.
في 23 ديسمبر2008 أعلن Merb، وهو اطار تطبيقي آخر على شبكة الإنترنت مع Rails الالتزام بالعمل معا. فريق Rails أعلن أنه سيعمل مع مشروع Merb لتحقيق «أفضل أفكار Merb» في Rails 3، وإنهاء الازدواجية «غير الضرورية» عبر المجتمعين.

## العلامات التجارية

في شهر مارس عام 2007 قام ديفيد هاينمير هانسون بتسجيل ثلاثة طلبات لها صلة بالعلامات التجارية إلى مكتب الولايات المتحدة للبراءات والعلامات التجارية. كانت هذه الطلبات تتعلق بعبارة "Ruby on Rails" وكلمة "Rails" والشعار الرسمي لها. ونتيجة لذلك، في صيف عام 2007 رفض هانسون أن يمنح الإذن لصحيفة أمريكا لاستخدام شعار Rails على غلاف كتاب جديد عن Rails مكتوب من قبل بعض أعضاء المجتمع الموثوق بهم. هذه الحادثة أثارت احتجاج مهذب في مجتمع Rails. ردا على هذه الانتقادات، هانسون تقدم بالمطالبات التالية:

## النقد

تتعرض ریلز لانتقادات بسبب مشكلات مع التوسع هؤلاء النقاد كثيرا ما يذكرون انقطاع موقع شبكات اجتماعية تويتر في عامي 2007 و 2008، مما دفع مطوري الموقع للانتقال إلى لغة Scala (التي تعمل على آلة جافا الافتراضية) لنظام Queuing، على الرغم من أن غالبية الموقع يستمر في العمل على لغة روبي.

## مراجع

* ↑ الوصول: 9 يناير 2017. وصلة مرجع: https://api.github.com/repos/rails/rails.
* ↑ الوصول: 5 أكتوبر 2016.
* ↑ "The rails Open Source Project on Open Hub: Languages Page". أهلوه. اطلع عليه بتاريخ 2018-09-03.
* ↑ وصلة مرجع: https://rubyonrails.org/2024/12/13/Rails-Version-8-0-1-has-been-released.
* ↑ الوصول: 6 أكتوبر 2016.
* ↑ وصلة مرجع: https://github.com/rails/rails/blob/master/README.md. الوصول: 6 أغسطس 2017. الاقتباس: Ruby on Rails is released under the MIT License..
* ↑ "bumping to 3.1.0". Github.com. مؤرشف من الأصل في 2017-07-29.
* ↑ Rails 3.2.x is now compatible with Ruby 2.0.0 by sikachu · Pull Request #9406 · rails/rails · GitHub. Github.com. Retrieved on 2014-05-30. نسخة محفوظة 29 يوليو 2017 على موقع واي باك مشين.
* ↑ Cooper، Peter (24 يوليو 2007). "David Heinemeier Hansson says No to Use of Rails Logo". مؤرشف من الأصل في 2017-08-25. اطلع عليه بتاريخ 2007-08-01.

## وصلات خارجية

* روبي أون ريلز على موقع Open Hub (الإنجليزية)
* الموقع الرسمي
* بوابة برمجة الحاسوب
* بوابة برمجيات
* بوابة برمجيات حرة