المقالة السابقة: كيف تحدد مسار في البرمجة وما هي جميع المسارات

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


أولاً أحب أن أقول لك أنك ستجد في المقالة لغات برمجة وتقنيات كثيرة ومسارات متفرعة ولكن هذا لا يعني انه يجب عليك أن تقوم بتعلمها جميعها وبإذن الله سيتضح لك في المقالة الحالية والسابقة والقادمة كيف تختار التقنيات المناسبة لك.

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

أنواع الويب Web Types

أي صفحة في المتصفح تسمى Web Page صفحة ويب وهذه الصفحة تتبع أحد أربعة أنواع من أنواع تصنيفات المواقع الأساسية، فإما يكون Static Website موقع إلكتروني ثابت أو Dynamic Website موقع إلكتروني تفاعلي أو Web Application تطبيق ويب أو Web API واجهة تطبيقات برمجية.

الفروقات بين كل نوع من أنواع الويب بشكل واضح
  1. Static Website موقع إلكتروني ثابت يكون مجموعة صفحات بمحتوى ثابت ويمكن أن يكون مجموعة صفحات تتصفحها بدون نظام يخدم إدارة هذه الصفحات أو وجود حتى عضويات.

  2. Dynamic Website موقع إلكتروني تفاعلي عبارة عن موقع أكثر تفاعل من المواقع الثابتة حيث يمكن وجود لوحة تحكم وعضويات وتفاعل العضو مع قاعدة البيانات الموجودة في السيرفر وهكذا وتسمى كذلك بأنظمة الويب Web System وهناك أنواع متعددة من أنظمة الويب ومنها نظام إدارة محتوى Content Management System ويختصر بـ CMS ونظام متجر إلكتروني eCommerce System ونظام تخطيط موارد المؤسسة Enterprise resource planning ويختصر بـ ERP ونظام إدارة علاقات العملاء Customer Relationship Management ويختصر بـ CRM والمزيد من الأنظمة.

    كما هو مهم التركيز بتحديد مسار كذلك لنظام محدد ويمكن تنفيذ النظام اما بتطوير نظام جديد من قبل فريقك أو باستخدام أحد أشهر الأنظمة التي طورتها شركات عالمية مثلاً في CMS نظام إدارة المحتوى أشهر الأنظمة العالمية Wordpress و Drupal و Sharepoint أو في أنظمة المتاجر أشهرها OpenCart و Magento و WooCommerce أو أحد أنظمة ERP وأشهرها Oracle ERP أو SAP ERP أو Odoo ERP، وبعض أنظمة الويب المطورة إما تكون مفتوح المصدر Open Source مما يعني يمكن التطوير عليه بشكل كامل، وبعض الأنظمة غير مفتوحة المصدر ولا يمكن التعديل عليها ولكن يمكن التطوير عليها حسب ما يتيح مطور النظام من امكانيات، كما يمكن التركيز بمسار فرعي ببعض الأنظمة التي تحتوي على أنظمة فرعية ووظائف مختلفة مثل الأنظمة الفرعية في Oracle ERP يتفرع منه نظام فرعي موارد بشرية Human Resources ونظام فرعي مالي Financial ونظام فرعي تموين Supply Chain … وهكذا وكل منها يوجد مختصين وخبراء بالتطوير وبمجال الأعمال الخاص بهذه الأنظمة الفرعية كرسوا خبرتهم على مدى سنوات لفهم وتحليل الأعمال وإدارة المشاريع عليها ورغم انه يسمى نظام فرعي من ERP إلا أنه أكبر من بعض الأنظمة مثل نظام إدارة محتوى أو غيره، وأيضاً بالنسبة للوظائف ففي الجهات الكبرى هناك أحياناً تكون وظيفتين في ERP وهما Functional المتخصص بتحليل الأعمال وتشغيل المشروع وكذلك Technical المتخصص بالتطوير التقني لاحتياجات التحليل والتشغيل مثل النماذج والتقارير وغيرها.

  3. Web Application تطبيق ويب فيه مزايا تجعله أقرب للتطبيق أكثر من التنقل بين صفحات الانترنت لتصفح الموقع فهو يشبه تطبيقات الأجهزة الذكية في تجربة المستخدم User Experience ولكنه يعمل على المتصفح مثل تويتر وانستقرام (بالمتصفح) بينما ليس ذلك للسناب شات وكذلك مثل تطبيقات الويب المكتبية من Google مستندات جوجل وغيرها.

  4. Web API واجهة تطبيقات برمجية وهو عبارة عن وسيلة للتواصل والتكامل بين مختلف الأنظمة إما باستقبال بيانات أو ارسال بيانات وأشهرها REST والتي تتكون من طرق Methods أو أفعال Verbs تتحكم بنوع التفاعل أهمها (GET, POST, PUT, DELETE) ويتم معالجتها من خلال السيرفر ويمكن التحكم بصلاحياتها من قبل منشأ الـ API، وهو له أهمية كبيرة جداً حالياً للحاجة القوية لتكامل المشاريع التقنية وكذلك لاستخدامها من خلال تطبيقات الأجهزة الذكية بشكل أساسي وأصبحت تستخدم في المواقع أكثر حتى يتم بناؤها مرة واحدة واستخدامها في أي شيء سواءً موقع أو تطبيق وأي مشروع تقني آخر.

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

الجانبين من الويب
Two Ends of the Web

  1. Back-end الجانب الخلفي تقنيات يتم تطويرها بحيث يتم تشغيلها بالسيرفر مثل لغات البرمجة التي تعتمد على بناء البنية الأساسية والمنطق الخاص بالموقع مثل تنفيذ عملية تسجيل عضو.

  2. Front-end الجانب الأمامي تقنيات يتم تطويرها بحيث يتم تشغيلها في جهاز العميل من لغات وصفية HTML وتنسيقية CSS أو برمجية JavaScript وتعتمد على بناء الواجهات وعناصر الصفحة أو عناصر التفاعل مع السيرفر التي يتم من خلالها الاتصال بالسيرفر، بحيث أن عناصر الصفحة مثل عنوان الصفحة والفقرات وعناصر القوائم النصية والمرقمة… الخ هذي عناصر هي عناصر الصفحة بينما العناصر التفاعلية هي مثل نموذج تسجيل عضو والحقول النصية وزر التسجيل وكذلك الأزرار الموجودة في الصفحة التي تستدعي عنوان صفحة أخرى أو أي عنصر ثابت تم تحويله إلى عنصر تفاعلي باستخدام لغة البرمجة JavaScript.

الجانب الخلفي مثل المطبخ
والجانب الأمامي مثل طاولة الطعام

الجانب الأمامي Front-end
يعمل على بناء وتطوير المشروع بما هو معطى من مصادر التصميم وتجربة المستخدم UI/UX وبناء الواجهات للموقع وتفاعله اعتماداً على برمجيات السيرفر المتاحة من الـ Back-end

الجانب الخلفي Back-end
يعمل على بناء بنية المشروع البرمجي وتطوير عمليات السيرفر مثل ارسال واستقبال البيانات لتوفيرها للـ Front-end أو عمليات آلية تخدم المشروع أو حماية المشروع برمجياً وغيرها