می خواهم برنامه نویس وب شوم، از کجا باید شروع کنم؟
سؤال بالا، سوالی است که اکثر افراد هنگام شروع به یادگیری مباحث طراحی وب، با آن مواجه میشوند. اما به راستی، اگر بخواهیم طراحی وب ( دیزاینر وب) را آغاز کنیم، باید از چه زبانی شروع کنیم؟ چه نکاتی باید رعایت شوند؟ ابتدا نیاز است تا چند مفهوم کاربردی را در زمینه وب، بررسی کنیم. در کل 2 نوع وبسایت داریم، وبسایت های استاتیک یا ایستا و وبسایتهای داینامیک یا پویا.
وبسایتهای استاتیک یا ایستا
به مفهوم کلی به سایت هایی ایستا گفته میشود که این سایت ها هیچ پنل مدیریتی ندارند و کاربر برای تغییر یا اضافه کردن صفحه ی جدید باید آن را ادیت و یا کد نویسی آن صفحه را انجام دهد.
وبسایتهای داینامیک یا پویا
وبسایت های داینامیک به سایت های مدیریتی گفته میشود که کاربر توسط پنل مدیریتی آن را مدیریت میکند و کارکرد آن مانند سرویس وبلاگ دهی است و به مفهوم کلی در این نوع وبسایت ها کاربر نیاز ندارد تا برای ادیت و یا اضافه کردن صفحه ی جدید کد نویسی کند .(دقیقا برعکس استاتیک)
در دنیای طراحی وبسایت دو نوع طراح وبسایت وجود دارد ( بک اند و فرانت اند )
برای درک بهتر این دو نوع طراحی وبسایت در ادامه ی این مقاله همراه ما باشید .
تعریف واژهی فرانت اند(Client Side)
Front End چیست: در عبارت Front End، همانطور که میبینید واژهی Front وجود دارد. و در انگلیسی یکی از معانی Front، به معنای «جلو» میباشد.
و معنی واژهی Front به این صورت آمده است: جلو، پیش، صف پیش، نما، طرز برخورد، جلودار، منادی،جبهه جنگ، بطرف جلو، روکردن به، مواجه شده با،روبروی هم قرار دادن، مقدمه نوشتن بر، درصف جلوقرارگرفتن
با توجه به تعریفی که از این واژه دیدیم، میتوانیم در پاسخ به سوال Front End چیست بگوییم:
طراحی یا کدنویسی هر آن چیزی که مربوط به جلوی وبسایت میشود. در واقع یک طراح وب یا یک Front End Developer، کسی است که چیزی را طراحی میکند و کاربر آنرا میبیند.
تفاوت برنامه نویس فرانت اند با UI Designer
در ادامهی پاسخ به سوال Front End چیست میخواهیم کمی ریز تر به این مفهوم نگاه کنیم.
اگر بخواهیم در دنیای طراحی وب کمی ریز تر و عمیق تر شویم، باز با ۲ مفهوم دیگر مواجه میشویم:
- برنامه نویس فرانت اند یا Front End Developer
- طراح رابط کاربری یا UI Designer (Ui مخفف User Interface میباشد)
اما طراح رابط کاربری، کار متفاوتی انجام میدهد. کسی که با عنوان UI Designer کار میکند، کارهای مربوط به کدنویسی را انجام نمیدهد و هرگز خودش دست به کد نمیشود.
بلکه یک طراح رابط کاربری، کارش طراحی گرافیک سایت در نرم افزارهایی مثل فتوشاپ (Photoshop) است. این افراد رابط کاربری و شکل ظاهری یک صفحه وب را در فتوشاپ (یا سایر نرم افزارهای مشابه مثل Sketch) طراحی میکنند و سپس فایل PSD را در اختیار آن شخصی میگذارند که کدنویسی فرانت اند را انجام میدهد و اصطلاحا فرانت اند دولوپر است.
پس کار یک UI Designer صرفا با نرم افزارهای گرافیکیست و کاری با کدها ندارد، و کار یک طراح وب فرانت اند، با کد ها است و با کدنویسی میتواند صفحات وب مختلفی را طراحی کند.
تعریف واژهی بک اند (Server Side)
در نقطهی مقابل Front End، واژه و مفهوم Back End وجود دارد که اینگونه معنا میشود:
برنامه نویسی بک اند (Back End) مربوط به کدنویسی و برنامه نویسی هر آن چیزی است که کاربر آن را مشاهده نمیکند و مربوط به کارهای پشت صحنه وب سایت است. در واقع وقتی که یک وبسایت، مقالات را از دیتابیس دریافت میکند، یک امر مربوط به بک اند است. وظیفهی یک برنامه نویس بک اند، برنامه نویسی چیزهایی است که هسته اصلی یک وبسایت هستند و کاربر کدهای آنرا بصورت مستقیم مشاهده نمیکند.
برای درک بهتر این دو یک تئاتر را در نظر بگیرید!
برای اینکه این دو مفهوم را بهتر متوجه شوید، یک اجرای تئاتر را در نظر بگیرید. اگر یک تئاتر بخواهد اجرا شود، به دو گروه از افراد نیاز دارد:
- بازیگرهایی که اجرای صحنهی تئاتر را بر عهده دارند
- نویسنده، کارگردان، تهیهکننده، نورپردازی و… که بصورت مستقیم روی صحنه نمیآیند، ولی تاثیر کار آنها در اجرای تئاتر موثر است.
دو حیطهی مختلف Front End و Back End نیز دقیقا به همین صورت است:
- تمام آن چیزی که مربوط به ظاهر سایت میباشد (مثل بازیگران در صحنه تئاتر) مربوط به اجرای Front End.
- و تمام آن چیزی که مربوط به کارهای پشت صحنه سایت میباشد (مثل کارگردان و تهیه کننده که در پشت صحنه هستند) با نام Back End شناخته میشود
مهارت های یک طراح وب فرانت اند چیست؟
برای تبدیل شدن به یک طراح وب فرانت اند، شما به مهارت های بسیاری نیاز دارید که همهی آنها برایتان کاربردی خواهد بود. در زیر بصورت خلاصه این مهارتها را عنوان میکنیم و در آینده در یک مقاله و آموزش تخصصی، دربارهی تمام مهارتهایی که برای تبدیل شدن به یک طراح وب فرانت اند نیاز داریم صحبت میکینم.
لیست مهارتهایی که یک Front End Developer باشد داشته باشد:
- HTML
- CSS
- Javascript
- کتابخانهها و فریمورک های جاوا اسکریپت (مثل جی کوئری)
- کتابخانههای CSS مثل بوت استرپ
- پردازندههای CSS مثل Sass یا Less
- طراحی وب واکنش گرا (Responsive Web Design)
- نرم افزارهای گرافیکی (فتوشاپ و شاید کمیIllustrator)
- تست و آزمون خطا
- و مهارتجانی دیگری
مهارت های یک طراح وب بک اند چیست؟
برای تبدیل شدن به یک برنامه نویس بک اند، شما باید مهارتهای زیادی داشته باشید.
زبان برنامه نویسی سمت سرور
برای برنامه نویسی سمت سرور یا برنامه نویسی بک اند، اولین چیزی که نیاز دارید، یک زبان برنامه نویسیای است که سمت سرور اجرا شود. برای مثال زبانی مثل PHP یک زبان برنامه نویسی Back End است که باید روی سرور اجرا شود. پر در اولین قدم شما به یک زبان برنامه نویسی نیاز دارید.
پایگاه داده
دومین چیزی که حتما و قطعا به آن نیاز دارید، پیدا کردن تسلط به یک دیتابیس یا پایگاه داده است.
میتوان گفت که اصلی ترین کار زبان های برنامه نویسی سمت سرور، توانایی ارتباط برقرار کردن آنها با دیتابیس است.
وقتی شما به دیتابیس مسلط باشید و بتوانید با استفاده از زبان برنامه نویسیتان به دیتابیس وصل شوید، میتوانید به سرویسهای آنلاینتان قدرت فوق العادهای بدهید و از مزیتهای فوق العادهی دیتابیس استفاده کنید.
مباحث پیشرفته زبان برنامه نویسی
یکی از مباحثی که برای شما بسیار مفید خواهد بود، استفاده قابلیتهای حرفهای زبان برنامه نویسیتان است. به این معنا که بتوانید با آن زبان برنامه نویسی که کار میکنید، کدهای حرفهای و پیشرفتهای بنویسید. هرچقدر کدی که مینویسید بهتر و حرفهای و تمیزتر باشد، بازدهی کد شما بالاتر میرود و در نهایت سرویس آنلاین قوی تر و سریعتری خواهید داشت.
برای مثال در برنامه نویسی PHP، شما اگر بتوانید کدتان را به شیوهی شی گرایی (Object Oriented) بنویسید، کد شما میتواند خیلی تمیزتر، سریعتر و حرفهای تر باشد.
توانایی حل مسئله
وقتی در خصوص برنامه نویسی سمت سرور یا Back End صحبت میکنیم، یکی از چیزهایی که برای شما ضروری است،توانایی حل مسئله و داشتن یک ذهن تحلیلگر است.
داشتن ذهن تحلیلگر، یکی از مهمترین ویژگی هایی است که هر برنامه نویسی باید از آن بهره ببرد.
لیست مهارتهایی که یک Back End Developer باشد داشته باشد:
- PHP
- net
- Hack
- #C
- Python
- Perl
- Ruby
- Java