حقيقة أنا لم أدخل في طور تعلم لغة الروبي إطلاقاً مع أني أسمع عنها كثيراً فماهي مميزاتها وقدراتها والأمور التي يمكن تنفيذها من خلالها بجودة عالية مقارنة بباقي اللغات كالجافا او ال php - asp.net وغيرها وهل تقتصر إمكانياتها على الويب أم أنها تدخل في ضمار الديسكتوب أبليكيشن ؟
روبي اكتسبت شهرتها من خلال Rails لكنها بالأساس لغة عامة يمكن برمجة كل شيء بها تقريباً. برمجة تطبيقات سطح مكتب بها ممكن أيضاً من خلال Qt و GTK مثلاً لكني لا أجدها أنسب خيار لذلك. سي شارب أفضل لبرمجة تطبيقات سطح المكتب.
يوجد JRuby أيضاً وهي فعلياً لغة روبي كاملة تعمل على JVM مما يتيح وصول لأغلب مكتبات لغة جافا القوية. أنا أستخدم روبي لتطبيقات الويب وبرمجة سكريبتات تعمل من سطر الأوامر لسيرفرات لينكس.
عبدو اذا تستخدم محرك InnoDB انصحك ب Percona اما اذا كنت تستخدم MyISAM بهذه الحالة MariaDB ، حيث ان مطورين Percona يركزون على تحسين محرك InnoDB والعكس في MariaDB ، لكن في MariaDB هم ياخذون التحسينات الموجودة في InnoDB من Percona ويضيوفها لنظامهم وبنفس الوقت هم يعملون على تطوير وتحسين MyISAM الفكرة ان في ماريا انت تستفاد من تحسين المحركين.
شخصيا افضل استخدام Percona اذا كانت القاعدة InnoDB، استقرار افضل.
Sinatra فعلياً ليس اطار عمل بل مجرد DSL لبناء تطبيقات ويب. أي أنه لا يعتبر اطار ويب كامل وحجمه أصغر بكثير من Rails ولا يوفر 10% مما هو موجود في ريلز.
عادة يستخدم Sinatra لبرمجة الجزء المتعلق بالـ APIs وتطبيقات الويب الصغيرة لهذا السبب قلت اطار عمل مبني على Sinatra وليس Sinatra فقط. ستحتاج لبرمجة الكثير من الأمور يدوياً فوق Sinatra لتتمكن من استخدامه لبرمجة تطبيقات ويب أكبر وهذا ما يعجبني فيه، فهو يعطي تحكم كامل للمبرمج بتطبيق الويب وطريقة تصميمه.
90% من السرعة متعلق بأسلوب البرمجة وربما 10% ربما على اللغة نفسها. رأيت تطبيقات ويب كارثية تعمل ببطئ في PHP وجافا وتطبيقات سريعة برمجت بروبي. اللغة ليست المشكلة الأساسية، ففي كل مرة كنت أعيد برمجة جزء من الكود المسؤول عن البطء وتحسينه ثم تعود الأمور كما كانت أو يتم ترقية السيرفرات المشغلة.
بالمناسبة، روبي كان لها سمعة أنها بطيئة وهذا باصدرات أقدم من Ruby 1.8. وان تطلب بعض الأجزاء من الكود فعلاً سرعة أكبر وكانت اللغة هي المشكلة، يمكنك برمجة ذلك الجزء فقط بلغة سي كاضافة الى روبي وبذلك تحل المشكلة.
مجتمع لمناقشة وتبادل الخبرات حول تطوير الويب. ناقش أحدث التقنيات، اللغات، والأدوات في عالم تطوير المواقع والتطبيقات. شارك مشاريعك، اسأل عن نصائح، وتعاون مع مطورين محترفين وهواة.
التعليقات