راهنمای جامع تفاوت فرانت اند و بک اند (Front End vs Back End)
اگر در دنیای برنامه نویسی سمت وب وارد شده باشید، حتما با دو مفهوم فرانت اند (Frontend) و بک اند (Backend) مواجه شدهاید. همینطور در کنار این دو مفهوم، کلمهی دیگری به نام فول استک (Full Stack) نیز به چشم میخورد. در این مقاله و فیلم آموزشی بصورت کامل میخواهیم تفاوت فرانت اند و بک اند را بررسی کنیم و بگوییم که هرکدام چه کاربردی دارند. پس با من همراه باشید.
یک نگاه کلی
در پاسخ به سوال تفاوت فرانت اند و بک اند چیست؟ خوب است که یک توضیح کلی بدهیم. اگر شما آگهی های استخدام برنامه نویس ها را مشاهده کنید، حتما با سه عبارت کلی مواجه میشوید:
- استخدام برنامه نویس/طراح فرانت اند
- استخدام برنامه نویس بک اند
- استخدام برنامه نویس فول استک
هر ۳ تخصصی که در بالا عنوان کردیم، یک کار کلی دارند: توسعهی وب. به این معنا که تمام آنها با استفاده از تخصصی که دارند اقدام به توسعهی صفحات وب میکنند. اما هرکدام با روش مختلفی اینکار را انجام میدهند.
هرکدام از این تخصص ها و فرصت های شغلی یک تعریف مخصوص به خودشان را دارند و برای اینکه بتوانید در هرکدام از این جایگاه های شغلی کار کنید، نیاز است که تخصص های متفاوت و مختلفی داشته باشید.
در ادامه دربارهی هرکدام از این تخصص ها بیشتر صحبت میکنیم و به تفاوت فرانت اند و بک اند بیشتر میپردازیم.
فرانت اند (Frontend) چیست؟
برای پاسخ دادن به سوال تفاوت فرانت اند و بک اند میخواهیم در ابتدا دربارهی فرانت اند (Front End) صحبت کنیم و ببینیم که واقعا چه معنایی دارد.
یکی از کارهایی که شما برای توسعهی وب میتوانید انجام دهید، طراحی/برنامه نویسی فرانت اند است. این تخصص را با نام های طراح وب، فرانت اند کار، برنامه نویس فرانت اند و… نیز میشناسند. معادل انگلیسی این تخصص Front End Developer یا Front End Designer میباشد (البته که باز هم در بحث فرانت اند، طراح و برنامه نویس باهم متفاوت هستند، اما در این بخش میخواهیم خیلی کلی مبحث فرانت اند را بررسی کنیم)
کسی که در بخش فرانت اند کار میکند، وظیفهی ساخت چیزهایی را دارد که کاربر آن ها را میبیند. در واقع کار این فرد طراحی و ساخت قسمت هایی از وب است که کاربر روی مانیتور آنهارا مشاهده میکند و با آنها کار میکند.
برای پی بردن به تفاوت فرانت اند و بک اند خوب است که دربارهی زبان های هر حیطه نیز صحبت کنیم. طراحی/برنامه نویسی فرانت اند را با زبانها/اسکریپت های زیر میتوانید انجام دهید:
- HTML (چیست و چه کاربردی دارد؟)
- CSS (چیست و چه کاربردی دارد؟)
- جاوا اسکریپت (چیست و چه کاربردی دارد؟)
- جی کوئریپ (چیست و چه کاربردی دارد؟)
- و…
اگر میخواهید دربارهی فرانت اند بیشتر بدانید، پیشنهاد میکنم مقالهی تخصصی زیر را مطالعه کنید. میتواند برایتان بسیار مفید باشد:
Front End چیست و به چه کسی برنامه نویس فرانت اند میگویند؟
بک اند (Backend) چیست؟
در ادامهی بررسی تفاوت فرانت اند و بک اند، میخواهیم دربارهی بک اند یا Back End صحبت کنیم. این تخصص را با نام های برنامه نویس بک اند، بک اند کار، برنامه نویس سمت سرور، Back End developer و… نیز میشناسند.
وظیفهی برنامه نویس بک اند انجام کارها و نوشتن کدهایی است که در پشت صحنه اجرا میشوند. این کدها در پشت صحنه میتوانند به یک پایگاه داده وصل شوند، اطلاعات را وارد پایگاه داده کنند، اطلاعات پایگاه داده را بخوانند و به کاربران نمایش دهند و … .
در واقع کار برنامه نویس بک اند این است که کارهای پشت صحنه و محاسباتی را انجام دهد. اگر میخواهید یک برنامه نویس بک اند باشید، باید به یکی از زبان های برنامه نویسی سمت سرور مثل زبان های زیر مسلط باشید:
- PHP (همه چیز دربارهی PHP)
- Python
- ASP.NET
- و…
همینطور شما نیاز دارید به تسلط به یک پایگاه داده که بتوانید با آن ارتباط برقرار کنید و از آن استفاده کنید. پیشنهاد میکنم برای اطلاعات بیشتر ۲ آموزش زیر را مشاهده کنید:
- پایگاه داده یا Database چیست؟ همه چیز دربارهی دیتابیس (صفر تا صد)
- MySQL چیست؟ همه چیز دربارهی MySQL و کاربرد آن
اگر میخواهید دربارهی بک اند بیشتر بدانید، پیشنهاد میکنم مقالهی تخصصی زیر را مطالعه کنید. میتواند برایتان بسیار مفید باشد:
Back End چیست و به چه کسی برنامه نویس بک اند میگویند؟
تفاوت فرانت اند و بک اند چیست؟
اگر بخواهیم خیلی کوتاه و خلاصه تفاوت فرانت اند و بک اند را داشته باشیم، میتوانیم بگوییم:
فرانت اند مربوط به ساخت چیزهایی میشود که کاربر آنها را میبیند و با آنها تعامل دارد. ولی بک اند مربوط به ساخت چیزهایی میشود که کارهای پشت صحنه هستند و کسی آنها را نمیبیند.
بک اند رو یاد بگیرم یا فرانت اند؟ کدومش بهتره؟
این سوالی است که بسیار زیاد از ما پرسیده میشود. که کدام یک از این حیطهها را برای یادگیری انتخاب کنیم. پاسخ دادن به این سوال نمیتواند قطعی باشد و کاملا بستگی به توامندی های فردی دارد.
بعضی از افراد هستند که در هنر و گرافیک قوی تر هستند، نقاشی های بهتری میکشند، ذهن هنری قوی تری دارند، احتمالا دست خط زیبایی دارند و بصورت کلی اهل هنر و رنگ و زیبایی هستند. این افراد احتمالا برای طراحی وب و فرانت اند افراد مناسب تری هستند.
اما گروه دیگری از افراد هستند که ذهن منطقی دارند و بصورت ۰ و ۱ فکر میکنند، زیبا به هنر تسلط ندارند و رنگ ها را خوب بلد نیستند، اما بشدت منطقی هستند و علاقه به تحلیل و بررسی دارند. این افراد احتمالا برای برنامه نویسی وب و یا همان بک اند افراد مناسب تری هستند.
اما اگر دقت کنید، من از عبارت «احتمالا» استفاده کردهام. ممکن است شما در هنر و گرافیک خوب باشید، اما بک اند کار بهتری باشید. و یا اینکه ذهن منطقی داشته باشید، اما بتوانید گرافیک خوبی برای صفحات وب طراحی کنید.
پیشنهاد من به شما این است که هر دوی این حیطهها را تست کنید تا ببینید که به کدام حیطه علاقهی بیشتری دارید. مهم ترین نکته علاقهی شماست. اگر وارد حیطهای شوید که عاشق آن هستید، میتوانید بدون وقفه یاد بگیرید و ساعت ها روی آن حیطه زمان بگذارید.
فول استک (Full Stack) چیست؟
در کنار دو مفهوم فرانت اند و بک اند، مفهوم دیگری نیز وجود دارد به نام فول استک که در این بخش میخواهیم بصورت خیلی خلاصه آن را بررسی کنیم:
در دنیای طراحی و برنامه نویسی وب، اشخاصی هستند که هم طراحی وب را انجام میدهند و هم به برنامه نویسی وب مسلط هستند. در واقع این افراد اشخاصی هستند که به تنهایی میتوانند یک پروژهی تقریبا بزرگ را به پایان برسانند. به این افراد برنامه نویس Full Stack میگویند.
در واقع یک برنامه نویس فول استک، هم میتواند ظاهرهای بسیار خوبی را برای سرویس های آنلاین طراحی کند و هم میتواند برنامه نویس سمت سرور خوبی باشد.
اگر میخواهید دربارهی فول استک بیشتر بدانید، پیشنهاد میکنم مقالهی تخصصی زیر را مطالعه کنید. میتواند برایتان بسیار مفید باشد:
Full Stack چیست و به چه کسی برنامه نویس فول استک میگویند؟
حرف آخر
در این مقاله و فیلم آموزشی بصورت کامل با تفاوت فرانت اند و بک اند آشنا شدیم. پیشنهاد میکنم که حتما مقالات آموزشی تکمیلی که در این آموزش لینک هایشان را قرار دادیم را مطالعه کنید. این آموزش ها میتواند برای شما بسیار مفید باشند.
نظر شما دربارهی هرکدام از این حیطه ها چیست؟ میخواهید به یک برنامه نویس فرانت اند تبدیل شوید یا بک اند؟ بنظرتان کدام یک از این حیطه ها جذاب تر هستند؟ تجربیات و نظرات شما برای ما بسیار ارزشمند هستند و همگی میتوانیم از آن استفاده کنیم، پس لطفا نظرتان را برایمان بنویسید.
درباره مهدی خسروی
۸ سال پیش که یادگیری برنامه نویسی رو آغاز کردم، با یک مشکل بزرگ مواجه شدم: کمبود منابع آموزشی حرفهای و کاربردی به زبان فارسی. به همین دلیل، بعد از چندین سال فعالیت حرفهای در زمینهی برنامه نویسی، تصمیم گرفتم دانستهها و تجربیات خودم را با شما عزیزان به اشتراک بگذارم. پیشنهاد میکنم به آدرس yadify.com/gifts حتما سر بزنید :)
نوشته های بیشتر از مهدی خسرویمطالب زیر را حتما مطالعه کنید
3 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش میشوند.
با درود و خسته نباشید خدمت شما عزیزان.!
مطالب، بسیار شیوا و روان تنظیم شده اند و بسیار کاربردی و مفید هستند بخصوص یکسری مباحث پایه ای که همیشه آدم در موردشون ابهام داشته، به خوبی هر چه تمام تر مطرح شده و شرح داده شده اند.!
خدا قوت.
سلام بهنام عزیز
خوشحالم که مباحث براتون مفید واقع شده. درود بر شما
عرض سلام و خدا قوووت
عالی فوق العاده محشر و بینظیر بود.
من هیچی از فرانت اند و بک اند و فول استک نمی دونستم ولی با خوندن همین مطلب
کامل و راحت فهمیدم و نیازی به خوندن مطلب از سایت دیگه ای ندارم.
مرررسی
موفق باشید!!!
سلام. ممنونم از شما. خوشحالم که واستون مفید بوده