المعلوماتية > برمجيات
المراحل المختلفة في تطوير الويب
عندما نتحدث عن تطوير الويب، ففي كثيرٍ من الأحيان يتبادر لذهن عددٍ كبيرٍ من المبرمجين فكرةُ فتح محرر الأكواد وبداية كتابة كود HTML مباشرةً لما يدور في باله، وفي النهاية نقله إلى استضافةٍ ما وانطلاق الموقع؛ ومع أن تلك العملية تكون مفيدةً في كثيرٍ من المشاريع البسيطة والتجريبية إلا أنها غير فعّالة على الإطلاق عندما يتعلق الأمر بالمشاريع الكبيرة.
تتشابه عملية بناء موقع مع عملية بناء مبنىً ما من قِبَل شركةٍ هندسية؛ فالمراحل اللازمة لإنجاز العمل لا تقتصر على كتابة الكود فحسب، فهي تتضمن مراحلَ من التخطيط والتحضير وصولاً للاختبار والإنتاج. يمكن تقسيم عملية تطوير الويب إلى أربعِ مراحل سنتحدث عن كل منها بالتفصيل.
بيئة التطوير Development Environment
المرحلة الأولى لإنجاز أي مشروع هي في تجهيز بيئة العمل لديك وكل ما يتعلق بالأدوات التي ستستخدمها بالطبع. ويعتبر استخدام الأدوات الصحيحة مرحلةً أساسية لإنجاز المشروع الذي تريده بجودةٍ أعلى وسرعةٍ أكبر.
قبل البدء يجب الاتفاق على نقطةٍ تتعلق بنظام التشغيل، حيث أنه ستختلف بعض الأدوات بين أنظمة التشغيل (ويندوز، ماك، لينكس) وستختلف الميزات التي تقدمها، إلا أنها ستقدم الهدف الأساسي ذاتَه في النهاية.
النقطة الأولى في بيئة تطوير الويب -ولعلها الأهم- هي في اختيار السيرفر؛ يمكن تعريف السيرفر بشكلٍ مبسط بأنه عبارةٌ عن حاسوب مجهّز ليقوم بمعالجة صفحات الويب وتقديمها للزوار. عادةً وعندما يتم إطلاق المشروع فإن السيرفر يمثل الاستضافة التي يتم شراؤها من قبل شركة والتي تكون عبارةً عن مساحة على سيرفر لدى الشركة يتم استضافة موقعك فيها. ولكن في مرحلة التطوير يمكن الاستعانة بسيرفر محلي يتم إنشاؤه على جهازك لغرض التطوير. وتوجد عدة طرق لإنشاء هذا السيرفر، فيمكن أن نستخدم برامج جاهزة لإنشاء سيرفر محلي مثل XAMP أو يمكن بشكلٍ مماثل أن نستخدم برامج المحاكاة Virtual Machines لإنشاء جهازٍ يحتوي على سيرفر، كمثالٍ على ذلك VirtualBox وVMware.
النقطة الثانية التي تحتاج لتجهيزها هي في نظامٍ لإدارة قواعد البيانات لديك. بفكرةٍ مبسطة، تُمثّل قواعد البيانات جميع الجداول التي تحتوي المعلومات الخاصة بموقعك، ولذلك فإن التعامل معها لإنشاء واسترجاع البيانات يتطلب نظاماً معيناً.
توجد عدة أنظمةٍ لإدارة البيانات، وفي كثيرٍ من الأحيان يتعلق ذلك باللغة البرمجية التي ستستخدمها. كمثال عليها MySQL والمألوفة لمبرمجي PHP، أو Microsoft SQL Server المستخدمة عندما يتم التطوير في بيئة .NET، الخاصة بمايكروسوفت، أو MongoDB للمطورين الذين يفضلون جافا سكريبت في عملهم.
النقطة الثالثة تتعلق بالبرنامج الذي ستقوم بكتابة الكود به، ومع أنها تبدو نقطةُ ثانوية، كون النتيجة التي تقدمها هي واحدة، إلا أن الأمر حساس جداً بالنسبة للمطورين؛ فهي الشاشة التي ستتعامل معها لساعاتٍ يومياً وفي الوقت الذي يمكنك كتابة الكود باستخدام المفكرة إلا أنّ الميزات الجديدة التي تقدمها بيئات التطوير تجعل التطوير أسهل بكثير. كبدايةٍ يجب التفريق بين محررات النصوص وبين بيئة التطوير، فمحرر النصوص هو مجرد برنامج يمكنك كتابة الكود فيه أو التعديل دونَ أية ميزاتٍ إضافية، أما بيئة التطوير فتتعداها لتشمل إدارة ملفات المشروع بأكمله لتسمح للمطور بوظائف متعددة مثل الإكمال التلقائي، تظليل الأخطاء و تصحيحها، و ميزات أخرى. و لعل هذه النقطة هي التي تخضع للجدل الأكبر حول أي الأدوات أفضل، ولكن يمكن القول بأن كلّ بيئة تطوير تدعم مجموعةً من اللغات، لذلك من الصعب اختيار بيئة التطوير الأفضل، ولكن كأمثلة عليها:
Visual Studio ولعله الخيار الوحيد لمطوري .NET لما يقدمه من مميزات كبيرة لمجموعة واسعة من لغات البرمجة.
Sublime Text ويعتبر من أهم بيئات التطوير نتيجةً لصغر حجمه وسرعته إضافةً لإمكانية إضافة Plugins له تحسن من آلية عمله، وتكمن مشكلته الوحيدة لبعض المطورين في كونه ليس مجانياً لذلك يمكن أن نقول أن الخيار البديل المجاني له هو Atom والمطوّر من قبل شركة Git.
برنامج أخير هو NetBeans IDE والذي يُستخدم على نطاق واسع من قبل مطوري PHP.
نقطةٌ إضافية من الممكن أن تعتبر بديهية، تتعلق بالمتصفح. فكما هو معلوم بالنسبة لمطوري الويب فإن صفحات الويب تختلف في شكلها حسب المتصفح نتيجة الدعم والمعالجة المختلفة للعناصر من قبل المتصفحات. أشهر المتصفحات المستخدمة Google Chrome، Mozilla Firefox، Opera وبالطبع لا يمكن أن ننسى محبوب مطوري الويب Internet Explorer.
النقطة الأخيرة تتعلق بنقل ملفات الموقع إلى الاستضافة ومع أنه يمكن القيام بذلك من قبل لوحة التحكم المزودة بالاستضافة إلا أن المطورين يفضلون دائماً استخدام بروتوكول نقل الملفات FTP والذي يتيح نقل الملفات. يتم إدارة اتصال FTP مع الاستضافة من قِبل تطبيقاتٍ معينة مثل FileZilla.
بيئة الاختبار Testing Environment
تُعتبر هذه المرحلة جزءاً من مرحلة التطوير، فعندما نقود بكتابة أي كود فإننا بحاجةِ بيئةٍ لاختباره، تختلف هذه البيئة بطبيعتها وطبيعة الاختبارات التي سيتم تطبيقها على الكود تبعاً للغة البرمجة وعمل المشروع، ولكن يمكن تلخيص النقاط الأساسية كالتالي:
المرحلة الأولى تكون بالاختبار الأساسي للكود من الأخطاء وتكون هذه البيئة مزودةً من قبل السيرفر الذي تعمل عليه، فبمجرد حدوث أي خطأ سيقوم السيرفر بإظهار رسالةٍ توضح هذا الخطأ.
المرحلة الثانية تكون في فحص المَظهر على المتصفحات المختلفة كما ذكرنا، ومع أنه يمكن القيام بذلك يدوياً إلا أن هناك مواقعَ تسمح لنا بفحص التوافق على جميع المتصفحات مثل موقع browserstack ويسمح لنا أيضاً باختباره على الأجهزة المختلفة لاختبار مظهره على جميع أحجام الشاشات.
المرحلة الثالثة تكون باختبار أداء الموقع من حيث السرعة والتوافق، وتوجد أيضاً العديد من المواقع التي تزّود مثل هذه الخدمات مثل موقع gtmetrix الذي يفحص الموقع ويقدّم مجموعةً من النصائح لتحسين عمله.
البيئة المرحلية Staging Environment
و هي المرحلة التي تأتي بين عملية التطوير ونشر الموقع، وتهدف لفحص الأخطاء التي تظهر عند الانتقال بين البيئتين. ولشرح هذه البيئة بشكلٍ أوضح لنفترض السيناريو التالي:
عندما تكون في مرحلة التطوير سواءً كان ذلك على جهازك أو على استضافةٍ ما لديك، فإنك تقوم بكل التعديلات اللازمة ليظهر المشروع بالشكل الأمثل وتقوم بعرضه على العميل الذي سيوافق على الشكل النهائي للمشروع. ولكن عندما تبدأ بنقل المشروع للاستضافة الخاصة بموقعه تظهر لديك العديد من المشاكل من حيث بعض الأجزاء التي لا تبدو في مكانها أو بعض الوظائف التي لا تعمل أو بطءٍ في عمل الموقع. تأتي هنا هذه المرحلة لتحل جميع تلك المشاكل المتعلقة بالانتقال بين المرحلتين لتتيح للمطور العمل على بيئةٍ تشبه بيئة الإنتاج أو البيئة النهائية التي سيتم عرض الموقع عليها. حيث سيتم في هذه المرحلة نسخ جميع متحولات البيئة النهائية أو بيئة الانتاج من حيث الهاردوير، السوفتوير، والإعدادات. وتتم إتاحة هذه البيئة من قبل شركة الاستضافة لتتيح للمطور العمل عليها قبل عرض الموقع بالشكل النهائي. كما توجد ميزة إضافية لذلك تتعلق بإضافة الميزات الجديدة، حيث يتم العمل على هذه المرحلة بشكلٍ منفرد بعيداً عن النسخة الأساسية، وعندما يتم الانتهاء من جميع التعديلات وعندما تبدو جميع الأمور سليمة، يتم النقل للواجهة الأساسية.
بيئة الانتاج Production Environment
وهي المرحلة الأخيرة في حياة تطبيق الويب أو الموقع و التي تُعنى في إخراجه للمستخدمين، وقد تكلمنا عن أغلب خصائص هذه البيئة، حيث تكون على شكل استضافةٍ على سيرفر ما، تم فحص خصائصه في المرحلة السابقة. ويُنصح دائماً بإعادة الاختبارات المتعلقة بالأداء عند الانتقال لهذه المرحلة، لإن لإعدادات وأداء السيرفر تأثيراً مباشراً على أداء الموقع.
المصادر :