هذه التدوينة خاصة للإجابة على أسئلة أحد المعلقين في المدونة وأحببت أن أجيب عليها في تدوينة خاصة والأجوبة عموماً هي من وجهة نظري وحسب تجربتي التي لازلت أمارسها لتحسين مستواي ، إسم هذه التدوينة بالأحرى ماذا أحتاج لكي أكون مطور مواقع ويب ، بالطبع أنا أقسّم هذه المهنة على مستويات أو غالباً ما يتم تقسيمها بهذا الشكل: مبتديء – محترف.
ماذا أحتاج لكي أطور نفسي في هذا المجال؟
بالطبع تحتاج إلى ممارسة هذا المجال ، القراءة فيه ، التعمق أكثر بمعرفة التقنيات التي يستخدمها المطورين وهناك الأساسية منها التي يجب تعلمها مثل HTML ، CSS ، XML .. ولغات برمجة من جهة العميل أو Client Side Scripting مثل Javascript (تزداد أهمية هذه اللغة بشكل كبير جداً يوماً بعد يوم) ، ولغات برمجة من جهة الخادم أو Server Side Scripting مثل PHP ، Ruby ، ASP.NET ..
وهناك الجانب النظري أو الموضوعي ولا يقل أهمية عن تعلمك للتقنيات التي ذكرتها بس هي الأساس قبل كل شيء ، جوانب مثل فهم أهمية مواقع الويب وكيف تكون وسيلة أعلامية عبر الإنترنت للمشاركة بالمحتوى وإفادة الآخرين والتواصل معهم ، كيفية بناء مواقع ويب ناجحة ، أهمية المحتويات عن غيرها من عناصر الموقع ، قابلية الإستخدام Usability وقابلية الوصول Accessibility في مواقع، تجربة المستخدم User Experience .. هناك مفاهيم أخرى جديدة تخرج لنا يجب القراءة عنها ولكن خذ الأهم أولاً ..
طبعاً قبل كل شيء يجب أن تعلم عن أهمية اللغة الإنجليزية ليست فقط في تطوير المواقع بل في مجال الحاسوب أو التقنية بشكل عام ، وذلك لقلة المصادر العربية وتفيدك كثيراً في التعلم السريع والوصول إلى المطلوب بأقل وقت + أقل تكلفة ممكنة وهذا الشيء جربته ، هنا شيء آخر هو وفرة المحتويات المفتوحة في العالم الغربي مقارنة بما هو موجود لدينا ، فأي علم تريد أن تدخل فيه إذا كان لديك مفتاح اللغة الإنجليزية ستختصر على نفسك الكثير وتستطيع أن تكون خبير فيه! هذا إذا أعطيت كل وقتك وممارست المجال بشكل صحيح.
ما هي لغات البرمجة التي أحتاجها في هذا المجال؟
أما بالنسبة للغات البرمجة فالأمر يعود لك إنت وإختيارك وممكن متطلبات السوق تأثر على إختيارك ولكن هذا في السوق المحلي في دولنا العربية ولكن عالمياً لن يؤثر وخاصةً أن مزاولة تطوير مواقع و البرمجة أو التصميم أصحبت سهلة عن طريق الإنترنت وعبر المواقع التي توفر فرص لمطوري مواقع الويب المستقلين (Freelancers) تجد أن الطلب موجود ولكن نعود إلى نفس النقطة الأولى تحتاج إلى اللغة الإنجليزية + بطاقة إئتمان إلكترونية ..
نعود إلى موضوع لغة البرمجة ، تجد هناك من يقارن ويفضل لغة عن أخرى في الآخير هذه آراء (قد) تكون أتت من مبرمجين بمعنى الكلمة لهم خبرتهم وتجربتهم وقد تكون آراء تعصبية وهذا هو غالب الأمر ، أنظر إقرأ حول المقارنات المحايدة وأنظر إلى طلب السوق ، وفي نفس الوقت أنظر إلى المجتمع الذي يدعم هذه اللغة سيقودك إختيارك إلى لغات مفتوحة المصدر ، ومن السهل القراءة عنها وتجربتها من دون تكاليف فقط خادم شخصي + معرفة قواعد الأساسية لهذه اللغة.
بعد إختيارك اللغة التي تريدها ، عليك بمعرفة أساسيات اللغة وتجربتها وإعتماد محرر خاص بك أنت تختاره يساعدك على إتمام تطبيقاتك على أكمل وجه ، إضافةً إلى هذا قراءة كتاب تثق فيه حول هذه اللغة + مرجع أو دليل خاص بهذه اللغة (Manual) تجد فيه الدوال وتقسيماتها وشروحات وأمثلة حولها ، بعد مرحلة البداية توجة إلى البرمجة الكائنية أو ما يعرف بـ Object-oriented programming ، وإبدأ بإستخدام أطر العمل ستفيدك كثيراً في إنجاز أعمالك البرمجية ويمكن في المستقبل إنشاء إطار عمل خاص بك تستخدمه في تطبيقاتك.
موضوع مفيدة حول البرمجة:
- ماهي أفضل لغة برمجة؟
- المنطق البرمجي – طريقك لاحتراف البرمجة
- موضوع يتحدث عن 10 خطوات لتعلم أي لغة برمجة بسرعة ، موضوع مفيد قرأءته من مدونة NETTUTS ..
كم المدة المستغرقة لتصبح مطور ناجح؟
ليست هناك مدة للوصول ، هذا يعتمد على أسلوبك الذي تستخدمه في تطوير نفسك في هذا المجال ، عن طريق القراءة والممارسة ( كل شيء تريد أن تتقنه إلى ممارسة Practice) ، وممكن النقاش مع الخبراء في هذا المجال أو المهتمين وتبادل الخبرات ولكن إنتبه أن تدخل في مداخلات عديمة الفائدة أو جدالات هدفها فرض أفكار ووجهات نظر بدلاً من الفائدة لا تقدم ولا تأخر أبداً ربما ستحبطك (هذا إذا كنت تتأثر بمجادلات مثل هذه
فيفترض أن يكون لك أسلوبك وفكرك وتناقش لا أن تجادل ) ..
إستفد من خدمات الويب 2.0 ، نعم تستطيع الإسغناء عنها ولكن ستضيع فوائد كثيرة في ذلك
، إجعل لك روابط تزورها يومياً أو بشكل شبه يومي متخصصة في مجال تطوير مواقع الويب عن طريق تقنية RSS والخدمات التي توفر لك قراءة الخلاصات مثل Google Reader ، المشاركة في الشبكات الإجتماعية والإستفادة من الروابط المتداولة هنا شبكات إجتماعية مثل Design Float , Digg , Del.icio.us , Pixel2Life , .. حاول أن تحصر قراءتك لحسابات أشخاص معينين أو أوسمة Tags معينة في حال تراكمت عليك المقالات (خذ المفيد والنادر وأترك الباقي) ولا تدمن على الشبكات الإجتماعية لأنها ستأثر في تنظيم وقتك وحاول الدخول عليها بعد الإنتهاء من أعمالك ، وإقصر متابعتك على أكثر المدونات التي تشارك في هذه الشبكات وتجد مواضيعها مفيدة وغير مكررة مقارنة بغيرها ولن تحتاج بعدها لزيارة مثل هذه الشبكات إلا بين فترة وفترة أخرى.
وهناك شيء آخر يجب أن تستفيد منه وهو المشاركة الملفات والمواد التعليمية المفيدة من كتب ، وبرامج عن طريق برامج p2p وأشهرها التورنت ، ستجد كتب كثيرة لا تجدها إلا على دور نشر مشهورة ومواقع بيع الكتب مثل amazon.com .. عادةً لا أنشر مثل هذه المواد ولكن أشير إلى مكان وجودها وأستفيد منها للإستخدام الشخصي فقط لأن غالب الملفات (وربما جميعها) غير مرخصة ولكنها مفيدة جداً.
هل يجب على مطور مواقع الويب دراسة برامج تصميم مواقع الويب أم لا ؟
لا ، فهذا الأمر إختياري يعود لك أيضاً أهم شيء تعرف التقنيات الأساسية التي ستستخدمها Javascript , XML , CSS , XHTML ، يعود لك الخيار في إستخدام المحرر الذي يناسبك بالمميزات التي تريدها مثل Adobe Dreamweaver , PHPDesigner , Aptana , .. شخصياً أحب إستخدام المحررات التي ذكرتها ولكن حالياً أستخدم PHPDesigner 2008 إضافةً إلى Dreamweaver ( بعض الأوقات ) ..
هل أحتاج إلى اللمسات الفنية لمجال الجرافك ديزاين؟ وأطبقها عند تصميمي لموقع ويب؟
حسب إستخدامك ، ويجب أن يكون الإستخدام ضروري فقط أو لا يؤثر على تصفح محتويات وسرعة الموقع والوصول إليه لأن مواقع الويب ليست معارض فنية! نعم تحتاج في الوقت هذا إلى لمسات فنية تضيفها إلى الموقع ولكن مثل ما قلت شرط ألا يؤثر على قابلية إستخدام الموقع ، لا تضع ألوان متناقضة ، إنتبه للخطوط وأحجامها ، المساحات البيضاء أوالفارغة ، هناك مقالة كتبتها سابقاً حول خطوات تصميم موقع ويب يمكنك الإستفادة منه علماً بأن النقاط التي ذكرتها ليست تفصيلية بمعنى الكلمة ، حاول تصميم موقع موزون أو ما يعرف بـ Balanced Website Design وكيفية معرفة العلاقة بين البساطة و الجمالية وقابلية الإستخدام.
هل هناك شهادات تهتم بمجال تطوير مواقع الويب؟
قبل أن أجيب على هذا السؤال ، إهتم بالجانب التطبيقي أكثر من هدف الحصول على شهادات معترف بها مارس التعلم الذاتي في هذا المجال ، مارس مهنتك كمطور ويب في البداية حتى لو كان تقديم خدماتك مجاناً لأنها تعطيك خبرة مع الوقت ، بعدها إن أردت الحصول على شهادات ليس هناك موانع من ذلك ولكن تحتاجها إذا كنت تريد تكون موظف بنظام الدوام الكامل (full-time) و لكن إن أتت إليك فرصة ممارسة هذا المجال كمطور مواقع مستقل تضيعها مع أن هناك معوقات لها مثل الدخل المحدود ، كثرة الأعمال ، .. وغير ذلك ولكن مع الخبرة وتوجهك إلى تقديم خدماتك عالمياً (قد) يختلف الأمر عن سابقه وذلك لقلة الإهتمام بهذا المجال في الوطن العربي.
أما بالنسبة للشهادات فحسب معرفتي المحدودة بها مثل شهادات CIW – Certified Internet Web Professional الدولية ، شهادة ZCE – Zend Certification وهناك معلومات حول شهادة Zend باللغة العربية أيضاً ، شهادة Sun Certified Web Components Developer for J2EE من شركة Sun ، شهادات أخرى خاصة بشركة Microsoft ، بالنسبة لي لا أمتلك أياً من الشهادات التي ذكرتها ولن أهتم بذلك حالياً ، لأن المحتويات الآن أصحبت متوفرة والدروس كثيرة ولكن تحتاج إلى ممارسة (دائماً أذكر هذه الكلمة لأنها هي الأساس في الموضوع كله
) ، مارس التعلم الذاتي أهم شيء.
ما الفرق بين تصميم مواقع الويب وتطوير مواقع الويب؟
المفهوم الأخير يضم المفهوم الأول
.. تصميم مواقع الويب متعلق بكتابة شفرة html ، تقطيع التصميم وتعديله ، توافق التصميم مع عدة متصفحات ، مطور مواقع الويب يمكن أن يكون مصمم جرافك ، وفي نفس الوقت يستطيع تصميم موقع ويب وبرمجة تطبيق ويب ولكن طبعاً هناك مستويات ، المطور ليس شرطاً يكون مبرمج بمعنى الكلمة متعمق في البرمجة ولكن يستطيع أن يصل إلى مستوى متوسط أو متقدم في البرمجة وفي نفس الوقت يحتفظ بخبرته في التصميم ..
مطور مواقع الويب ليس مجرد معرب للتطبيقات! أو مركب للتطبيقات على المواقع! لأن ذلك يستطيع فعله شخص لا يعرف في البرمجة سوى الأسياسيات وربما لا يعرف شيء إلا المتغيرات وكيفية كتابة ” hello world! ” !! ، ممكن يكون مطور مواقع ولكنه مبتديء ليس مطور حقيقي يشار إليه.
مواقع عالمية أنصح بمتابعتها
مجلات إلكترونية:
مدونات مطورين:
مواقع ومدونات متخصصة بالدروس ، المقالات ، المصادر ، إلهام ، .. :
معارض تصاميم:
- The CSS Gallery List ، قائمة بأفضل معارض CSS تغنيك عن الروابط التي كنت سأعرضها ولكني إكتفيت بهذا الموقع.
مواضيع متعلقة بالموضوع تفيدك أكثر:
- المصادر ، من مدونة الويب 2.0
هذا ما إستطعت الإجابة عنه …


موضوع منهجي رائع أخي أحمد.
سؤال بسيط: أنا كمبتدئ وراغب في تعلم إحدى هذه اللغات لاكتساب المهارة وليس للشهادة أو التوظيف أو لسواهما ، هل أنا بحاجة للتدرج في تعلم بعض هذه اللغات ، مثلا لو أردت أن أتعلم لغة scc هل يجب أن أمتلك أساسيات في لغة HTML .
أكرر شكري لك على الموضوع وعلى المدونة ككل
أهلاً أخي خالد ، يمكن تقصد CSS
، بخصوص تعلمها قبل ذلك تتعلم HTML فهي سهلة لأن تطبيقات CSS كلها على عناصر HTML وكذلك تطبق على عناصر XML ، فقط إعرف اللغة التي تريدها بعد تحديد هدفك طبعاً ، وفي ماذا يمكن أن تستخدمها والمصادر التي تساعد على تعلمها وإتقانها ، وتعلم بعدها على طريقتك ، هناك رابط أضفته إلى هذه المقالة:
http://nettuts.com/articles/10-steps-to-learning-a-new-coding-language-fast/
سيفيدك كثير بخصوص تعلم اللغات
.
انا من اكثر المتابعين لموقع webdesignerwall.com
وهو صراحة من افضل المواقع الموجودة في القائمة التي تفضلت بها علينا
شكرا لك أخي الكريم على المعلومات المفيدة
جزاك الله خيرا
شكرا على الافادة.
السلام عليكم
اخي الفاضل… لا تعلم مقدار استفادتي من مقالتك.. بصدق جزاك الله كل الخير.. استفدت كثيرا جدا جدا, لكن لي عندك سؤال اخي الكريم وهو عن الوقت او الفتره الزمنيه التي تراها انت مناسبه من البداية وحتى الوصول لدرجة معقوله من العلم والخبرة والممارسة… وانا اسأل هذه السؤال حتى احدد لنفسي فترة عمل فلا اتسرع ولا استفيد .. وايضا لا اتكاسل حتى انسي هدفي الاساسي..
مشكور اخي بمقالتك المفيده… موفق دائما ان شاء الله
أهلاً أختي شيرين، لا أستطيع تحديد مدة معينة فهي حسب الممارسة ليست هناك مدة معينة نحددها يمكن أن تظهر مهارات المطور من بداية الشهر الأول من تعلمه ..
في نفس الوقت مرحلة التعلم لا تنتهي أبداً لأن المعلومات التي يتعلمها المطور أو المصمم قد تصبح في المستقبل غير مفيدة بسبب التطورات التي تطرأ على هذا المجال مثلاً ولكن خبرته في المعلومات التي إكتسبها مسبقاً تساعده في الدخول إكتساب المعلومات الجديدة بسهولة أكثر ..
أهم شيء بالنسبة لي أن يكون لدي مصادر للرجوع إليها (أعني أتعلمها عندما أحتاجها) وترتيب أدواتي الخاصة وقائمة أعمال تساعدني على إنجاز أهدافي ، أشكرك على المشاركة
..
السلام عليكم
اخي الكريم احمد .. لك كل الشكر لاهتمامك وردك القيم.. انا بالفعل بدأت اتبع كثير من النقاط التي تفضلت حضرتك بذكرها بمقالتك الرائعة.. وسوف اتابع معك التطورات ان شاء الله..
لك تحياتي وادعو الله ان يوفقني والجميع لعلم ينفع الجميع ان شاء الله
السلام عليكم اخي الكريم وشكرا علي الشرح المفيد ولي كم استفسار كمبتداء :
اولا انا اخترت العمل في مجال مصمم صفحات الويب الي جانب وظيفتي الحالية وفي البداية اريدك مشكورا ان تساعدني في رسم خطواتي الاولي في هذا المجال , اولا هي اتعلم html في البداية فقط ثم css ثم xml ام استطيع ان اتعلمهم معا 2-هل ابداء في تعلم الانجليزيه لاهميتها في عالم الكمبيوتر عموما في نفس الوقت 3-هل بعد ان انتهي من الاتش تي ام ال ابداء في اختيار برنامج مناسب للتصميم علما اني اريد العمل بالغه php مستقبلا واريد برنامج خفيف وقوي 4-متي استطيع تعلم التصميم ببرنامج مثل الفوتشوب وهل احتاج الفلاش ام لا 5-هل اختلاف الاصدرات قد يعطلني وما هي اهميتها ومثال علي الاصدارات php 4 php5 ام لا وهل html هي الاساس ام يوجد اصدار اعلي منها 6-ما فائده الجافا بالنسبه للعميل 7-هل العمل مع العملاء من الانترنت يختلف علي العمل معهم علي ارض الواقع وهل توجد تجارب مفيده …. هذه معظم اسالتي في الوقت الحالي واسف علي الاطالة .
السلام عليكم ورحمة الله وبركاته
اولا جزاك الله الف خير اخى الفاضل على المعلومات الرائعة دى
ثانيا كنت عاوزة اعرف من حضرتك ايه البرامج اللى لازم تكون عندى وكذلك اى متصفح ويب لو حبيت ادرس asp
وكمان هل الافضل تعلم لغة ال asp ولا ال php
ارجو من حضرتك الرد وجزاك الله عنا كل خير
بالنسبة للأفضلية إبحث في أي محرك بحث مثل جوجل وأكتب “PHP vs ASP” على سبيل المثال ستجدين ما تريد
كما أن ليست هناك أفضلية إنما إحتياجات المبرمج أو المطور والمشروع الذي سينفذه ويمكن لي مطور أن يفضل اللغة التي يستخدمها ويعتقد أنها افضل من لغة ثانية ولكن جميع لغات البرمجة تؤدي نفس المهام بإختلاف طريقة كتابة أساسيات اللغة أو Syntax مثل كتابة الدوال والأصناف وشفرة البدء في البرمجة وإختصار عدة مهام، … وغيرها.
هذا الموضوع أيضاً سيفيدك إن كانتِ تتقنين اللغة الإنجليزية:
http://www.velvetblues.com/web-development-blog/php-vs-asp-which-is-best-for-your-application/
http://www.aspvsphp.com/
التدوينه افادتني للغاية
جزاك الله خيرا
أخي العزيز أحمد
وفقك الله وسدد خطاك
بالرغم من أني أعمل في مجال قواعد بيانات أوراكل الا أني أحلم بأن يكون لدي موقع من تصميمي الخاص وقد قمت بدراسة HTML+PHP+JS+MYSQL
وفعلاً أنا أوافقك في كل كلمة دونتها واقولها بصراحة سينجح كل من تتبع خطاك ، إلا أني تكاسلت قليلاً ولم أخرج الى الدنيا بالموقع ولكن كلماتك أعطتني حافزاً جيداً لذلك
واريد أن أضيف موقع من المواقع التي بدأت من خلالها التعلم وهو موقع
http://www.w3schools.com حيث أفادني كثيراً من الناحية العملية
وجزاكم الله كل خير