ما هو تطوير الويب؟ .. ومن أين تبدأ؟

تطوير الويب (باللغة الإنجليزية: Web development)، هو مصطلح يشير إلى إنشاء مواقع الويب وصيانتها وتطويرها.

يشمل ذلك العديد من الجوانب مثل تصميم الموقع ونشره على شبكة الإنترنت وبرمجته وإدارة قواعد البيانات الخاصة به.

وهكذا يمكن تعريفه اختصارا بإنه إنشاء تطبيق أو موقع ويب يعمل عبر الإنترنت.

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

تخصص تطوير الويب
من أسعد اللحظات في حياة أي مبرمج يعمل في تطوير الويب، هي تلك التي ينجح فيها في إطلاق موقعه أو تطبيقه الأول في مسيرته، صورة بالذكاء الاصطناعي من مايكروسوفت copilot، خاصة بالمعرفة للدراسات.

إذا نظرنا إلى مصطلح (تطوير الويب) سنجدها تتكون من مصطلحين مختلفين هما:

  • تطوير Development: وتشير إلي بناء التطبيق أو الموقع من الصفر.
  • الويب Web : وتشير إلي مواقع الويب أو الصفحات أو التطبيقات التي تعمل عبر الإنترنت.

ماذا تحتاج لتعلم تطوير الويب؟:

لتتعلم تطوير الويب فأنت لا تحتاج إلا عقل يعمل، وجهاز متصل بالإنترنت لا شئ أكثر من ذلك كبداية على الأقل.

من ثم، لابد أن تتعلم البرمجة والتي تعرف أيضا باسم (الترميز) والتي تعني ببساطة انشاء تعليمات يمكن للكمبيوتر أو الهاتف أو أي جهاز إلكتروني آخر أن يفهمها، على اعتبار أن الأجهزة لا تفهم سوي الترميز الثنائي فقط والمكون من رقمي 0 , 1.

وأن هذه التعليمات تكتب بلغات تسمي (لغات البرمجة) وهي لغات يفهمها الكمبيوتر .. ومن أشهرها Python أو JavaScript أو C++.

وأنها مثل اللغات التقليدية (العربية والإنجليزية والفرنسية وغيرها) لها قواعدها الخاصة في بناء الجملة، تماما مثل علم النحو في اللغة العربية وال Grammar في اللغة الإنجليزية.

بل وحتى أنها تختلف في الشئ الذي تستخدم من أجله، إذ تظل JavaScript هي المفضلة في بناء المواقع، فيما تكتسب Python شعبيتها في مجال تحليل البيانات، أما لغة Bash فتتخصص أكثر في أنظمة التشغيل.

لابد أن تفهم كل هذا حتى تستطيع كتابة الجمل والأكواد بشكلها الصحيح.

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

فأنت تقوم بالحديث إلي الجهاز في صورة (إدخال بيانات) ثم يعالج الجهاز هذه البيانات ويقوم بالرد عليك في صورة (إخراج البيانات).. فعندما تعطيه أكواد لازمة لإنتاج لعبة مثلا، فأنت ستتلقي منتجك على الشاشة في صورة جديدة هي اللعبة التي فكرت فيها.

قد تشعر بالقلق في البداية وأن المسألة معقدة، هذا شعور طبيعي ويمكنك التغلب عليه بالتعلم والخبرة، وبمرور الأيام ستجد نفسك جزء من تطوير الويب، تنشئ المواقع، وتطلق التطبيقات وحتى الألعاب.

لكن الشيء الأساسي الذي تكتشفه الآن أنك تحتاج لتعلم تطوير الويب بجانب عقلك واتصالك بالإنترنت، أن تتعلم لغة على الأقل من لغاتها، كي تتواصل هذه المرة ليس مع البشر بل مع أجهزة.

في الطريق إلي ذلك لابد أن تقف وتسأل ما هي الأدوات التي يستخدمها المبرمجين؟.. بالطبع أهمها ((المحررات)).

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

بخلاف ذلك فهي مكان جيد للغاية من أجل اكتشاف الأخطاء وإصلاحها.

كذلك يتوجب عليك أن تعرف كيف تفكر بطريقة تلائم عملك كمبرمج، فالبرمجة بكل تأكيد ليست عملا تقليديا، ومن يزاولها ليس شخصا عاديا، ((يمكن في هذا الصدد الإطلاع على تقريرنا: كيف تصبح مبرمج محترف؟)).

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

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

وسنقدم هنا مثالين تستخدمهما شركة مايكروسوفت في دورتها لتعليم البرمجة للمبتدئين، وبالتحديد لتوضيح الفارق بين لغة عالية المستوي مثل JavaScript ولغة منخفضة المستوي.

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

معلومة على الهامش: متتالية فيبوناتشي هي متتالية رياضية يكون أي رقم فيها مساويا لمجموع الرقمين السابقين عليه.

مثال: (0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21).

مثال بلغة جافا سكريبت:

let number = 10
let n1 = 0, n2 = 1, nextTerm;

for (let i = 1; i <= number; i++) {
    console.log(n1);
    nextTerm = n1 + n2;
    n1 = n2;
    n2 = nextTerm;
}

مثال بلغة منخفضة المستوي:

area ascen,code,readonly
entry
code32
adr r0,thumb+1
bx r0
code16
thumb
mov r0,#00
sub r0,r0,#01
mov r1,#01
mov r4,#10
ldr r2,=0x40000000
back add r0,r1
str r0,[r2]
add r2,#04
mov r3,r0
mov r0,r1
mov r1,r3
sub r4,#01
cmp r4,#00
bne back
end

ونظن الآن أن الرسالة قد وصلت حتى بالنسبة لمن يري كود برمجة لأول مرة في حياته.

كذلك من المهم أن يكون المبرمج عارفا بأهمية أشياء مثل: ((التحكم في التدفق)) و ((معالجة الأخطاء)).. إنهما المعيار الذي يضمن لك تشغيل الموقع أو التطبيق بكفاءة.

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

وأما معالجة الأخطاء فمن مسماها يتضح أنها تتعلق بمعالجة أي خطأ قد يظهر أثناء تشغيل التطبيق أو الموقع، وهو أمر يحدث للجميع، مهما كانت دقة العمل عند كتابة التعليمات البرمجية.

ما هو عمل مطور الويب؟:

يمكن تقسيم عمل مطور الويب إلى قسمين:

القسم الأول: تطوير الواجهة الأمامية أو Frontend Development:

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

وهو الجزء الذي يراه ويتفاعل معه المستخدم للموقع أو للتطبيق بشكل مباشر ويطلق عليه الواجهة الأمامية أو (front end)، كما يشار إليه أيضًا بأنه الجانب الخاص بالعميل أو (client side).

وفي هذا الشق من عمل مطور الويب نجد هناك العديد من التقنيات المستخدمة مثل:

  • لغة HTML:

ويقصد بها (لغة ترميز النص التشعبي)، ويتم استخدامها في تصميم الجزء الأمامي من صفحات الويب من خلال استخدام لغة الترميز (يقصد بلغة الترميز نظام لوصف البيانات لكل من البشر والحواسيب والبرامج، حيث تستخدم رموز معينة للتعبير عن بيانات معينة).

بهذا المعني فإنه وباستخدام لغة HTML يتم تصميم الهيكل الأساسي لموقع الويب.

  • لغة CSS:

إنها لغة (أوراق الأنماط المتتالية) وهي لغة مصممة ببساطة، والغرض منها هو تسهيل عملية جعل صفحات الويب من مجرد رموز إلى صفحات قابلة للعرض، وتستخدم أيضا لتصميم المواقع على الويب.

  • جافا سكريبت JavaScript:

تعد JavaScript لغة برمجة تستخدم لمنح الديناميكية لمواقع الويب.

  • بوتستراب Bootstrap:

بوتستراب هي عبارة عن مجموعة أدوات مجانية ومفتوحة المصدر لإنشاء مواقع الويب والتطبيقات التي تتميز بالسرعة والاستجابة العالية.

وتعد بوتستراب أشهر تطبيقات استخدام لغة CSS التي أشرنا إليها لتطوير مواقع الويب السريعة والملائمة أساسا للهواتف الذكية.

بفضل (بوتستراب) أصبحت المواقع الإلكترونية في الأنترنت اليوم ملائمة لجميع أنواع المتصفحات (جوجل كروم، فايرفوكس، أوبرا .. وغيرها)، ولجميع أحجام الشاشات سواء كانت شاشة هاتف ذكي أو جهاز لوحي أو حتى كمبيوتر.

القسم الثاني: تطوير الواجهة الخلفية أو Backend Development:

أما القسم الثاني من عمل مطور الويب فهو (الواجهة الخلفية) أو Backend Development.

إنه الجزء الخاص بالسيرفر أو الخادم الذي يستضيف هذا الموقع نفسه، وهو الجزء الذي لا يمكن للمستخدمين رؤيته أو التفاعل معه.

إنه الجزء الخفي من البرمجة، الذي لا يتعامل مباشرة مع المستخدمين، ويستخدم لتخزين وترتيب البيانات.

وفي هذا الشق من عمل مطور الويب نجد هناك العديد من التقنيات المستخدمة مثل:

  • لغة PHP:

لغة PHP هي لغة برمجة من جانب الخادم مصممة خصيصًا لتطوير الويب.

  • لغة Java:

تعتبر لغة Java واحدة من أكثر لغات البرمجة شيوعًا واستخدامًا، كما أنها قابلة للتطوير واستخدامها للعديد من الأغراض.

  • لغة Python:

بايثون هي لغة برمجة تمكن الميرمجين الذين يستخدمونها من العمل بشكل أسرع، ودمج الأنظمة بدرجة كفاءة أعلى.

  • محرك Node.js:

أما Node.js فهي بيئة تشغيل مفتوحة المصدر ومتعددة الأنظمة يمكن لجميع المبرمجين المشاركة بها لإجراء التطويرات والتعديلات على أكواد JavaScript خارج المتصفحات.

قواعد البيانات:

في تكنولوجيا الويب، تعد قاعدة البيانات database قاعدة منظمة من البيانات يتم تخزينها بشكل إلكتروني، ويمكن الوصول إليها عبر تطبيق أو موقع على الإنترنت.

وتصنف قواعد البيانات باعتبارها أحد مكونات الواجهة الخلفية أو Backend حيث يتم تخزين البيانات وإدارتها واسترجاعها.

هذا ويمكن أن تكون قواعد البيانات علائقية ((تشير عبارة قواعد البيانات العلائقية إلي قواعد البيانات التي تتم فيها إدارة وتخزين البيانات باستخدام الجداول والربط بعلاقات بين تلك الجداول وبعضها)).

ومن أشهر الأمثلة على ذلك: MySQL و PostgreSQL.

أيضا هناك قواعد البيانات الغير علائقية، وتعني أنه لا يتم استخدام SQL فيها، أي لا تستخدم المخطط الجدولي للصفوف والأعمدة الموجودة في معظم أنواع قواعد البيانات التقليدية.

بدلا عن ذلك، تستخدم قواعد البيانات الغير علائقية نموذج تخزين مُحسَّن ومرن يعتمد أصلا على المستندات.

ومن أشهر الأمثلة على ذلك: MongoDB و CouchDB.

فائدة قواعد البيانات الغير علائقية أنها تمنح للمبرمج فضاء أوسع فهي تجعل التطبيقات قادرة على التعامل مع المحتويات المتغيرة بسرعة، وكذلك مع بيانات المستخدمين، وحتى تسمح بإجراء المعاملات مثل الشراء من بعض التطبيقات.

كل ذلك بفضل قدرتها على توفير إمكانيات التخزين والاسترجاع والمعالجة الفعالة.

كذلك وفي مجال قواعد بيانات تطوير الويب يتم استخدام ما يعرف باسم (أنظمة إدارة قواعد البيانات) والتي تعرف اختصارا باللغة الإنجليزية (DBMS).

الفائدة من هذه الأنظمة هي توفير التفاعل مع قاعدة البيانات، وضمان سلامة البيانات، والأمان والأداء.

قواعد البيانات العلائقية:

كما قلنا تخزن قواعد البيانات العلائقية البيانات في جداول مشابهة لجداول البيانات spreadsheet، حيث يحتوي كل جدول على صفوف وأعمدة.

وتحتوي الصفوف على سجلات فردية، في حين تحدد الأعمدة سمات البيانات.

هذا ويمكن ربط الجداول مع بعضها البعض من خلال مفاتيح خاصة ما يسمح بربط البيانات ذات الصلة.

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