بصراحة منذ مدة وأنا أريد تعلم كيف أطور موقع خاص بي وعرفت أنه هنالك Back end وFront end فأنا أريد أن أعرف هل هنالك طريقة بعد أن أتعلم ال Back end و ال Front end للربط بينهما ليصبح الموقع كامل لأني دخلت وبحث عن شروحات في اليوتيوب وأيضا في المواقع فلم أجد شرح لطريقة الربط بينهما فأنا خايف أن أتعلمهما وفي النهاية لا أعلم طريقة الربط بينهما فأرجو إذا كان عندكم مقطع أو موقع عربي يشرح الأمر أن تعطوني إياه أو إخباري عن الطريقة
أريد مساعدة للبدأ في تطوير المواقع
السلام عليكم و رحمة الله تعالى و بركاته
بما أنك تعلم أن الموقع يتكون من واجهة أمامية (frontend) الواجهة الرسومية , أي الأزرار و النصوص و التقسيمات و الصور و الصفحات ..إلخ , التي تستطيع تعلمها بتعلمك :
HTML
CSS
JAVASCRIPT
و يتكون من واجهة خلفية (Backend) الواجهة الخطوات المنطقية التسلسلية , التي فيها تقع الأكواد التي تخبر ماذا يقوم الزر بعد الضغط عليه مثلا و ما إلى ذلك و لتعلمها إختر إحدى لغات المختصة في الواجهة الخلفية مثل:
Php
Ruby
Python
Node.js
Golang
... Etc
و بعد أن تتعلم إحدى هذه اللغات و تتعلم كيفية إنشاء سيرفر بها و إستقبال الطلبات (Requests) و توجيه الزائر .. الآن بقي أن تتعلم إحدى قواعد البيانات العلائقية مثل Mysql , أو الغير علائقية مثل Mongodb .. و هكذا يصبح لديك موقع كامل .
الآن بالعودة لسؤالك لكيفية ربط الواجهة الأمامية بالخلفية :
أولا عندما تقوم بإنشاء صفحات الأماميةالثابتة (مثلا صفحة الموضوع مثل هذه التي نحن فيها الآن و مثلا صفحة أخرى تعرض فيها كل المواضيع و صفحة أخرى للبروفايل) , أصبح لدينا الآن مجموعة صفحات لكنها غير مربوطة بالBackend , تقوم بوضعها بداخل مجلد بالواجهة الخلفية مثلا Views ثم تقوم فتح هذه الصفحات و تغيير الأشياء الغير ثابتة بالمتغيرات , مثلا في صفحة الموضوع كان هنالك موضوع عنوانه "طريقة التسجيل في حسوب للمبتدئين" فنضع مكانه متغير ليصبح هكذا "postTitle" ثم مكان إسم الكاتب نضع متغير آخر و ليكن "author" و مكان الموضوع نضع متغير "postBody" و مكان الصورة نضع "postPicture" .. في الأخير عندما يقوم مستخدم بطلب موضوع ما سيصل للسيرفر معلومات عن الطلب بأن مستخدم ما طلب موضوع عنوانه "طريقة التسجيل في حسوب للمبتدئين" و id الموضوع هو رقم 22 , فيقوم السيرفر بالبحث في قاعدة البيانات عن الموضوع رقمه 22 , يأتي بجميع معلوماته أو بعضها و يقوم بإرسالها داخل صفحة الموضوع التي فيها المتغيرات فيقوم بتعويضها و إرسالها للسيرفر .
و في الأخير هذه المراحل أنت من تقوم ببرمجتها و هي سهلة جدا .
أهلاً صديقي هذا الموضوع قد يُفيدك بعض الشيء ... حاول قراءة تعليقاته
أيضًا يجب أنّ تعرف الفرق بين تطوير الواجهات الخلفية (backend)؟ وما الفرق بينه وبين تطوير واجهات المستخدم (frontend)؟ الفرق بينهما هو أن الواجهات الخلفية هي البرمجيات التي تُنفَّذ على الخوادم وتجري عمليات عليها مثل التعامل مع قواعد البيانات والملفات والخدمات الخارجية، أما واجهات المستخدم فهي الصفحات التي تظهر على شاشة الزائر في متصفحه.
بخصوص الـ فرونت ايند
على حسب فهمي للأمر يجب أنّ تكون مُلم بـ صناعة الـ Prototype حيث من المُمكن أنّ تساعدك على توفير نظرة أفضل حول البرمجية، والألوان، والأشكال قبل الشروع في تصميم البروجكت، وعلى سبيل المثال الـ UI , UX, XD, CX, IxD, IA و الـ SD,CD,DD هذا كبداية... أما إذا كنت تريد انشاء تصاميم بسيطة فليس من الضروري تعلمها، ولكن فهم الاساسيات بشكل مُبسط يكفي في هذه الحالة، أما في حالة كنت تريد العمل مع شركات كُبرى، فيجب أنّ تكون مُلم ببعضها على الأقل وخصوصًا الـ UI, UX.
تعلم الجيكويري في بدايتك، فهو أمر جيد، ومفيد لأنها تختصر عليك كتابة كود Vanilla Javascript و تجعله أكثر تحسينًا.. من بعد تعلمها حاول الإنتقال لـ Angular او React، وبعد التعود على الـ Front-end يُمكن الإهتمام بشكل بسيط حول إطارات أخرى مثل Ember.js او Polymer او Backbone.
بعد فعل هذه الأمور حاول تعلم الـ Automation حيث هذا يعتبر نصف الطريق، لأنّ تجهيز الـ Directory الخاص بالمشروع أمر مهم جدًا لأي صاحب مشروع أو شركة لأن التنظيم يلعب دورًا مهمًا للغاية، وبشكل كبير
في النهاية تعلم الـ Collaborative Work و الـ Version Control حيث ستساعدك في حل مشكلة العمل التشاركي او Collaborative Work، وستساعدك على التعامل مع الـ Version Control ... وكل التوفيق صديقي
ويوجد هنا دورة اكاديمية حسوب سوف تُفيدك جدًا في الأمر
والباقي جاوبك عليه Salsa Project
وكل التوفيق صديقي ...
التعليقات