rIslamic - الخلاصات - الارشيف -مفضلتي - راسلني 

>> PHP ... لا عودة!!!



نعم قلتها لك أبا خالد .... و اليوم أضعها هنا ….
PHP : لا عودة ….

اولا و قبل ان تقفز من مقعدك : نعم أعرف انه من غير العدل مقارنة ريلز بـ بي اتش بي … أنت محق!

لكن : حتى لو قارنت ريلز بـ سيمفوني أو كيك أو جملة … الخصائص التي تعطي ريلز قوته تكمن في روبي ذاتها …مثل القدرة على اضافة خصائص للكائنات وقت التنفيذ run-time من أهم الميزات التي جعلت ديفيد ينتقل الى هذه اللغة مع انه مبرمج جافا متمرس …. و هذه احتاجها لتنفيذ ActiveRecord بشكل جميل كما هو في ريلز ….

هذا يعني انه : اكتب اي فريمورك في بي اتش بي و لن تجاري سلاسة ريلز أبدا….

الجميل ان فريق ريلز لم يقف عند ActiveRecord لكن أكمل الحلقة بنظام تمبليت سهل و بديهي مبني في فريمورك MVC و لاكمالها أضافو دعما خاصا لاجاكس باستخدام بروتوتايب و سكربتاكلس … على انه هنالك محاولات ناجحة لا ستخدام مكتبات اخرى مثل مكتبة ياهو…..

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

يخطئ الكثيرون عندما يظنون ان اهم ميزة في ريلز هي الـ scaffold … هذا محض خطأ مركب … بل اني لا اراها ميزة أبدا … قد تعطيك بداية سريعة لكن بها مشاكل كثيرة جدا مثل عدم تحويل العلاقات بين الجداول او المودلز الى حقول مثل القائمة المنسدلة … مع ان هنالك الكثير من الادوات الاضافية على ريلز التي تعمل هذا و اكثر بكثير مثل الاجاكس التلقائي …كمثال ActiveScaffold ...
القوة الحقيفة لريلز تكمن في ActiveRecord … حيث تصبح العلاقة بين الجداول شيئا سهلا للغاية … كمثال :


لنفرض ان لدينا مكتبة فيها كتب و الكتب موجودة في تصنيفات … هكذا:

Categories: id, name
Books: id, title, category_id, author
 
لتعرف العلاقة بينهما تضع العلاقة التالية في تعريف مودل الكتب
 

belongs_to :category

 
و التعريف التالي في مودل التصنيفات
 

has_many :books

 

و عندها لنفرض انك تريد معرفة تصنيف الكتاب بالاسم “rails rules” ... تعمل التالي:

 
book = Book.find_by_title 'rails rules'

category_title = book.category.title  
 

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

 

book = Book.find_by_title 'rails rules'

similar_books = book.category.books  

 

اول ما اكتشفت هالقوة … جلست أضحك … صراحة أضحك …لاني استمعت بها … جميل جدا



الان … هل فعلا لا عودة؟؟؟
طبعا لا… في النهاية انت كمبرمج ملزم بطلبات عميلك … و لن أتردد في استخدام بي اتش بي لو طلبها عميل … في الحقيقة بي اتش بي ليست سيئة مع دريم ويفر الجديد و انتراكت الجديدة أيضا
:)




لم أجرب روبي من قبل .. كل ما أعرفه هو أن أفضل ما فيها السهولة التي أضفها إطار العمل “ريلز” لها؟ هل هذا صحيح؟ ماذا عن الجوانب الأخرى مثل الأمان وسرعة الأداء والمكتبات الإضافية؟ ياليت تفيدنا فيها؟ عن نفسي كرهت الـPHP قبل فترة إلى أن وجدت إطار عمل قلب كل تلك المشاعر, واصبحت استمتع بالبرمجة أكثر من قبل إطار العمل اسمه Code Igniter .. سهل لأبعد درجة ممكنة يمكنك بالبدأ بالبرمجة به بعد ساعات من قراءة دليل الاستخدام! .. دعك من كيك وسيمفوني فهي معقد وتعلمها كتعلم لغة جديدة! القائمين على Code Igniter ذكروا بأنهم استفادوا من ريلز في إنشاءه .. سوف تجد سهولة ريلز مع قوة وسرعة وثابت الـPHP

اتمنى ان تجربه وتعطيني رأيك؟ .. (المسألة عندي ليست تعصباً ولكني أبحث دائماً عن أدوات تساعدني في زيادة إنتاجي من دون الإخلال بكفاءة وجودة العمل .. فهلا ساعدتني في ذلك؟)


طالعت فيديو انشاء بلوق في عشرين دقيقة ل CodeIgniter و لا أرى انه ينافس ريلز أبدا …. كما انه واضح كيف ان بي اتش بي لا تساعده ابدا في ان يكون الكود سهلا , جميلا , و مرتبا …. و ايضا قليلا …

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

اذهب الى هذا الموقع و طالع الفيديو الموجود فيه … مع اني حقيقة لم أقدر قوة ريلز الا بعد ان جربتها و استعملتها …

http://www.rubyonrails.org

و لعلي ان شاء الله أضع سلسلة من المقالات في ريلز في اجازتي القادمة ان شاء الله …( بعد شهر :) )

سلام


السلام عليكم

كيف حالك اخوي عساك بخير

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


حياك الله خلودي …

بالنسبة للسيرفر اللمحلي … فعندما تنصب روبي ثم ريلز فانه يأتي معه سيرفر محلي خاص (نوعا ما) يدعى Webrick و هو بسيط و مناسب لأغراض التطوير … بالنسبة للبرامج الجاهزة … فهنالك :
  • هوت سكربت : http://www.hotscripts.com/Ruby_on_Rails/index.html
  • rubyforge.org

هذا ما يحضرني … بالتوفيق


اترك تعليقا....




--- بامكانك استخدام [ Textile ]





Imagine what you desire. Will what you imagine. Create what you will.(George Bernard Shaw) : Love what you create (me)