از کجا باید یاد گرفتن طراحی وب رو شروع کنم؟
یکی از سوالاتی که اغلب میپرسن از من، این هست که از کجا باید یاد گرفتن طراحی وب رو شروع کنم؟ چه زبانی رو بریم یاد بگیرم؟ از چه ابزاری باید استفاده کنیم؟ چه کتابهایی رو باید بخونیم و سوالاتی از این دست. جواب تمام این سوالها به طور خلاصه این هست که : به خودتون بستگی داره! اما به عنوان کسی که یکم تو این حیطه کار کرده پیشنهاد میدم به این ترتیب عمل کنید:
قبل از شروع کردن، این رو در خاطر داشته باشید که قبل از همه چیز، حتی به طور دست و پاشکسته هم که شده سعی کنید انگلیسی رو یاد بگیرید. لازم نیست حرفهای باشید، همین قدر که یه مطلب رو بخونید و درک کنید که داره چی میگه کافیه. لازم نیست معنی تک تک کلمات رو دقیق بدونید (اگه بدونید البته خیلی بهتره (: ) فقط کافیه هدف متن رو بتونید درست درک کنید. بقیهش رو به مرور کم کم یاد میگیرید. کامپیوتر و اینترنت هم جوری هست که با یاد گرفتن یک سری از کلمات پر کاربردش میتونید خیلی راحت از متن سر دربیارید. بلد بودن انگلیسی (باز هم میگم حتی در حد دست و پا شکسته) میتونه بهتون کمک کنه که مشکلاتی که در پروسهی طراحی وب و برنامهنویسی بهش بر میخورید رو راحت سرچ کنید و راه حلش رو پیدا کنید. سایتهای خوبی هم برای راهنمایی هستن که میشه به استکاورفلو اشاره کرد، که میتونه شما رو کمک کنه که جوابها تون رو پیدا کنید.
اولین چیزی که برای شروع طراحی وب باید یاد گرفت زبانهای html و css هست. در یک جمله html چارچوب یه سایت رو میسازه و css به اون چارچوب رنگ و لعاب میده و قشنگش میکنه. برای شروع، این دو زبان بسیار ساده هستن و شاید یادگیریشون چند ساعت طول بکشه ( یادگرفتن چیزی با حرفهای شدن در اون چیز فرق داره (: ) . حُسنی که این زبانها دارن این هست که بسیار انعطاف پذیر هستن در مقابل خطا، یعنی اگه شما بعضی از قسمتها رو هم اشتباه بنویسید احتمالا کدتون باز صحیح کار میکنه، و این برای کسی که تازه داره طراحی وب رو شروع میکنه خبر بسیار خوبی هست. اگه بخوام به منابعی که میتونید از اونها استفاده کنید برای یاد گیری اشاره کنم سایت w3schools منابع خوبی داره برای یاد گیری این دو زبان. همینطور کلی کتاب و سایت دیگه هم هست که میتونه به شما کمک کنه تا اینها رو یاد بگیرید. در صورتی که این دو رو بتونید یاد بگیرید، میتونم بهتون این مژده رو بدم که پایهای ترین قسمت وب رو یاد گرفتید. و حالا میتونید کمی خوشحال باشید که قدری به هدفتون نزدیکتر شدید.
زبانی که در مرحلهی بعد نیازه یاد بگیریم زبان javascript هست. جاوااسکریپت زبان سمت کلاینت هست. اگه بخوام مثال بالا رو بسط بدم، جاوا اسکریپت به اون قالبی که طراحی کردیم جون میده. با جاوا اسکریپت میتونیم قالب رو بر حسب نیاز تغییر بدیم، بهش چیزی اضافه کنیم یا ازش چیزی کم کنیم. یادگرفتنش زیاد دشوار نیست و این رو هم میتونید از همین سایت w3schools یاد بگیرید.
سومین چیزی که لازمه یاد بگیرید یه زبان برنامه نویسی سمت سرور هست. باز اگه بخوام مثال بالا رو بسط بدم اینجوری میشه که زبانهای تحت سرور وظیفهی قرار دادن اطلاعات رو داخل این قالبی دارن که ما ساختیم و قشنگش کردیم (: . زبانهای زیادی هست مثل php, asp, python, ruby, node.js و … که میشه ازشون استفاده کرد. تو ایران asp محبوبیت زیادی داره. شرکتهای دولتی زیادی از اون استفاده میکنن، و چون لازم نیست پولشو بدیم (مثل ویندوز که پولیه ولی مفتی استفاده میکنیم!) میتونه انتخاب خوبی باشه برای شروع. php از طرف دیگه قدرت زیادی داره، منابعی که براش هست، خیلی زیاد هست، کتابخونههایی که برای کارهای خاص نوشته شده براش زیاد تر هست و در واقع زبانی هست که قدرت زیادی داره (من خودم اولین زبان سمت سروری که یاد گرفتم همین Php بود). پایتون و روبی هم دو زبون دیگه هستن که بسیار یادگیریشون راحته، اونا هم کتابخونه و همینطور منابع یادگیری زیادی دارن (البته بیشتر انگلیسی هست) و میتونید اونها رو هم یاد بگیرید. در پایان هم Node.js هست که در اصل اگه شما جاوااسکریپت رو بلد باشید، خود به خود این زبون رو هم بلدید چون در اصل سینتکس جاوا اسکریپت رو داره. به شدت در حال پیشرفت و توسعه هست، کتابخونههای زیادی داره و همینطور طرفدارهاش هم هر روز داره اضافهتر میشه.
چیزی که خیلی مهم هست اینه که به زبانهایی که الان معرفی شد به چشم یه ابزار نگاه کنید. چون زبانها در واقع خودشون از خودشون کارایی ندارن، و در واقع این الگوریتمها هستن که به اونها روح میدن. پس سعی کنید برنامه نویسی یاد بگیرین. وگرنه زبانها همه در اصل شبیه به هم هستن و این برنامه نویسها هستن که اونها رو متمایز از هم میکنن.
اینو هم به خاطر داشته باشید که کتابخونههایی که برای هر زبان وجود داره خیلی مهم هست. و میتونه بهتون کمک کنه که کارتون چندین برابر آسونتر بشه. اینو بدونید که بیشتر چرخها از قبل ساخته شدن، و نیازی به اختراع مجددشون نیست. خیلی وقتها باید گشت و اون چرخها رو پیدا کرد و کنار هم گذاشتوشونو یه چیز جدید ساخت باهاش!
این تمام مسیر نیست.
اگر اینها رو یاد بگیرید قادر هستید تا یه سایت ساده درست کنید. اما چیزی که خیلی مهم هست این هست که بدونید باید برای ادامهی این مسیر تلاش کنید و سعی کنید خودتونو بهتر کنید. با تکنولوژیهایی جدیدی که هست آشنا بشید و اونها رو یاد بگیرید و دائم در حال تمرین باشید. برنامه نویسی میتونه سخت و خسته کننده باشه. گاهی وقتا به خودتون میاید و میبینید چند ساعته به خاطر یه مشکل کوچیک کل کدتون رو دارید میگردید اما به جواب نمیرسید. در واقع تمام اینها همون مسیر یادگیریی هست که باید طی بشه. البته راههایی هست که میتونه این سختیها رو کمتر کنه.
سعی کنید از یه جایی به بعد (وقتی میینیممها رو یاد گرفتید) روی یه پروژه کار کنید. کار کردن روی یه پروژه که خودتون واسه خودتون تعریف میکنید میتونه خیلی جذابتر باشه تا مثلا یاد گیری از طریق کتاب و خود آموز. شما کار میکنید، اگر به مشکلی خوردید به چالش کشیده میشید. گاهی میتونید براش راه حل پیدا کنید و گاهی هم که راه حلی پیدا نشد میتونید با پرسیدن از افراد دیگه راهشو پیدا کنید و اینجوری به علمتون هم اضافه بشه.
از پروژههای اپن سورس غافل نشید. میتونید کدهای اون پروژهها رو بخونید و ببینید و ازشون چیز یاد بگیرید. حتی میتونید در ساختشون هم سهیم باشید (چه با نوشتن داکیومنت براشون، چه با گسترش همون پروژه اپن سورس با ایدههای خودتون). کارهایی از این دست به شما کمک میکنه تا پروسهی یاد گیری زبان برنامه نویسی لذت بخش بشه براتون و همینطور کمک میکنه به شما که شناخته شدهتر بشید در بین بقیه برنامه نویسها.
امیدوارم این مطلب به دردتون خورده باشه و کمکتون کرده باشه (: