چگونه برنامه نویسی و طراحی وب را شروع کنم؟
شاید سوال چگونه برنامه نویسی و طراحی وب را شروع کنم؟ یک سوال جالبی است که برای افرادی که تازه کامپیوتر میخوانند یا اینکه تازه وارد این حرفه شدند, برنامه نویسی و طراحی وب یکی از شغل های پردرآمد (به شرط خلاق بودن) است که خیلی ها رو مجذوب خودش کرده . در این مقاله قصد داریم راهنمایی به افرادی کنیم که دنبال یاد گیری برنامه نویسی و طراحی وب هستند, پس در ادامه مطلب همراه تکبین باشید..
چگونه برنامه نویسی و طراحی وب را شروع کنم؟
یک سایت به نظر من میتواند در یکی از دو دستهبندی زیر قرار بگیرد:
- وبسایت
مثل بلاگ، سایتهای شرکتی و شخصی - وباپلیکیشن
یا نرمافزار تحت وب که میتواند شامل یک فروشگاه اینترنتی یا هر سرویس آنلاین دیگری باشد.
در این نوشته قصد ندارم درباره ویژگیها و تفاوتهای این دو حرفی بزنم؛ فقط دوست داشتم قبل از شروع یادآوری کنم که برای رسیدن توانایی ساخت هر کدام از این نوع سایتها باید مسیری را که در ادامه معرفی میکنم طی کنید.
دانش مورد نیاز برای طراحی و برنامهنویسی سایت
ما اصولاً در حوزه برنامهنویسی و پیادهسازی وبسایتها و وباپلیکیشنها دو بخش متفاوت را با نامهای بکاند (Back-end) و فرانتاند (Front-end) در نظر میگیریم. خلاصه بخواهم توضیح دهم، بکاند تمام آن چیزی است که از دید کاربر نهایی سایت (مثل بازدیدکننده یا مشتری فروشگاه اینترنتی) پنهان است و به سادگی قابل مشاهده و فهم نیست. اما فرانتاند شامل تمام مواردی است که کاربر با آن مواجه است. در ادامه چند نمونه از هر کدام از این دستهها را میآورم:
اصطلاحاً کدهای سمت سرور که منطق نرمافزار یا سایت ما را شامل میشود، همچنین پایگاه داده (محل ذخیرهسازی اطلاعات) و چیزهایی از این قبیل مربوط به بکاند هستند.
از آن طرف، رابط کاربری (UI) سایت یعنی تمام چیزهایی که کاربر آن را میبیند و با آن تعامل دارد (مثل تصاویر، دکمهها، فرمها و…) مربوط به بخش فرانتاند است.
یک اصطلاحی هست که ذکر آن در اینجا خالی از لطف نیست و آن توسعهدهنده فولاستک (Full-Stack Developer) است. در یک جمله به برنامهنویسی که در هر دو حوزه بکاند و فرانتاند دانش و تسلط کافی داشته باشد گفته میشود.
چه کسی میتواند برنامهنویس و طراح سایت شود؟
این یک سوال خیلی کلیدیست! شاید در نگاه اول این گونه سوالات پاسخ «همه» داشته باشد. اما تجربه ثابت کرده هر فردی که قصد تبدیل به یک برنامهنویس و طراح سایت شدن را دارد حداقل باید ویژگیهای زیر را داشته باشد:
- صبر و حوصله زیاد
نه مسیر یادگیری برنامهنویسی هموار و سریع است و نه کل فرآیند برنامهنویسی. پس در این مسیر لطفاً عجول بودن را کنار بگذارید. - ویژگی پویایی و جستجوگر بودن
برنامهنویسی هم در مرحله یادگیری و هم در مرحله پیادهسازی نیاز به فردی دارد که بتواند به خوبی دنبال جوابهای خود و راهنماییهای لازم در سراسر اینترنت بگردد. - آشنایی حداقلی با زبان انگلیسی
چون بسیار یا شاید بهتر بگویم اکثر اشکالاتی که در فرآیند برنامهنویسی با آن مواجه میشوید جوابشان در گوگل و آن هم به زبان انگلیسی است. همچنین بسیاری از آموزشها و مستندات نرمافزارها و زبانهای برنامهنویسی همگی به انگلیسی هستند. - توانایی خودیادگیری (Self-Learning) داشتن
شما باید بتوانید با مشاهده/مطالعه آموزشها و مستندات زبانهای برنامه نویسی در هر یک رشد کنید.
سایتهای پر بازدید برای برنامه نویسی و طراحی وب
- بدون شک با سایت گوگل به جهت جستجوی آموزشها و مستندات زبانهای برنامهنویسی تحت وب و نیز رفع اشکال کدهای خود یا یافتن راه حل برای انجام یک قصد خاص بسیار سر و کار خواهید داشت. پس لطفاً همزمان با یادگیری برنامهنویسی، شیوههای درست جستجو (خصوصاً با زبان انگلیسی) در گوگل را نیز یاد بگیرید.
- سایت پر بازدید بعدی، که در اکثر جستجوهای سوالی شما برای حل مشکلات کدها یا ارائه راه حل با آن مواجه خواهید شد، استکاورفلو است. حتماً در نتایج جستجو اول به این سایت سر بزنید.
- سایت بعدی که به نوعی مرجع مستندات زبانهای برنامهنویسی تحت وب و زبانهای نشانهگذاری متن (مثل HTML) به حساب میآید دبلیوتریاسکولز است.
با این که هر کدام از موارد مطرح شده در دستهبندیهای بکاند و فرانتاند دارای لایههای ساده، متوسط، پیشرفته و فوق پیشرفته و دارای زبانها، فریمورکها و شاخههای متنوعی هستند. اما پیشنهاد میشود برای نتیجهگیری سریعتر و رسیدن به نقطه حداقلی کسب درآمد، مسیر زیر را پیش بگیرید.
برای یادگرفتن برنامه نویسی و طراحی وب از کجا شروع کنیم؟
- یادگیری اصول اولیه پیادهسازی فرانتاند
الف) یادگیری HTML در سایت w3schools.com
ب) یادگیری CSS در سایت w3schools.com
ج) یادگیری JavaScript در سایت w3schools.com
* توجه: یادگیری نرمافزارهای طراحی گرافیکی گرچه مفید است اما در این نوشته قصد راهنمایی شما به سمت برنامهنویسی را داشتهام که طراحی رابط کاربری (UI) شاملش نمیشود. - تبدیل یک طرح ساده PSD یا Sketch که از پیشطراحی یا دانلود شده به کدهای HTML/CSS
- یادگیری زبان سمت سرور PHP در سایت w3schools.com
- یادگیری یک سیستم مدیرت محتوا (CMS یا Content Management System) ترجیحاً وردپرس (WordPress) با جستجوی آموزشهای آن در گوگل
- یادگیری راهاندازی یک سایت با وردپرس
- یادگیری مفاهیم اولیه در زمینه هاست (Host) و دامین (Domain) جهت بارگذاری سایت در شبکه اینترنت
توجه: در صورتی که قصد ندارید فولاستک شوید میتوانید بندهای ۱ و ۲ را برای فرانتاند و بندهای ۳ تا ۶ را برای بکاند به صورت مجزا یاد بگیرید.
تأکید میکنم شما با فراگیری مراحل ششگانه بالا به یک برنامهنویس تازهکار تبدیل میشوید و تا کسب تجربه و مهارتهای لازم راه درازی را در پیش خواهید داشت. یک نکته هم از قلم افتاد و آن این که میتوان بدون دانش زبانِ سمتِ سرورِ PHP که در بند ۳ ذکر کردم، یک سایت وردپرسی کامل ساخت و تحویل مشتری داد اما چون بنای این نوشته، راهبرد خواننده محترم به سمت برنامهنویسیست، این بند نیز درج شده است.
امیدوارم از این نوشته استفاده کافی برده باشید. با آرزوی موفقیت!