تحياتي,

هدف هذه السلسلة هي كيف تصمم WEB APP وسنستخدم في شرحنا RUBY ON RAILS الشهير كـ إطار عمل FRAMWEORK, إذا كنت جديدا في هذا العالم السحيق سوف نبدأ معا من القاع من الـ RUBY و RAILS و HTML و CSS وقواعد البيانات DATABASES و وحاكم الإصدارات VERSION CONTROL ثم إختبار الموقع TESTING و النشر DEPLOYMENT, ستجد ما يكفي هنا ليصدرك كمبرمج روبي محترف او صاحب مشاريع ضخمة تضع لمساتك السحرية على تنفيذ مبرمجيك.

اما اذا كان لديك خلفية لا بأس بها عن الويب والبرمجة او حتى لغة اخرى .. ستجد في هذه السلسلة القواعد الاساسية للغة روبي .. بما يكفي لإدخالك الى عالمها الممتع بسرعة وبقوة ايضا .. اسياسيات مثل MVP و REST و GENERATORS و MIGRATIONS و ROUTING والروبي المتضمن EMBEDED RUBY.

في كل الاحوال وبعد انتهائك من السلسلة .. ستستطيع البدء في النهل من فؤائد الPODCASTS و القنوات والمدونات المهتمة بالروبي .. لتستمتع بالإضافات والأفكار .. حتى أنه يمكنك أن تكتب مدونتك الخاصة بالفعل "كما حدث معي بالفعل هنا ;-)"

سنبدأ في التدرج بالصعوبة من الأسهل الى الأصعب .. سنصنع ثلاثة برامج متصاعدة الحدة والتعقيد .. أولهم هو برنامج "أهلا بالعالم" hello app في 1.3 .. ثم برنامج "اللعبة" toy app ابتداءا من 2.1 .. ثم الأفضل على الإطلاق .. برنامج "المثال" sample من 3.1 الى نهاية السلسلة .. وكنوع من التحفيز : برنامج "المثال" sample يماثل أشهر مواقع التدوين السريع/القصير twitter بكل بساطه .. لان هذا الموقع صمم كذلك بالفعل بلغة روبي.

سنتناول في كل الفصل الأول ابتداءا من 1.1 : تحميل RUBY ON RAILS وكل برمجياته المخصصة والمطلوبة ثم سنتعلم كيف تهيئ بيئة العمل للإنتاج, وعندها سنبدأ بأول تطبيق HELLO APP .. ولا وقت أمثل من هنا حتى نضع تطبيقنا تحت الـ VERSION CONTROL حتى نتمكن من نشره ببساطه.

سنعتمد على "السقالات" SCAFOLDING وسنكتب في المقابل كل حرف برمجي بأنفسنا في احيانا كثيرة .. سنستخدم سحر الـ RAILS وسننغمس في العمل اليدوي من الصفر FROM SCRATCH .. كل كلمة هي خطوة روتينية لأي مشروع بلغة روبي في هذه السلسلة.

لماذا روبي ؟ ابحث عن روبي (لغة برمجة) في wikipedia "لم استطع ارفاق الرابط بنجاح :-(

انصحك ايضا بقراءة هذا الكتاب سريعا قبل ان تكمل معنا هنا http://librebooks.org/intro-to-ruby/

المتطلبات :

  1. UNIX COMMAND LINE او TERMINAL .. إذا كنت تستخدم اي توزيعة من توزيعات الـ لينكس المجاني بدلا من الويندوز المسروق (غالبا) , فستكون على دراية أولية بهذا المفهوم .. وإن لم يتب عليك الله من الويندوز بعد فهذا الرابط سيطلعك على المزيد من المعلومات عنه هذا الكتاب https://www.google.com.sa/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0CCkQFjAB&url=http%3A%2F%2F111000.net%2Fsystems%2Ffiles%2FThe_Linux_Command_Line-arabic-14.07.pdf&ei=OTJkVcXCLev9ygOc3IOYDQ&usg=AFQjCNGCZAbjZL2nIL1CZtHPHkIZv0H0fQ&sig2=lPuVPrfa8sEwm7w07QNV7g

  2. HTML وهذا الرابط لديه المزيد من المعلومات عن هذه الخلفية http://ar.wikipedia.org/wiki/%D9%84%D8%BA%D8%A9_%D8%AA%D8%B1%D9%85%D9%8A%D8%B2_%D8%A7%D9%84%D9%86%D8%B5_%D8%A7%D9%84%D9%81%D8%A7%D8%A6%D9%82

  3. CSS http://ar.wikipedia.org/wiki/%D9%83%D8%A7%D8%B3%D9%83%D8%A7%D8%AF%D9%8A%D9%86%D8%AC_%D8%B3%D8%AA%D8%A7%D9%8A%D9%84_%D8%B4%D9%8A%D8%AA

  4. حاسوب (يفضل مشغل لينكس )

  5. القليل من الإنجليزية

اذا كنت وبعد قرائتك لهذه المقالات والكتب اولا .. تجد ان الموضوع من الصعوبة بمكان .. إذن .. عليك بأحد هذه الخطوات اولا قبل ان تكمل السلسلة معنا :

  1. كورسات الشهر الواحد (مجانية) https://onemonth.com

اما عن مصادر الإطلاع الأخرى فأنا أرشح:

  1. http://ruby3arabi.com/ روبي بالعربي .. ترشيح شخصي

  2. Code School: Good interactive online programming courses

  3. The Turing School of Software & Design: a full-time, 27-week training program in Denver, Colorado, with a $500 discount for Rails Tutorial readers using the code RAILSTUTORIAL500

  4. Tealeaf Academy: A good online Rails development bootcamp (includes advanced material)

  5. Thinkful: An online class that pairs you with a professional engineer as you work through a project-based curriculum

  6. Pragmatic Studio: Online Ruby and Rails courses from Mike and Nicole Clark. Along with Programming Ruby author Dave Thomas, Mike taught the first Rails course I took, way back in 2006.

  7. RailsCasts by Ryan Bates: Excellent (mostly free) Rails screencasts

  8. RailsApps: A large variety of detailed topic-specific Rails projects and tutorials

  9. Rails Guides: Topical and up-to-date Rails references

إتفاقية:

عندما أتحدث عن الTERMINAL او بوابة الأوامر .. فسيبدو الكود هكذا

$ echo "hello, world"

لن اتحدث عن الروابط بمساراتها الطويلة الأصلية .. ستكون للإختصار / /home/ubuntu/workspace/sample_app/ أو config/environments/production.rb بدلا من /home/ubuntu/workspace/sample_app/config/environments/production.rb

هذا كل ما لدي اليوم .. وغدا لنا بقية