رسالة الموقع

مدخلك لتعلم مسار مبرمج ومطور الويب الشامل

عايز اتعلم برمجة وتطوير الويب بس مش عارف ابدأ منين
عايز اتعلم الـ PHP بس مش عارف المفروض اتعلم ايه قبلها
عايز اعرف الفرق بين مجالات برمجة وتصميم المواقع

Full Stack Web Developer



طيب , نقول باسم الله الرحمن الرحيم , ونجهز كوباية الشاي أو مج النسكافية ☕

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

موقع الويب عبارة عن قسمين رئيسيين

القسم اﻷول مسئول عن مظهر وشكل وتصميم الموقع اللي العميل أو الزائر بيشوفه , وده بنسميه قسم الفرونت إند #Frontend و القسم التاني مسئول عن برمجة الموقع وآلية عمله و إزاي الموقع بيشتغل فعليا , وده بنسميه الباك إند #Backend


لو هنشبه موقع الويب بالسيارة مثلا , هتلاقي إن القسم المسئول عن تصميم شكل السيارة الخارجي و اﻷلوان المتاحة ليها و شكل التابلوه و المرايات و خلافه .. ده قسم الفرونت إند

أما بقى القسم المسئول عن تصميم محرك السيارة و الدوائر الكهربية ليها و عناصر اﻷمان , فده قسم الباك إند

حلو كدا ؟؟

خليني ارجع معاك بالزمن ييجي 10-15 سنة لورا , كان وقتها تصميم الويب مالوش فلسفات كتيرة ولا تفاصيل ضخمة زي اللي موجودة حاليا , فكان طبيعي جدا تلاقي إن الشخص اللي بيشتغل باك إند هو نفسه اللي بيشتغل فرونت إند .. اللهم إلا شغل التصميمات التقيلة اللي كانت بتحتاج مصمم يجيد الفوتوشوب وده مش بالضرورة يكون بيعرف " يكوّد " التصميم بتاعه , فكان اللي بيكوّد التصميم الخارجي هو نفسه اللي بيشتغل باك إند .. كان بياخد شغل الموقع كله برة وجوه .. زي اﻷستاذ زكريا الدرديري في فيلم الناظر كدا 😂


وبعدين ظهر مفهوم اسمه Web2 و ده باختصار شديد كان زي مدرسة فكرية في تصميم مواقع الويب بحيث تكون بسيطة و مفهومة وسريعة التحميل , ويرحمونا بقى من شغل الورود و القرود اللي كانوا قارفينا بيه 🐒

وبعدها ظهرت الحاجة إلى فصل التصميم عن البرمجة , التصميم دلوقتي اصبح علم ليه مدارس وفلسفات و لغات متعددة و تقنيات جديدة فمن الصعب على الشخص الباك إند إنه يواكب تطورات مجاله + تطورات مجال الفرونت إند

قوم بعدين خير اللهم اجعله خير 😅 حصل ما يشبه الصراعات و الخناقات و المشاكسات بين مصممي الفرونت إند و مبرمجي الباك إند ﻹن كل فريق بيشتغل لوحده و متخيل إن الفريق التاني وظيفته إنه يخدّم عليه , ومن هنا ظهرت الحاجة من جديد لشخص يكون دارس باك إند كويس لكنه برضوا مطّلع على تقنيات الفرونت إند عشان يقدر ينسق التعاون بين الفريقين .. أو نرفد الفريقين و سيادته يقوم بالليلة لوحده و أهو نوفر مصاريف 😂😂

الشخص ده بقى هو الـ Full Stack Developer

طيب هل معنى كدا إن الشخص الفول استاك أعلى مكانة من الفرونت إند أو الباك إند ؟؟
مش بالضرورة , ﻹن المصمم القوي أو المبرمج القوي بيقدر يفرض مكانته بسهولة ورأيه بيمشي على الكل طالما مبني على أساس قوي , و الدور الرئيسي للفول استاك إنه يحل مشكلتين فقط .. مشكلة عدم وجود تنسيق بين المصممين و المبرمجين , و مشكلة النفقات .. فمثلا بعض الشركات بتفضّل إنها تعيّن شخص فول استاك ومعاه مصمم فرونت إند و مش بتحتاج مبرمج باك إند متخصص في مجاله

طيب دلوقتي أنت لخبطني و مابقتش عارف اتعلم فرونت إند وألا باك إند وألا كله


شوف , أنت في كل اﻷحوال لو هتشتغل فرونت إند أو باك إند أو عايز تبقى فول استاك لازم حتما ولابد تتعلم اللغات و التقنيات اﻷساسية
HTML - CSS - Javascript - jQuery
دول لازم يكونوا معاك في أي مسار ويب تكمل فيه , مع ملاحظة إن الفرونت إند بيحتاج يحترفهم بشكل أكبر بكتير من الباك إند , لكن برضوا هيفضل الباك إند محتاج يكون عارفهم كويس مش مجرد معرفة سطحية


بعد كدا بقى لو هتكمل في مسار الباك إند تبقى محتاج تتعلم لغة من لغات الباك إند , والخيارات حاليا كتيرة جدا و تحديد اختيارك محتاج مقالة خاصة نتكلم فيها باستفاضة عن اللغات دي , المهم تعرف دلوقتي إن مسار الباك إند محتاج إنك تتعلم واحدة من اللغات دي
PHP - Ruby - Python - NodeJS - ASP.NET
وطبعا في لغات تانية لكن دول أشهر وأهم اللغات اللي في النهاية هتختار واحدة منهم

كمان هتحتاج تتعلم التعامل مع قواعد البيانات وعلى حسب اللغة اللي هتختارها من لغات الباك إند هيكون قدامك مجموعة خيارات لمحركات قواعد البيانات اللي بتدعمهم اللغة دي ( بس الخيارات قليلة قوي , وكما قال الشاعر .. عد غنماتك يا جحا 😂 )

الكلام ده لو هتكمل في مسار الباك إند , أما لو قررت تكمل في مسار الفرونت إند يبقى تكمل كاﻵتي :

هتحتاج تتعلم إطار عمل محترم للـ CSS و أشهر فريم وورك للسي إس إس حاليا هو البوتستراب #Bootstrap , لكنه مش الفريم وورك الوحيد للسي إس إس

كمان هتحتاج تتعلم إطار عمل محترم للجافا اسكربت , والخيارات القوية هنا عددهم تلاتة و المفاضلة بينهم مش محسومة .. التلاتة أقوى من بعض و كل واحد منهم مدعوم من أطراف قوية .. عندك أنجلر Angular اللي بتدعمه جوجل , و ريأكت React اللي بيدعمه الفيسبوك , و فيو Vue اللي ليه دعم قوي جدا من مجتمع مطوري الـ PHP

كمان لو هتكمل في مسار الفرونت إند هتحتاج تتعلم تقنيات مرتبطة بلغة الـ CSS زي إن التصميم يكون متجاوب Responsive , و تقنيات Sass, LESS, أو Stylus

كفاياك يا بوي كفاياك كأبتنا و غمتنا وجبتلنا المرض الخفي
كل دي حاجات هتعلمها .. دا أنا على كدا همسك أول بروجتك وأنا عندي 80 سنة 😭😭

شوف يا سيدي , أنا بحاول أوضح لك مسار التعلم من البداية عشان تكون عارف أنت رايح فين وجاي منين و اتعلمت ايه وفاضلك أيه , ومش لازم أبدا تتعلم الحاجات دي كلها عشان تبدأ شغل .. في الواقع معظم اللي شغالين حاليا مش معاهم كل اللغات و التقنيات دي .. واقولك التقيلة بقى .. منهم اللي ما سمعش عن بعض التقنيات دي 😈😈


لو في معلومة عايزك تطلع بيها من الرغي اللي فوق ده كله هتكون اﻵتي :


- سمّي الله
- اتعلم HTML و بعدها CSS و بعدها Javascript ثم jQuery
- خد نفس عميق و حدد أنت مهتم أكتر بأي مسار من مسارات الويب فرونت وألا باك
- لو فرونت إند كمل مع البوتستراب ثم اختار فريم وورك للجافا اسكربت
- لو باك إند اختار لغة من لغاته + قاعدة بيانات و ذاكرهم كويس

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



بعد كدا لو عايز تتعمق أكتر و تدرس أكتر في مجالك يبقى كاﻵتي :


- لو فرونت إند يبقى تقنيات SASS, LESS
- لو باك إند يبقى تدرس فريم وورك قوي ( لو اللغة اللي اخترتها فيها الخيار ده ) أو تدرس لغة تانية من لغات الباك إند أو محرك قواعد بيانات تاني
- في الحالتين بقى فرونت إند أو باك إند في شوية تقنيات مشتركة كدا هتخليك محترف جدا في مجالك , زي Git, Version Control, Unit Testing, Debugging

وأهم نصيحة , تابع الجديد في مجالك باستمرار .. وبالتوفيق مقدما 😀

المشاركات اﻷكثر تفاعلا