تفاوت-بک-اند-و-فرانت-اند

تفاوت بک اند و فرانت اند ؟

تفاوت بک اند و فرانت اند در طراحی سایت بسیار مهم است. در واقع امروزه بدون تشخیص این دو از هم امکان طراحی سایت حرفه ای تقریبا وجود ندارد. در این مقاله سعی داریم تا فرق بین بک اند و فرانت اند را برای شما باز گو کنیم.

بک اند و فرانت اند دو مقوله جدا از هم هستند. این روزها در دنیای طراحی سایت دو شغل مجزا از هم محسوب می شوند. بک اند کاران و فرانت اند کاران در کنار هم به یک سایت موجودیت می بخشند. اما پیش از بررسی تفاوت بین بک اند و فرانت اند، باید تعریف هر کدام از این دو مقوله را بدانیم.

پیش از معرفی Back end و Front end، باید بدانیم در دنیای وب و اینترنت برنامه ها و کدهای نوشته شده به 2 دسته تقسیم می‌شوند.

  1. کدها و برنامه هایی که کاربر به طور مستقیم با آنها سر و کار دارد.
  2. کدها و برنامه هایی که کاربر به طور مستقیم با آنها سر و کار ندارد. در واقع کاربر اصلا آنها را نمیبیند و درک خاصی از آنها نخواهد داشت. این کدها از طریق یک سرور به مرورگر کاربر منتقل می شود.

فرانت اند ( Front end ) چیست؟

به تمام کدها و برنامه هایی که کاربر به طور مستقیم با آنها سر و کار دارد Front end میگویند. در واقع هر آنچه از سایت که شما میبینید مربوط به بخش فرانت اند است. در واقع هر آن چه که در نرم افزارهای طراحی مثل فتوشاپ و کورل طراحی و سپس کد نویسی می شود مربوط به بخش فرانت اند است که توسط فرانت دولوپر انجام میگیرد.  فرانت اند از 2 بخش تشکیل میشود:

  1. طراحی سایت
  2. توسعه طراحی در وب

بک اند ( back end ) چیست؟

بک اند از سری کدهایی است که کاربر به طور مستقیم با آن سر و کار ندارد. در واقع این کدها توسط یک برنامه نویس بک اند نوشته می شوند و همانطور که از واژه Back end مشخص است کدها و برنامه هایی است که در پشت پرده هر سایت وجود دارند. هر بک اند از 3 بخش تشکیل می شوند:

  1. سرور
  2. برنامه
  3. دیتابیس یا پایگاه داده

بک-اند

تفاوت بک اند و فرانت اند

با توجه به توضیحاتی که در بالا دادیم، تفاوت بین بک اند و فرانت اند کاملا آشکار است. زمانی که شما سایتی را باز می‌کنید. طراحی و ظاهر سایت، هر آن چیزی که پیش روی چشمان شماس، هر تغییری که با هر کلیک ایجاد شود، جایی که اطلاعاتی مثل اطلاعات کاربری خود را وارد می‌کنید و …. جزو فرانت اند است. اما در پشت پرده خبرهای دیگری است. کدها و برنامه‌هایی هست که شما از وجود آنها بی خبرید. شاید درکی از وجود آنها نداشه باشید اما همین کدها و برنامه‌ها اهداف و دستورات شما را در سایت مورد نظر پیش می‌برند.

برای اینکه فرق بین بک اند و فرانت اند ساده تر توضیح دهیم یک مثال می‌زنیم:

تصور کنید می‌خواهید از یک سایت فروشگاهی به صورت آنلاین خرید کنید. آدرس سایت یا دامنه را در نوار URL وارد کردید و اینتر را زدید. صفحه‌ای برای شما باز می‌شود که نام کاربری و مشخصات خود را می‌توانید در آن وارد کنید. اینها بخشی از فرانت اند است که میبینید و میتوانید کدها و اطلاعاتی را وارد کنید. اما اطلاعات شما توسط برنامه ای که که برای سایت نوشته شده به سرور منتقل شده و به عنوان یک دیتابیس در آن ذخیره می شود. این روند طی دستور العملی که برنامه نویس بک اند تعریف کرده اجرا میشود. البته تمام تعریف بک اند نیست.

در واقع بک اند ساختار و اسکلت برنامه نویسی سایت شماست که توسط برنامه نویس بک اند یا بک اند دولوپر نوشته و تنظیم می شود. هر دستور العملی که در سایتی وارد کنید یا پاسخی که دریافت می کنید توسط کدهای Backend پردازش شده و اجرا میشود.

اما طراحی چهره و جزئیات سایت در نرم افزارهای گرافیکی مثل فتوشاپ و تبدیل آن به سایت جز فرایندهای فرانت اند است. همانطور که پیش تر گفتیم فرانت اند از 2 بخش تشکیل شده است که توسط برنامه نویس فرانت اند یا فرانت اند دولوپر تنظیم و اجرا می‌شود. درواقع فرانت اند دولوپر جزئیات و بخش های مختلف سایت را با نرم افزارهای موجود طراحی می کند و با کدهای HTML و CSS به طراحی خود در دنیای وب جان می دهد.

پس می توان گفت که یک تفاوت بک اند و فرانت اند زبان برنامه نویسی انهاست. برنامه نویس فرانت اند باید به زبان HTML و CSS مسلط باشد در حالی که بک اند دولوپر باید بتواند با زبان PHP، ASP.NET و …. بک اند را مدیریت و اجرا کند.

اگر بخواهیم فرق بین بک اند و فرانت اند را جمع بندی کنیم:

وقتی سایتی را باز میکنید، ظاهر سایت را با کدهای جاوا اسکریپت، HTML  و CSS می‌بینید. این همان front end است. علاوه بر این کدها و برنامه‌های دیگری هم نوشته شده‌اند که شما آنها نمی‌بینید و به آنها دسترسی ندارید. ولی در حال اجرا هستند و روی عملکرد سایت، عملکرد کدها و قوانین فرانت اند و تمام پردازشهای اطلاعاتی تاثیر گذارند. آنها به‌ وسیله یک سرور به‌دست شما رسیده‌اند ولی قابل دیدن نیستند. این‌ها همان Bach end هستند.

فرانت-اند

با توجه به آنچه گفته شد:

_ هر چیزی که کاربر در مرورگر می‌بیند front end است و کدهایی که به آنها دسترسی ندارد back end است.

_ تمام عملکردهای بصری مثل سازگار کردن اندازه صفحه با شرایط مختلف یا بهینه سازی موتورهای جستجو، آپدیت کردن برنامه ها و… به واسطه کدها و برنامه نویسی فرانت اند انجام می‌شود.

_ کدهای فرانت اند را میتوانید در سیستم و مرور گر خود ببینید اما کدهای بک اند قابل دیدن نیستند. و فقط اثرات آن را حس خواهید کرد. یک لامپ را در نظر بگیرید. وقتی کلید برق را بزنید نور را خواهید دید اما جریان داخل آن را نخواهید دید. جریان وجود دارد و شما فقط اثر آن را در لامپ میبینید. لامپ فرانت اند و جریان بک اند است. این اصلی ترین تفاوت بین بک اند و فرانت اند است.

_ زبان‌های برنامه نویسی در بک اند و فرانت اند با هم به‌طور کلی با هم متفاوت اند.

_  back end داده‌ها را پردازش و جمع‌بندی کرده و برای front end می‌فرستد تا در مرورگر کاربر نمایش داده شوند.

باتوجه به تفاوت بک اند و فرانت اند، یادگیری کدام یک بهتر است؟

پاسخ قاطعانه ای برای این سوال وجود ندارد. در واقع مثل انتخاب رشته در دوران دانشگاه است. همه چیز به توانایی و علاقه شخصی شما بستگی دارد. عده ای در طراحی سایت و خلاقیت توانمند هستند. و عده ای در برنامه نویسی و کد نویسی تبحر دارند. با توجه به تفاوت بین بک اند و فرانت اند نمیتوان گفت که کدام یک بر دیگری ارجحیت دارد. از این رو مهارت ها و علایق شخصی خود را بسنجید و بر مبنای آن انتخاب کنید که دوست دارید بک اند دولوپر باشید یا فرانت اند دولوپر!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *