
ماذا يقصد بتصميم وتطوير المواقع ؟
تصميم المواقع كمصطلح عام عادة يقصد به عملية تخطيط وتنفيذ محتويات الموقع الإلكتروني. وتشمل تصميم الجرافيك وتصميم تجربة المستخدم (UX/UI) والبرمجة وكتابة المحتوى وتحسين الموقع لمحركات البحث .
يمكن أن يكون الموقع الإلكتروني ذو محتوى ثابت static web حيث يحتوى على نصوص وصور وروابط ، ويمكن أن يشمل محتوى تفاعلي (Dynamic) يتم التحكم به عن طريق أنظمة إدارة المحتوى أو أنظمة معقدة وخدمات أو ما يسمى بواجهات برمجة التطبيقات APIS و شبكات التواصل الاجتماعي .
يتم عادة تصنيف مبرمجي ومصممي المواقع إلى :
- Front-End.
- Back-End.
- ومن يجمع بينهما يسمى Full-stack.
مطور الواجهات الأمامية Front end (مصمم الويب)
في هذا الجزء يقوم المطور بالتعامل مع الواجهات التي يتعامل معها المستخدم و التي تظهر على المتصفح أو ما يسمى بجانب العميل client side . وقد يسمى مطور الواجهات الأمامية بمصمم الويب. حيث يتحمل المسئولية عن مظهر الموقع وتصميمه وترتيب ظهور المحتوى من صور وخطوط والوان والتنقل بين الصفحات. وفي التطبيقات التفاعلية قد يتحمل مسئولية تحديث البيانات أثناء تغيرها في الوقت الفعلي على السيرفر .
الأدوات والبرامج التي يستخدمها مطور الواجهات الأمامية :
عادة ما يستخدم مصمم الويب برامج التصميم التي من خلالها يقوم بعمل مخططات وتقسيمات الموقع الإلكتروني وصفحاته قبل البدء ومن ثم يقوم بتحويلها إلى تصميم ثابت باستخدام برامج التصميم مثل Adobe Xd أو حتى باستخدام Photoshop , illustrator وغيرها من البرامج الأخرى .
ومن ثم يقوم بتحويل التصميم إلى اكواد يفهمها متصفح الويب (برنامج التصفح مثل chrome , Firefox ) وهنا يتم استخدام عادة محرر نصوص برمجية لكتابة أكواد HTML , CSS , JavaScript .
مطور الويب أو back end developer
يتعامل مطور أو مبرمج الواجهات الخلفية مع كل ما له علاقة بالبرمجيات التي يتم تنفيذها على السيرفر من كتابة التعليمات البرمجية والإتصال بقواعد البيانات وخدمات الويب التي تهتم بإدارة وتخزين المحتوى أو التواصل مع نظام التشغيل على السيرفر .
الأدوات والبرامج التي يستخدمها مطوري Back end :
بالطبع مبرمجي الويب يستخدمون محرر نصوص لكتابة الكثير من الرموز والأكواد باستخدام اللغات المخصصة لهذا الغرض مثل Python و Java و PHP و Ruby وغيرها .
مفاهيم ومصطلحات متعلقة :
الموقع الإلكتروني website
عبارة عن مجموعة من الملفات موجودة على مساحة تخزين يمكن الوصول إليها عبر اسم معين أو عنوان. وهنا عادة ما نشير إلى مساحة التخزين بالاستضافة (hosting) والتي عادة يقدمها المستضيف مالك السيرفر. الاسم أو عنوان الموقع يشار له عادة باسم النطاق Domain Name .
HTML (( Hyper Text Markup Language :
عبارة عن لغة ترميز وتوصيف يفهمها المتصفح تستخدم لبناء هيكل صفحات الويب ومحتوياته الرئيسية .
CSS (Cascading Style Sheet) :
لغة توصيف يتم من خلالها كتابة أكواد تكون مسئولة عن التحكم بتصميم صفحات الويب من ألوان وخطوط واحجامها وأماكن تموضعها داخل الصفحة وعمل تأثيرات جمالية على الصفحة .
JavaScript :
لغة برمجية محمولة يتم تنفيذها على المتصفح للتحكم بالمحتوى ديناميكياً والتفاعل مع العمليات التي يقوم بها المستخدم وهي لغة سكربت شهدت الكثير من التغييرات التي أتاحت للمبرمجين إستخدامها ايضاً على السيرفر كلغة Back-end .
أنظمة التحكم بالنسخ VCS (Version Control System) :
عبارة عن أداة مصممة لحل مجموعة من المشاكل التي تواجه المبرمجين. ويعمل نظام التحكم بالنسخ على تتبع التغييرات التي تطرأ على الاكواد البرمجية وتسجيل تلك التغييرات في ملف أو مجموعة ملفات مما يتيح للمطورين معرفة التعديلات التي حدثت ومن قام بها والتراجع عنها إذا لزم الأمر. وأشهر هذه الأنظمة هو git .