عشرة طرق للتطوير السريع



10 طرق لاختصار الوقت اللازم في تطوير الويب

لأن الأسرع هو الأفضل ..

مع انتشار مصطلحات كـ rapid application development“, “Agile“, “Asynchronous JavaScript and XML لم يعد المستخدم ينتظر الصفحات حتى يتم تحميلها، أصبح كل شيء يحدث بغمضة عين..

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

أولا: استخدم بيئات العمل Framworks

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

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

نفس الأمر ينطبق على بيئة تطوير الجافا سكربت، مثل MooTools، هناك خيارات أخرى خاصة بالإعدادات الخاصّة بجانب العميل(client-side scripting) مثل: jQuery, Prototype JS , YUI

أو إذا أردت تجربة بيئات تطوير غير سائدة: promising JavaScript frameworks

أما الجانب الخدمي (server-side frameworks):

CakePHP, CodeIgniter, Zend, symphony (for PHP)

وإن كنت تفضّل العمل بالأدوات التي تنتجها مايكروسوفت، كالفيجوال بيسك أو السي#، ستستخدم .NET Framework.

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

هناك 960 Grid و BluePrint..

ثانيا:استخدام بيئة التطوير المتكاملة(IDE)

رغم أنّك تستطيع إنشاء موقع كامل أو تطبيق ويب باستخدام الـ Notepad + FTP وحسب، لكنها ليست الطريقة التي تضع الوقت في الحسبان أبدًا، ولا الكفاءة والجودة كذلك !

ما معنى IDE ؟

هي تطبيقات تتيح لك كل الأدوات التي تحتاجها لتنشئ، تدير، تتحكم في مشاريع ويب كبيرة، ورغم اختلاف بيئات التطوير لكنها تشترك فيما يأتي:

· إدارة المشروع والتعاون بين أفراد الفريق، الفريق هنا للدلالة على العاملين بنفس بيئة التطوير.

· التطوير والتحسين لاكتشاف الأخطاء.

· سهولة الاستخدام.

· دعم الـ FTP (File Transfer Protocol).

مثال على بيئات التطوير (الـIDE’s):

Adobe Dreamweaver, Eclipse, Komodo IDE, NetBeans, Visual Studio, and Aptana Studio.

ثالثا: قم بتقسيم العمل لأجزاء مستقلة.

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

رغم أنها تحتاج وقتًا في البدء لتصميم هيكل المشروع، لكنه يدخر الكثير من الوقت لإصلاح الأخطاء أو التعديل في جزء معين من المشروع.

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

نموذج لذلك: PAC و MVC

رابعًا: استخدم الأدوات اللازمة لحلّ مشاكل التصميم والعرض.

لا أسوأ أبدًا من المشاكل التي تظهر في تصميماتك أثناء عرضها في المتصفح، رغم أنّ كل شيء يكون على ما يرام ولا تعرف أين المشكلة !

لذلك يمكن استخدام التقنيات التي تتيح لك اختبار مشروعك ..

Firebug و Web Developer يساعدان في اختصار الوقت في اختبار CSS/HTML/JS وIE Developer Toolbar إن كنت تحتاج إلى العمل على انترنت اكسبلورر.

خامسًا: اكتب الكود مرة واحدة .. واستخدمه عدة مرات.

إذا ضبطت نفسك تكتب نفس الكود مرارًا وفي أماكن مختلفة، عليك أن تتوقف وتعيد ترتيب احتياجاتك، من أهم الأمور التي يجب تعلمها Generic Programming ، وهي كما يقول مؤيدوا الجافا: Write Once, Use every where

مثلا .. عندما تقوم باستيراد بيانات من قاعدة بيانات باستمرار، يمكنك إنشاء Database Access Class للتحكم في الاتصال، والتعامل مع البيانات .. هذا المفهوم ضمن الـ Modularize أيضًا !

سادسًا: التعاون لادخار الوقت

لحسن الحظ أنّك لست وحدك، عوضًا عن الوقت الضائع في الإجابة عن الأسئلة والاجتماعات، يمكنك توفير كل ذلك الوقت باستخدام أدوات مثل Basecamp, Lighthouse, activeCollab والتي تقوم بعرض كلّ المعلومات الخاصة بالمشروع، دون الحاجة لإهدار وقتك في شرح كل شيء بنفسك، كما أنها تساعدك في ترتيب أولوياتك وتنظيم أمورك.

سابعًا: قم بصياغة الكود جيّدًا

عندما تكتب الكود وفقًا للمعايير القياسية، وتوحّد طريقة الكتابة، سيسهّل عليك ذلك فهم سياق البرنامج عند الرجوع إليه لاحقًا، عوضًا عن قراءة الكود بالكامل يكفي أن تمرّ عليه سريعًا بعينيك لتفهم ما الذي يقوم بتنفيذه.

كما أنّ هناك أدوات تساعدك على ذلك، هناك web-based، و CSSTidy و HTML Tidy .. كما يوجد PHP Source Code Formatter، Ruby Script Beautifier، Code Beautifier Plus(يدعم السي#، الجافا، الـASP)..

ثامنًا: امنح التخطيط وتجميع المعلومات وقتًا كافيًا

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

تاسعًا: استخدم الأكواد المكتوبة فعلا

يمكننا أن نقول أن هذه النقطة قد تحدثنا فيها بشكل أو بآخر سابقًا، لا تقم بكتابة شيء من الصفر بينما يمكنك استخدام الموجود والزيادة بشكل أفضل ..

عاشرًا: لاداعي لما ليس له داع !

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

6 Comments Add yours

  1. رائع!
    يبقى تحويل ما ذكر لحيز التطبيق على الواقع :)

    Like

  2. كريم says:

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

    Like

  3. 77math says:

    العفو .. فقط أمارس هوايتي : )

    شكرا للاهتمام .

    Like

  4. أنا عندي سؤال قبل الخوض في أي شيء ..
    هل يدرسون هذه المواضيع في جامعتنا في الإسكندرية ؟؟؟

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

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

    تحياتي واتابع خلاصة مدونتك :)

    Like

  5. 77Math says:

    بالطبع لم نتعلم هذا في الكليّة، أنا ترجمته من قراءاتي الخاصّة.
    التعليم الحقيقي غالبًا لا يكون داخل المؤسسات التعليمية، للأسف. ولا على أيدي الأساتذة المعتمدين. للأسف أيضًا !

    شكرًا لاهتمامك. أرجو ألا تنتظر طويلا للمقال القادم :D

    Like

Share your thoughts with me!

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s