بالتاكيد عندما تقرر تعليم البرمجة والغوض في مجال تطوير مواقع الويب سيآتي ببالك بعض الاسئلة من نوعية كيف اصبح مطور ويب؟ من أين أبدأ ؟ من أين أتعلم ؟ كل هذه الأسئلة تدور فى رأسك عندما تفكر ان تبدأ فى تطوير الويب وبطبيعه الحال ستحتاج إلي إجابة عليها، لذلك دعوني في هذا المقال أن أستعرض معكم الاجابة علي تلك الاسئلة وكيف تسير فى الأتجاه الصحيح لتعليم تطوير الويب بطريقة صحيحة وسهلة وذلك من خلال بعض النصائح التي سوف نطلع عليها في هذا الموضوع للأستفادة منها في رحلتك في عالم البرمجة.
مقال من كتابة مروان شعبان ضمن مسابقة تدوينة رمضان 2016
في البداية سوف نُجيب علي سؤال هل انتهى عصر تطوير الويب ؟
فمع انتشار الاجهزة الذكية على حساب الحواسب التقليدية تناقص الأهتمام بمواقع الويب وأعتقد البعض ان تعلم تطوير الويب من صيحات الموضة القديمة!! هل هذا صحيح ؟
إذا كنت تظن ذلك فأنت مخطئ تماما. حيث مع تقديم مفهوم الحوسبة السحابية والاعتماد عليه بشكل كبير عادت هيبة تطوير الويب من جديد. ولا يمكن اعتبار السبب السابق هو وحده من أعاد تطوير الويب إلى الواجهة، بل أن تقنيات تطوير الويب الحديثة ساهمت بشكل كبير لدرجة أن لغات تطوير الويب أصبحت تستخدم في تطوير تطبيقات للأجهزة الذكية وهو ما سأتحدث عنه فى فقرة من فقرات هذا المقال.
والأن بعد أن توضحت لنا الأمور سوف ادخل بأساس الموضوع وهو كيف أصبح مطور ويب ؟
• فى بداية الأمر اذا اردت تهتم بمجال تطوير الويب فيجب عليك ان تعلم أنه ينقسم الى قسمين
1- لغات مسئولة عن واجهة الموقع التى يراها المستخدم ويطلق ليها Client Side أو Front End وهى لغات (Html , Css , Java Script) وهى يتم تنفيذها على جهاز المستخدم.
2- لغات مسئولة عن نظام وطريقة عمل الموقع ويطلق عليها Server Side أو Back End وهى لغات (Php , Python , Ruby ,....... , Asp.net) وتعمل على معالجة المعلومات واستقبالها من واجهة الموقع وهى بحد ذاتها بحر منفصل وواسع.
الاجابة على هذا السؤال بسيطة جدا وهى ربط الجهتين معا . وكيف ذلك ؟
1- Client Side يجب ان تتعلم Html فهى هيكل الصفحة وهي المسؤول عن ظهور صفحة الويب وتموضع العناصر الموجودة بها . من خلال هذه اللغة تتعرف على الأقسام الرئيسية لكل صفحة ويب و كل قسم يحتوى على مجموعة من الوسوم الخاصة به.
بعد أتقان Html يجب عليك تعلم لغة Css لتنسيق عناصر صفحة الويب ومن خلالها يمكنك التحكم بخصائص كل عنصر بدئا من لونه و طريقة تموضعه فى الصفحة الى خصائص كثيرة جدا . وبعد ذلك يأتى دور Java Script و مكاتبها و هى تكمل اللغات السابقة وهى لها استخدامات كثيرة جدا بداية من اظهار رسائل للمستخدم فى الصفحة ثم الى برمجة تطبيقات الويب وسطح المكتب والهواتف المحمولة وهى لها استخدامات كثيرة جدا لا يمكن احصائها فى هذا المقال.
2- Server Side بعد اتقانك لللغات السابقة يجب عليك تعلم احدى لغات برمجة ال Server Side وانصحك بلغة Php لأن لها دورات متوفرة بكثرة .هذه اللغات تمكنك من انشاء موقع ويب تفاعلى ويمكنك الأطلاع على لغات البرمجة المستخدمة فى أشهر مواقع العالم من هذا ( الرابط ).
أين تخزن البيانات التى ادخلها فى المواقع ؟
هل سبق لك أن سجلت فى موقع معين وتسألت أين تذهب البيانات! وكيف يتحقق الموقع منها عندما تسجل دخولك ! وعلى سبيل المثال موقع فيس بوك يحتوى على ازيد من مليار مستخدم وبريد Gmail من جوجل . فيجب توفر وسيلة لتخزين البيانات عليها وهنا يأتى دور قواعد البيانات فهى الوسيلة المفضلة لتخزين البيانات أيا كان حجمها وتتوفر امام المستخدم انواع كثيرة من قواعد البيانات أهمها MySQL و MySQLI يستخدمان فى Php وSQLServer من مايكروسوفت ثم SQLite التى تستخدم فى تخزين البيانات فى الهواتف الذكية وأخيرا MongoDB و MariaDB .
هل يمكننى تطوير تطبيقات للهواتف الذكية بلغات تطوير الويب ؟
نعم يمكنك تطوير تطبيقات اندرويد بلغات تطويرالويب وهنا سوف اتحدث عن Javascript التى سوف تستطيع بها تطوير تطبيقات اندرويد ولكن انصحك ب NativeScript لانها تعطيك تطبيق Native .
1- منصة NativeScript: تمكنك من إستخدام javascript و xml وCss لتطوير تطبيقات هواتف لأكثر من منصة في نفس الوقت.
2- منصة PhoneGap: هى من انتاج شركة Adobe وهى طريقة سهلة لأنشاء تطبيقات اندرويد و ios بأستخدام html و css و javascript .
3- منصة Cordova: تستخدم html و css و javascript لأنشاء تطبيقات على جميع المنصات بكود واحد.
من أين أبدأ؟
• لأجابة على هذا السؤال بسيطة جدا وهى كالأتى:
يجب ان تتعلم (Html , Css) ثم بعد ذلك (Html 5 , Css 3) ولا تقلق هذه ليست لغات جديدة بل بعض التحسينات والتحديثات لهما ثم بعد ذلك عليك بأنشاء تصميمات وفتح المواقع الكبيرة وتقليد التصميمات التى بها حتى تتعلم ثم بعد ذلك يأتى الدور على تعلم Java Script ثم تعلم Jquery لكى تجعل موقعك تفاعلى ومتجاوب مع المستخدم وهذه ليست لغة اخرى بل مكتبة جافا سكريبت ثم تبدأ بتعلم ال Bootstrap وهو أشهر اطر العمل الجاهزة يعتمد على (Html , Css , Js) ثم بعد ذلك عليك بتعلم احدى لغات البرمجة الخاصة بال ServerSide وأنصحك بال Php ثم تعلم SQL لتتعامل مع MySQL.
إذًا من أين أتعلم ؟
سأختصر عليك الطريق وأضع لك افضل الدورات المتوفرة لهذه اللغات:
1- Elzero Web School: هى قناة عربية تهدف الى تعليم لغات وتقنيات الويب المختلفة وهى افضل قناة عربية تشرح لغات برمجة الويب وتجد بها شروحات رائعة جدا للأساسيات والمواضيع المتقدمة فى (Html ,Css ,Php , Javascript ,jquery , ………….,bootstrap).
2- TheNewBaghdad: قناة تعليمية متخصصة في تعليم كل مايخص عالم التقنية من لغات برمجة وامن معلومات بشكل مجاني وعالي الجودة وبها شروحات للغات السابقة بالأضافة الى تقنيات الجافا سكريبت.
3- Hamid Oumoumen: قناة تعليمية تابعة لمدونة أكاديميتي تهتم بتدريس لغات برمجة و تصميم المواقع
(html , css , php , mysql , javascript , jquery).
4- موقع w3schools: هو موقع تابع لمنظمة ال w3 العالمية وسوف تتعلم وتطبق ما تعلمته داخل الموقع وهو موقع سوف تستطيع التعلم منه بسهولة نظرا لطرحه المواضيع ببساطة وسهولة شديدة.
5- موقع Codecademy: بالطبع لا يمكن اعتبار المصادر السابقة كافية للتعلم وإن صحّ التعبير لا يمكن اعتبار أي مصدر على أنه منبع كافٍ، لذا أنصحك وبشدّة زيارة codecademy الذي يوفر مصادر لتعليم تطوير الويب مجانًا.
ماذا أفعل اذا واجهتنى مشكلة ؟
اذا واجهتك مشكلة لا تقلق … لا اقلق وانا اواجه مشكلة ؟ نعم لا داعى للقلق لانه يوجد مواقع سوف تجد بها الحلول للمشاكل التى تواجهك فلا يوجد مبرمج يلِم بكل مجاهيل اللغات المختلفة وانا سوف اقدم لك أفضل المواقع:
1- موقع Stackoverflow: يمكنك طرح مشكلتك وستجد مبرمجين يقدمون لك الحل.
2- موقع Quora: ستجد في هذا الموقع إجابات من خبراء البرمجة وتطوير البرمجيات حول العالم.
3- موقع io hsoub: موقع عربى يمكنك مناقشة مشاكلك وسوف تجد الحلول .
4- موقع Reddit: يمكنك بسهولة إضافة سؤال فى هذا الموقع وهناك تصنيف خاص بالمبرمجين.
نصائح لتتعلم البرمجة بالشكل الصحيح
1- التعلم سوف يأخذ وقتا وهنالك الكثير ليتم استيعابه اذا حاولت بناء موقع كامل من اليوم الاول لن تصل الى نتيجة ولكى تتجنب الأحباط ابدأ بحل مشكلة صغير ثم تدرج فى الصعود من ذلك.
3- اختر لغة برمجية ترتاح لها.
4- اتقن أساسيات اللغة التي اخترتها.
5- ستواجه مشاكل كثيرة لكن انصحك بالبحث فى جوجل قبل ان تسأل عن حل لها واذا يأست من اول مشكلة فلن تتعلم اى شئ.
وفى الختام أتمني أن تكون قد وضحت لك الصورة بعض الشئ عن ذلك العالم الممتع الذي ربما لو دخلت فيه لتغيرت حياتك آلاف المرات للأفضل فصفحات الويب هي المستقبل في وقتنا الراهن وتعلم الأساسيات ومواكبة آخر التطورات يقع على عاتقك لتكون من بين نخبة مطوري الويب في الوطن العربي وفى نهاية المقال اتمنى ان يعجبكم وتستفيدوا منه ويعم عليكم بالفائدة.