النتائج 1 إلى 3 من 3

الموضوع: روبي أون ريلز Ruby On Rails

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    2,002

    روبي أون ريلز Ruby On Rails



    يقول أحد الساخرين:” إن لم تكن قد سمعت بعد بلغة روبي أون ريلز فمرحبا بعودتك من الفضاء الخارجي !”
    ماهي هذه اللغة الجديدة نسبيا؟ لماذا أثارت كل هذه الضجة في أوساط مطوري الويب؟ هل حقا تشكل هذه اللغة ثورة ونقلة نوعية في مجال لغات تطوير الويب؟ ما الذي يميزها عن غيرها؟ هل حقا هي أبسط من PHP وأقوى من Java؟ لماذا هي مظلومة عربياَ؟
    الكثير من الأسئلة سنحاول الإجابة عليها في هذه المقالة بدءا من تعريف اللغة وانتهاءا بذكر ميزاتها ومواصفاتها.
    ماهي Ruby On Rails؟
    Ruby On Rails وتدعى اختصارا بـ ROR أو Rails, هي عبارة عن منصة عمل Framework مفتوحة المصدر لبرمجة تطبيقات الويب, وهي مكتوبة أساسا بلغة روبي Ruby المبنية وفق نظام Model-View-Controller (MVC). (سنتكلم لاحقا عن ماهي الـ MVC وماهي لغة روبي أساسا). قام بكتابة هذه المنصة الدنماركي David Heinemeier Hansson.
    يقول مطوروا Ruby On Rails بأن الهدف الأكثر أهمية لهذه اللغة هو بناء تطبيقات ويب متنوعة بأقل كود code ممكن. بمعنى آخر أنت تستطيع بناء تطبيقات ويب أكثر تعقيدا بشكل أبسط وأسرع من المعتاد وبعمل برمجي أقل وبالتالي بأخطاء برمجية أقل ومدة تنفيذ أسرع بكثير.
    إنتاجية عالية, ووقت تطوير قياسي.
    في الواقع هذا يعتبر أحد أهم الفروق بين روبي أون ريلز ولغات برمجة الويب اﻷخرى. فعندما تستطيع أن تنجز تطبيقاً بسيطاً للويب في أيام بدل أسابيع أو تطبيقاً معقداً في أسابيع بدل أشهر فهذا يعني أننا أمام لغة تفتح عصراً جديداً في مجال التطوير للويب.
    لو كانت اﻻنتاجية العالية والسرعة في التنفيذ في روبي أون ريلز مصحوبة بإنتاج تطبيقات معقدة الكود أو صعبة الصيانة والتطوير لما لقيت الريلز هذه الشعبية, لكن في الحقيقة تعتمد الريلز على مبدأ (نظافة) الكود وحسن ترتيبه وقوته, بمعنى آخر أنت لن تستطيع البرمجة في الريلز إن لم تتبع مقاييس جودة معينة في الكود الخاص بك.
    أيضاً لما كانت الريلز قد حظيت بهذه الشعبية لو كانت محدودة. أي مناسبة للتطبيقات الصغيرة فقط وغير مناسبة للتطبيقات الضخمة. في الواقع ﻻ يوجد شيء ﻻ تستطيع عمله بالروبي أون ريلز. لدرجة أن هذه اللغة* لديها بعض قدرات الذكاء الصناعي Artificial Intelligence بحيث تستطيع كتابة كود يستطيع هو بدوره كتابة كود أثناء وقت التنفيذ A code that write code !!!
    * ليس دقيقاً وصف الروبي اون ريلز بأنها (لغة), بل هي منصة عمل تعمل على لغة روبي لكن من أجل السهولة سوف أستعمل التعبير (لغة روبي أونريلز) في هذه المقالة.
    قد يقول قائل بأنه ﻻ بد أن تكون للغة بهذه المواصفات بعض المساوىء أو المصاعب اﻷخرى. حسناً يمكنك أن تجرب بنفسك وأنصحك بالمقالة التالية لو كان لديك بعض الوقت لبناء تطبيق ويب كامل باستخدام الروبي أونريلز.
    http://www.onlamp.com/pub/a/onlamp/2.../20/rails.html
    هذه المقالة ممتازة كي تبدأ بها … بحيث تأخذك من مرحلة تنزيل الروبي والريلز على جهازك حتى مرحلة تطوير تطبيق صغير بسهولة بالغة سوف تثير إعجابك.
    حسناً, كل هذا جميل لكن ماهو سر روبي أون ريلز؟ كيف تستطيع هذه اللغة عمل كل هذا؟
    هذه هي مقادير الوصفة التي أكسبت ريلز كل هذه القوة والشعبية:
    لغة روبي Ruby:
    كما قلنا فإن روبي أون ريلز هي منصة عمل Framework قائمة أساساً على لغة روبي. ولغة روبي هي من كتابة الياباني العبقري يوكيهيرو ماتسوموتو Yukihiro Matsumoto. وقد تم إطلاقها في العام 1995 لكنها لم تلق الشهرة عالميا وكانت شهيرة في اليابان فقط والسبب أن جميع ما يتعلق بها كان مكتوباً باللغة اليابانية فقط! وكانت اللغة بانتظار ذلك الشجاع الذي سيقوم بترجمة وثائق اللغة من اليابانية إلى الانكليزية وجاء ذلك الشجاع بعد بضعة سنوات وتم إشهار اللغة بشكل عالمي وكسبت الشهرة بسرعة عالية جداً. إن روبي مصممة بطريقة ذكية جداً بحيث جعلتها أقرب إلى طريقة التفكير البشري في بناء البرامج منها إلى طريقة عمل الكمبيوتر. فأنت إن أردت مثلاً كتابة برنامج لإدارة مدرسة فكل ما عليك التفكير به هو الـ Objects فتقول نحن لدينا طلاب وصفوف وأساتذة وكتب .. الخ وتقوم بالبناء على أساس الفهم البشري الطبيعي للقضايا دون أن تشغل بالك ووقتك بالتفكير كيف يمكن تحويل كل هذا لعبارات يفهمها الكمبيوتر ويستطيع التعامل معها.
    حتى إن اللغة Syntax المستخدم هو أقرب ما يمكن للغة البشرية المحكية, على سبيل المثال لو أردت تكرار عبارة معينة لثلاثة مرات في روبي يكفي أن تكتب: 3.times do something
    أما في اللغات الأخرى فعليك استعمال حلقة for وتعريف متحول بمثابة عداد كي يقوم بالعد لعدد من المرات ثم ينهي العد بحسب شرط تقوم بتحديده!!! هذا مثال بسيط وقس على هذا من اﻷمثلة الأكثر تعقيداً.
    روبي أون ريلز مبنية وفق نظام MVC أو ما يعرف Model, Viewer, Controller
    ماذا يعني هذا؟ ببساطة هذا يعني أنك تقوم ببناء التطبيق وفق طبقات منفصلة Layers أي أن التصميم منفصل تماماً عن الكود البرمجي وهذان السابقان منفصلان تماماً عن التعامل بشكل مباشر مع قاعدة البيانات.
    أي أن تصميمك ﻻ يحتوي على كود برمجي (كما هو الحال في PHP حيث يكون برنامجك عن مزيح مزعج من الكود والتصميم في نفس الصفحة!) .. كما أن الكود البرمجي ﻻ يتعامل بشكل مباشر مع قاعدة البيانات, أي ﻻ داعي هناك لإقحام عبارات الـ SQL أو الـ SQL Queries داخل الكود البرمجي بشكل مباشر بل هذا من مهمة الـ Model.
    إن هذا يعني سهولة التعديل والتطوير المستقبلي لبرنامجك, وسهولة الصيانة أيضاً.
    فلسفة Convention over configuration:
    لا أدري ما أفضل ترجمة حرفية للعبارة السابقة لكن الترجمة المعنوية لها هي أن ﻻ وجود في روبي أونريلز لملفات إعداد Configuration معقدة. بل تستخدم الريلز بضعة تعابير اصطلاحية كافية لجعلها تفهم كل شيء عن برنامجك بنفسها.
    كل شيء في الريلز يعمل كما لك أن تتوقعه دون أية إعدادات مسبقة تسبق عملك الفعلي في البرنامج.
    كود أقل:
    تستطيع روبي أونريلز التعامل بشكل أوتوماتيكي مع التفاصيل ذات المستوى المنخفض low level دون حتى أن تخبرها أنت كيف عليها أن تفعل ذلك. هذا يعني أنك ستكتب عدداً أقل من السطور لتنفيذ برنامجك. وإن الكود اﻷقل يعني وقت تنفيذ أسرع وأخطاء أقل, مما يجعل الكود أسهل للقراءة والصيانة والفهم.
    التوليد التلقائي Generators:
    تقدم روبي اون ريلز مجموعة من المولّدات Generators التي تقوم عنك بمهمة توليد كميات كبيرة من الكود! إن لم تصدق شاهد الفيديو التالي الذي يظهر كيف تستطيع بناء برنامج مدونة Blog من الصفر خلال ربع ساعة باستخدام تقنية توليد اﻷكواد:
    http://media.rubyonrails.org/video/r...with_sound.mov
    كما تستطيع بناء مولدات أكواد خاصة بك!
    مواصفات عامة
    بعد أن اطّلعنا على بعض المواصفات الخاصة التي تميز الريلز عن غيرها, سنتعرف على بعض المواصفات التي تهيّئها للعمل مع البيئة الخارجية, عن مخدمات الويب وقواعد البيانات التي تستطيع روبي اون ريلز التعامل معها.
    مخدّمات الويب Web Servers:
    تستطيع الريلز التعامل مع أي ويب سيرفر يتعامل مع الـ CGI ! إذاً ﻻ تقلق من هذه الناحية, تستطيع اﻻختيار بين مجموعة واسعة من مخدمات الويب لتشغيل الريلز عليها لكن المخدّمين اﻷكثر شيوعاً لتشغيل الريلز هما اﻷباتشي Apache و LightTPD.
    قواعد البيانات Databases:
    تستطيع الريلز التعامل مع قواعد البيانات التالية:
    MySQL
    PostgreSQL
    SQLite
    SQL Server
    DB2
    Oracle
    إذاً كما ترى, مهما كان نظام قواعد البيانات الذي تفضل التعامل معه وتجيده فهو يعمل مع الروبي اون ريلز.
    عناوين URLs مفهومة وجميلة:
    نعم فإن روبي اونريلز ﻻ تهتم فقط بجمالية الكود أو مظهر الموقع, بل حتى عناوين الوصلات الخاصة بالموقع, فعلى خلاف الـ PHP أو غيرها التي تنتج وصلات صفحات على غرار:
    www.domain.com/show.php?cat=215title=223
    فإن روبي أونريلز تقدم وصلات مقروءة ومفهومة بحيث تستطيع فهم محتوى الصفحة من مجرد قراءة الوصلة مثلا:
    www.domain.com/movies/action/TheRock
    كما تستطيع بسهولة التحكم بطريقة عرض الوصلات وتغييرها بالشكل الذي ترغب.
    جاهزة لبناء تطبيقات Web 2.0:
    أيضاً هذه أحد أهم الميزات, إن الويب 2.0 هي الموجة الحالية التي باتت تجتاح مواقع اﻻنترنت المحترمة, لكن للأسف إن تطبيق تقنيات الويب 2.0 لهو أمر على شيء من التعقيد إذ يحتاج إلى كتابة الكثير والكثير من الجافا سكربت المعقدة والتعامل مع ما يعرف بالـ DOM من أجل بناء تطبيقات اﻷجاكس. لكن مع روبي أون ريلز ليس عليك أن تقلق من هذا, تستطيع بسطر واحد تنفيذ تقنيات أجاكس مذهلة يلزمها عشرات بل مئات السطور.
    هذه المقالة مجرد مقدمة بسيطة جداً ليست أكثر من رؤوس أقلام … هنالك الكثير والكثير من اﻷمور الجديرة بالحديث عنها لكن من اﻷفضل متابعة القراءة عن لغة العصر الجديد هذه بنفسك عن طريق آﻻف المواقع التي تتحدث عن روبي أون ريلز وسأضع بعض الوصلات الهامة في آخر هذه المقالة.
    هذه اللغة تحتاج إلى اهتمام أكبر عربياً, ما يزال المهتمين بها قلائل جداً ﻻ لشيء سوى لأننا اعتدنا -معشر العرب- على الخوف من خوض غمار أي شيء جديد اللهم إﻻ بعد أن يكون قد صار قديماً.
    لهذا قمتُ بمراسلة David Heinemeier Hansson الذي قام بكتابة منصة روبي أون ريلز وأخذت منه إذناً رسمياً باستخدام لوغو الريلز والتعديل عليه قليلاً (ليأخذ طابع شرقي) بهدف استخدامه في أول موقع عربي مهتم بالتطوير بالريلز للعرب سوف أقوم بإطلاقة قريباً, وأنا هنا أوجه دعوة لجميع المهتمين العرب بهذه الموضوع لمراسلتي بهدف التعاون في مجال الموقع.
    المصادر, ووصلات هامة:
    www.rubyonrails.org
    http://en.wikipedia.org/wiki/Ruby_on_Rails
    http://www.onlamp.com/pub/a/onlamp/2..._is_rails.html
    http://www.onlamp.com/pub/a/onlamp/2.../20/rails.html
    http://en.wikipedia.org/wiki/Ruby_programming_language


    مصدر المقال





    __________________
    قال رسول الله صلى الله عليه وسلم : "بلـّغوا عني ولو آية".
    وما من كاتب الا سيفنى ويبقى الدهر ما كتبت يداه // فلا تكتب بكفك غير شئ .. يسرك يوم القيامة أن تراه
    اختصار الروابط قص الروابط الطويلة ومشاركتها


  2. #2
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    الصراحة الروبي اون رايلز كانت تجربة فريدة والكثير من اطر العمل في لغات اخرى
    استفادت منها

    مثل symfony في ال php
    و web2py في البايثون

    لكن تبقى هناك الكثير من الأمور التي يجب اخذها في الحسبان قبل تعلم لغات جديدة
    (إذا كنت تنوي العمل في المجال)

    مثلًا كم يمكن ان تتقدم فيها عمليًا
    وهل توجد شهادات معترف بها لهذه اللغة
    (مثل شهادات صن، ميكروسوفت والزند)
    وهل يوجد لها دعم ثابت من شركات معروفة

    الحديث يطول ، ودائمًا تجد لكل لغة وكل اطار اشخاص ترتاح للعمل معه دون غيره
    لكن الافضل الابتعاد عن النقاشات الكثيرة (اتكلم عن نفسي http://www.swalif.net/softs/../../im...es/biggrin.gif)وترك كل شخص ليختار ما يناسبه

    بارك الله فيك اخي





    التعديل الأخير تم بواسطة ahmad sadiq ; 13-03-2011 الساعة 07:33 PM

  3. #3


    الروبي لغة مشهورة ، وكنت أرغب دوما في تعلمها ، ولكن اتاحت لنا الasp.net العمل في إطار MVC مثل الروبي ، ولكن للأسف لم أرتاح له ولا اعلم السبب





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض