حان الوقت للحديث عن روبي أون ريلز 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/2005/01/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/rails_take2_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/2005/10/13/what_is_rails.html
http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html
http://en.wikipedia.org/wiki/Ruby_programming_language

26 رأي حول “حان الوقت للحديث عن روبي أون ريلز Ruby On Rails”

  1. واو, يا زلمة فعلاً ثقافتي معدومة عن هل اللغة, فكرت أول الشي عم تحكي على روبي, قلت يا ربي شو أخذها على سكك الحديد :).

    عنجد مقالة مذهلة, والمعلومات كلها فريش وجديدة, وحلوة ولذيذة, ويا سيدي بارك الله فيك, روح المبادرة رائعة جداً فيك, وأتمنى نجاح مشروعك.

    رح حاول أقرأ عن الوصلات يلي عطيتنا ياه بركي بتعلم كم شغلة جديدة..

    شكراً كتير.

    رد
  2. السلام عليكم
    بالحقيقة مقالة جميلة لكن أحب أن أنوه إلى علوش أن لغة الروبي ليست جديدة فقد سمعت عنها قبل سفري إلى ماليزيا بسنة وأخبرت الأخ أنس عنها وقتها .. أي أن لغة الروبي على الأقل عمرها في ذاكرتي 3 سنوات وميلادها الحقيقي هو July 2004
    لكن للأسف أمة إقرأ لا تقرأ والشكر للأخ أنس الذي جمع الشباب بالروبي
    والسلام عليكم

    رد
  3. السلام عليكم..
    شكراً لك على المقالة الرائعة والإحترافية..
    وبصراحة سمعت عن هذه اللغة ولكنني لأول مرة أقرأ عنها ومبادرتك رائعة لنشر مقالة عنها باللغة العربية ..
    (بس بالعامية شو هالفيديو قال بدو 3 ساعات ليتحمل!!)
    شكراً جزيلاً لك ونحن بانتظار المزيد منك وشكراً أيضاً على الوصلات..

    رد
  4. مرحبا جميعا ..

    علوش شكراً الك على اعجابك بالمقالة … مو بس انت كتير ناس ما سمعت بهاللغة بالوطن العربي .. السبب انو نحنا العرب عنا طبع انو متى ما تعودنا على شغلة بحياتنا ما عاد نتركها .. الشركات عنا تعودت على ال php وخلص لزقت فيها .. اذا بتروح عند اي شركة تطوير ويب عربية بتسألهم اذا بيشتغلوا أو عندهم خطة أنو يشتغلوا روبي أون ريلز بيكون جوابهم أنو لااااا حل عنا .. امورنا ماشية وعين الله علينا شو بدنا بالروبي بآ !!!

    همام … حكيك صح بس لأجل الدقة منصة الروبي اونريلز من ال 2004 بينما لغة الروبي من منتصف التسعينات ..

    سميّة ..

    مو الحق عالفيديو انو بدو 3 ساعات تحميل … الحق على خطوط الانترنت بهالبلد
    وشكرا على قراءتك للمقالة ..

    رد
  5. شكرا كتير يا انس انا اول مرة بسمع بهل اللغة
    وعن طريق الصدفة البحته جدا
    على فكرة انا مبرمج php في شركة برمجة
    وكمان طالب بالجامعة الافتراضية
    انا كتير بفتخر فيك

    رد
  6. اذا كنت جاد فلابد ان تراسلني لانني ايضا كنت اسير في نفس الطريق و كنت احاول ان اجد مع اشخاص مهتمين فعلا بالروبي او الريلز لنبدا عمل مجموعة مستخدمي لغة الروبي من العرب و طبعا الريلز حتي انا في انتهيت تقريبا من موقع مصمم ليتابع اخبار الروبي و الريلز اول باول و يكون محرك بحث للروبي و الريلز و حتي Jruby , IronRuby

    رد
  7. كيفك انس بس اذا ممكن تعطينا كتب عن لغة الروبي
    مشان نتعلما
    اذا انت مشتغل مشاريع فيا ممكن تعطينا هل المشاريع
    مشان نقدر نتعلم هي اللغة منيح
    وهيك بتكون غمرتنا بفضلك

    رد
  8. ياريت تراسلني فانا مهتمة جدا بتعلم هذه التقنية والتطوير بها لتأخذ طابع شرقي وأرجو ان تنتشر عربيا بشكل أكبر لانها فعلا هي المستقبل

    رد
  9. اعجبتني قضية خوف العرب من الخوض في ما هو جديد
    اخي من تجربتي مع ror رغم انها فترة قصير
    اكثر من محاولة و آخرها كدت اجن
    لم اجد شرح وافي لكيفية عمل هذه التقنية
    بنيت تطبيقات باستخدامها وكله تمام لكن اكواد ال scripts غير موثقة
    اعذرني اخي لكني فضولي جدا واحب ان اعرف ما يجري وراء الكواليس
    ليس مجرد t.column :name, :string و rake migrate و خلاص جدولك موجود في قاعدة البيانات :O
    لا احب ان ياتي يوم يقوم به اخي الصغير ويكتب
    create -new_app myApplication -asIn myMind
    نلاقي انه تم توليد جميع العمليات الي قاعد بيفكر فيها بدون حتى ما يفكر كيف تمت
    هذه ليست دعابة اخي نحن مبرمجين وكتابة الاكواد هي المتعة التي جذبتنا لهذا المجال
    لقد قمت بالبدئ بمشروع مفتوح المصدر لتسهيل العمل بلغة php و ندمت بعد ذلك
    مثلا لو قلت اني اريد عرض بيانات جدول معين من قاعدة البيانات في جدول -نعلم بان هذا سياخذ مني من 10 ل 15 سطر حسب عدد الحقول-
    مجرد
    $myoo->showTable(“MyTable”);
    وخلاص
    وعميات كثيرة
    حسنا شو استفدت ؟؟ المبرمج في نهاية الامر حيبني موقعه كامل بكتابة ما لا يتجاوز 60 سطر php ولربما كانوا نتيجة عمليات ال generation التي هي جزء من المشروع الذي بدات به
    اعذرني اخي لكن هذا الجنون الذي نراه في بيئات التطوير بدا يؤرقني
    اخوك
    عز الدين
    غزة/فلسطين

    رد
  10. اللي شاغل رور على تطبيقات كبيرة بيعرف عيبها الأكبر !

    المهم للمواقع الصغيرة والمتوسطة ممتازة …

    يوجد بديل للرور على php اسمه cakephp …

    رد
  11. عزيزي خالد ..

    أرجو أن توضح لي ما هو برأيك عيب الرور بالنسبة للتطبيقات الكبيرة؟ اشتغلت العديد من التطبيقات على الرور وبرأيي هي ممتازة للتطبيقات الكبيرة أكثر منها للصغيرة .. كما أرجو أن توضح على كل حال ما هو تعريفك للتطبيق الكبير فأنا أختلف معك تماماً وباعتقادي أن الريلز ممتازة جدا للتطبيقات الكبيرة قبل الصغيرة والمتوسطة ..

    مع التحية

    رد
  12. التطبيق الكبير هو موقع يأتيك عليه أكثر من مئة ألف زيارة شهرية …

    هنا الريلز يظهر عيبها أو بالأحرى الروبي فالروبي عيبها الأكبر هو أنها single threading وليست multi threading …

    تخيل أنه يدخل على صفحة واحدة أكثر من 100 مستخدم في نفس اللحظة، ماذا سيحدث؟

    ملاحظة: هذا الكلام مجرب وليس نظرياً ولاحظته في الكثير من مواقع الريلز حيث أحياناً تطلب الصفحة فإما أن ينشغل المخدم بطلبك لفترة من الزمن أو يعطيك رسالة time out…

    رد
  13. السلام عليكم أخي أنس :
    يمكن مروري متأخر و لكن ماشاء الله مقالة متميزة , لم أقرأ كثيراً عن هذه اللغة ولكن شيء جميل والله .سأقرأ عنها .

    تحياتي
    فراس

    رد
  14. تشكر على المقال يا باشا.
    شرحك لل MVC غير دقيق. ال MVC هو نموذج فهم برمجي يمكن تطبيقة بأي لغة برمجة OOP. أي انه يمكن تطبيقة بال PHP وليس مخصوصاً بروبي.
    توجد framworks لل PHP تعتمد على MVC.
    على كلن المقال رائع واستفد منه الكثير.

    مراجع:
    http://en.wikipedia.org/wiki/Zend_Framework
    http://en.wikipedia.org/wiki/Model-view-controller
    http://en.wikipedia.org/wiki/Model-view-controller#PHP

    رد
  15. هذه تتمه لردي السابق. لأني قمت بقراءة المقال على دفعتين.
    بالنسبة للنقطة المتعلقة بعناوين الوصلات فليس صحيحاً أن روبي وحدها هي التي تدعم عرض الروابط بشكل مفهوم! هذه مجرد حيلة تعلمها مبرمجو الويب مع الوقت ويمكن تطبيقها على أي لغة ويب. وهي باختصار أن يقوم المبرمج ببرمجة صفحة متحكمة تقوم بقراءة المتغير Referer بالHTTP Headers وتفهمه وتحوله لمعطى argument يمكن بناء شروط ظهور الصفحة عن طريقة. الطريقة هذه سبق عملها بالPHP و يقدمها Zend framework كخدمة.

    بالنسبة لتقنية الأجاكس فهي عبارة عن تفاهم بين المتصفح باستخدام JavaScript والخادم باستخدام XML
    عن طريق XMLHttpRequest التي تقوم بدور بوابة التراسل بين محرك JavaScript بالمتصفح و مزود الويب الذي يقوم بإرسال المحتوى على شكل مظاريف XML
    وذلك لعرض أو تحديث أجزاء من الصفحة؛ لا كل الصفحة كما في البرمجة الويب العادية. غالبا ما يقوم المبرمجون في أي مجال بتجميع أو اختصار أساليب الاستخدام البرمجية API في مكتبات تشاركونها. ظهرت مكتبات كثيرة لتقنية الأجاكس وكثير من مطوري لغات البرمجة قاموا بمجرد دمجها في محركات لغاتهم كروبي. Zend framework يوم بتقديم الأجاكس كما في روبي. اعتقد انه من نافلة القول أن أشير إلى إمكانية برمجة الأجاكس بدون هذه المكتبات وهنا تكمن الصعوبة وهي فقط في الحاجة للتعلم والتجربة أو باختصار بذل كثير من الوقت للتعلم لذلك يلجأ المبرمجون للاختصار الوقت بالإستفاده خبرات الآخرين التي لخصت بهذه المكتبات.

    أنصح التقنيين عموماً بفهم مجالات لغات البرمجة قبل الغوص في تفاصيل اللغة لأن ذلك يسهل فهم اللغة أولا و يضع الأمور في نصبها. فمميزات لغة البرمجة تختلف عن خاصية موجودة في المجال البرمجي. مثال للمجال البرمجي: برمجة الويب. مثال للغات البرمجة الخاصة بالمجالات : الPHP للبرمجة الويب.
    كما أنصحهم بفهم نسق هندسة البرمجيات بعيداً عن لغات البرمجة حتى يتسنى التمييز بين الخواص البرمجية و أساليب التصميم. كما في MVC

    لأن المبرمج قد يصدم بالواقع وذلك إن طلب منه برمجة على منصة -او مجال- لم يسبق له البرمجة عليها او تعلم لغاتها. المبرمج الذي يراعي التقنية على أنها مجالات وأدوات ويعنى بفهم المجالات أكثر من الأدوات سيتسنى له ببساطة تعلم لغات جديدة خاصة بالمجال الجديد. أما الذي يهتم فقط بفهم أداه واحده ففي غالب الأحيان قد يعجز عن تنفيذ المهمه فالوقت المطلوب. فالذي يفهم مجال النجارة -على سبيل المثال- يستطيع التعامل مع أداة المطرقة والمنشار حسب الحاجة لها؛ أما الذي يعرف من النجارة المطرقة فقد لا يستطيع أن يقطع الخشب بها.

    وأعتذر إن كنت قد أثقلت أو أطلت الحديث

    بعض المراجع
    http://en.wikipedia.org/wiki/List_of_HTTP_headers
    http://en.wikipedia.org/wiki/List_of_Ajax_frameworks
    http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#PHP
    http://en.wikipedia.org/wiki/Web_application
    http://en.wikipedia.org/wiki/Ajax_(programming)

    رد
  16. مقالة راشعة يعطيك العافية …

    ولكن لو كانت الوصلات في نهاية المقال على شكل روابط وليس نص … وفرت علينا 🙂 ….

    في انتظار موقعك عن روبي … واعتبرني من المشاركين …

    تحياتي لك ولجهدك الطيب

    رد
  17. اعتقد أن لغة Ruby on Rails -RoR لغة كويسة جداً، أنا قرأت عنها كتير وشايف أنها هتحتل مركز وشعبية متقدمة جدا مع استمرار الوقت ويمكن تزيد على الPHP في الشبيعة كمان، لأن كل لغة جديدة كانت بتمر بنفس الموضوع.

    الـ PHP نفسه كان في الاول مجرد عدد بسيط من ال functions الجاهزة ، والان بجهد كثير من المبرمجين حول العالم اصبح ما هو عليه الان.

    أنا عن نفسي ناوي اتعلمها في القريب العاجل جداً

    وبالنسبة لموضوع انها مش كويسة في المشروعات الكبيرة والضخمة
    فثمة اجابة واحدة فقط على هذا….
    أن موقع Twitter نفسه مُبرمج بـ Ruby on Rails
    وذلك يقين على كل من يشكك بإمكانيتها على ادارة المشروعات الكبيرة

    رد
  18. اتمنى من اجد من يساعدنى فى ما افعله انا الان اقوم ببرمجه موقع صغير واريد ان اقوم بانشاء الاقسام فى سيناترا برمجه بروبى
    ارجو اجد من يساعدنى
    كيف يمكننى ان اعمل استعلام عن الاقسام الموجوده فى جدول الاقسام من داخل الفور الخاص باضافه موضوع شكرا http://amr-habib.blogspot.com/2014/04/blog-post.html

    رد

أضف تعليق