اگر یک مهندس توسعه وب یا کدنویس تازه کار هستید، ممکن است با شنیدن عباراتی مثل Front End ، Back End و Full-stack سردرگم شوید و ممکن است ذهنتان به سمت زبانهای برنامه نویسی مانند Ruby on Rails و Javascript منحرف شود.
پس بیایید یک نظرسنجی سریع انجام دهید. اگر شما هم این سؤالها را دارید که «اینها به چه معنی هستند؟ و فرق بین Front End و Back End چیست؟»، با ما همراه باشید.
ما معتقدیم برای همه کسانی که آماده یادگیری برنامه نویسی هستند و برای مسلط شدن به آن تلاش میکنند، جایگاهی در این فناوری وجود دارد. پس بیایید سردرگمیمان درباره برخی از این اصطلاحات فنی را برطرف کنیم. ما در این مطلب تفاوت بین Front End و Back End را به شما توضیح میدهیم.
پرسشهایی که امروز روی پاسخ دادن به آنها کار میکنیم، اینها هستند:
- front end چیست؟
- back end چیست؟
- توسعه front end و back end چه تفاوتی دارند؟
- توسعه full-stack چیست؟
- کدام یک مهمتر است؟ front end یا back end ؟
قبل از هر چیز، باید به این مورد اشاره کنیم که توسعه وب سایت، شامل فرآیند ساخت وب سایت و اپلیکیشنهای آن است. بر خلاف طراحی UI UX ، توسعه وب بیشتر بر کدنویسی و اطمینان از عملکرد خوب وب سایت تمرکز دارد. این اساساً همان قابلیت استفاده از وب سایت و اپلیکیشنهایش است. اما اطلاحاتی مانند front end و back end کجای این داستان قرار میگیرند؟ توسعه فرانت اند و توسعه بک اند، دو نوع مختلف توسعه وب هستند.
پس بیایید وارد داستان شویم و با این دو سبک توسعه وب آشنا شویم!
توسعه front end چیست؟
توسعه دهندگان فرانت اند کارهای خود را از دید یک کاربر انجام میدهند. front end سبکی از برنامه نویسی کامپیوتری است که بر کدنویسی و ایجاد آن عناصر و ویژگیهایی از یک وب سایت تمرکز دارد که توسط کاربر دیده میشوند. این روش توسعه بیشتر بر کاربردی بودن جنبههای بصری یک وب سایت تأکید میکند. شما همچنین میتوانید front end را به عنوان client side یک اپلیکیشن در نظر بگیرید. این بدان معناست که وظیفه شما کدنویسی و زنده کردن عناصر بصری یک وب سایت است. شما بیشتر روی آنچه که کاربر هنگام بازدید از یک وب سایت یا اپلیکیشن میبیند متمرکز خواهید بود. و شما باید اطمینان حاصل کنید که تعامل با سایت آسان است و در عین حال روان کار میکند.
این توسعه دهندگان طرحهای بصری را از طراحان UX و UI میگیرند، وب سایت را زنده میکنند و مطمئن میشوند که به خوبی برای کاربر کار میکند. یکی از راههایی که میتوانید از مهارتهای فرانت اند استفاده کنید، ایجاد یک وب سایت static است. این مدل وب سایتها محتوایی ثابت دارند که دقیقاً همانطوری که ذخیره شدهاند، به مرورگر کاربر تحویل داده میشوند. یک صفحه فرود ساده یا یک وب سایت کسب و کار کوچک که به کاربران اجازه انجام کارهای تعاملی را نمیدهد، نمونههایی از وب سایتهای static هستند.
توسعه دهندگان front end عناصری زیر را طراحی میکنند:
- دکمهها (Buttons)
- طرحبندیها (Layouts)
- ناوبری (Navigation)
- تصاویر
- عناصر گرافیکی
- انیمیشنها
- سازماندهی محتوا
توسعه back end چیست؟
back end روی سمتی تمرکز دارد که کاربران نمیتوانند ببینند. این چیزی است که یک سایت را تعاملی یا interactive میکند. شما همچنین میتوانید به بک اند به عنوان server side یک وب سایت اشاره کنید. به عنوان مثال، فرض کنید شما یک وب سایت شبکه اجتماعی را ران میکنید. شما به مکانی برای ذخیره اطلاعات تمام کاربران خود نیاز دارید. این مرکز ذخیره سازی، دیتابیس نامیده میشود و چند نمونه پرکاربرد آن عبارتند از: Oracle، SQL Server و MySQL. دیتابیسها از یک سرور، که در حقیقت یک Remote computer است ران میشوند. یک توسعه دهنده back end به مدیریت این دیتابیس و همچنین محتوای سایت که در آن ذخیره شده کمک میکند. این کار تضمین میکند که عناصر front end وب سایت شبکه اجتماعی شما میتوانند به درستی کار کنند، زیرا کاربران محتوای آپلود شده و پروفایل سایر کاربران را مرور میکنند.
با این که کاربران مستقیماً با back end یک وب سایت ارتباط برقرار نمیکنند، آنها به طور غیرمستقیم با عناصری که این توسعهدهندگان از طریق یک اپلیکیشن front end روی آنها کار میکنند، تعامل خواهند داشت. توسعه back end با ذخیره و ترتیببندی دادهها سر و کار دارد و در عین حال به شما اطمینان میدهد که فرانت اند به خوبی کار میکند.
توسعه دهندگان back end روی موارد زیر کار میکنند:
- کدسازی
- عیبیابی و رفع اشکال وب اپلیکیشنها (Troubleshooting and debugging web applications)
- مدیریت دیتابیس
- استفاده از فریم ورک (Framework utilization)
front end و back end چه تفاوتی دارند؟

هنوز به این فکر میکنید که «فرانت اند و بک اند چه تفاوتی دارند؟» اکنون که یک دید کلی از front end و back end به دست آوردید، اجازه دهید تفاوتهای آنها را مورد بحث قرار دهیم. 4 تفاوت اصلی وجود دارد که فرانت اند و بک اند را از هم متمایز میکند.
توسعه دهندگان front end و back end در side های مختلف یک وب سایت کار میکنند
توسعه front end نوعی برنامه نویسی است که بر عناصر بصری یک وب سایت یا اپلیکیشن تمرکز میکند. عناصری که کاربر با آن تعامل دارد. (Client side) در همین حال، توسعه back end بر side دیگری از وب سایت تمرکز میکند که کاربران نمیتوانند آن را ببینند. (Server side). آنها با هم کار میکنند تا یک وب سایت dynamic ایجاد کنند تا به کاربران امکان خرید، استفاده از فرمهای تماس با ما، و هر فعالیت دیگری که ممکن است در حین مرور یک سایت در آن شرکت کنید را ارائه دهند. برخی از نمونههای یک وب سایت dynamic عبارتند از: Netflix، PayPal، Facebook و Instagram.
توسعه دهندگان front end و back end دارای نقاط قوت متفاوتی هستند
توسعه دهندگان فرانت اند و بک اند نقاط قوت متفاوتی دارند، اما به خاطر داشته باشید هیچ کدام از side های توسعه سختتر یا مهمتر از دیگری نیست. در واقع، هر دوی آنها در ایجاد یک وب سایت جذاب که کاربران از تعامل با آن لذت ببرند، به یک اندازه مهم هستند.
کدام توسعه دهندگان درامد بیشتری دارند؟
با تفاوت در نقاط قوت، دستمزدها نیز متفاوت میشود. بر اساس گزارش Glassdoor، یک توسعه دهنده متوسط فرانت اند، در ایالات متحده سالیانه 76.929 دلار درآمد دارد. توسعه دهندگان بک اند به طور سالانه متوسط 101.619 دلار درآمد دارند.
اگر چه تفاوتهایی در میزان درآمد شما در بازار کار برنامه نویسی وجود دارد، اما بسته به اینکه به عنوان یک توسعه دهنده تا چه حد در کار خود پیشرفت کرده باشید، همه چیز فرق میکند. همه اینها به استعدادها، علایق و تواناییهای منحصر به فرد شما بستگی دارد. ممکن است متوجه شوید که یک side از توسعه را به دیگری ترجیح میدهید. اگر میخواهید بین front end و back end یکی را انتخاب کنید، بهتر است به جای این که صرفاً به حقوق و دستمزد توجه کنید، به این فکر کنید که به کدام یک بیشتر علاقه دارید.
توسعه دهندگان front end و back end از زبانهای برنامه نویسی متفاوتی استفاده میکنند
وقتی در حال کدنویسی هستید، باید از یک زبان برنامه نویسی استفاده کنید. این زبانها مانند زبانهای انسانی به برنامه نویسان اجازه میدهند تا از طریق یک سری نمادها (که به آنها کد گفته میشود) با کامپیوترهایشان ارتباط برقرار کنند. توسعه دهندگان فرانت اند با زبانهایی مثل HTML ، CSS و JavaScript کار میکنند.
HTML مخفف Hyper Text Markup Language است. این زبان، زبان نشانهگذاری (markup) استاندارد برای ایجاد صفحات وب است.
CSS مخفف عبارت Casading Style Sheets است. در حالی که HTML برای ایجاد ساختار در یک سایت استفاده میشود، CSS برای ایجاد استایل و قابلیتها (Style and Flair) مورد استفاده قرار میگیرد و مواردی مانند رنگها، فونتها و استایل دیگر محتواهای سایت را مشخص میکند.
JavaScript زبانی است که میتوانید از آن برای interactive و بامزه کردن وب سایت استفاده کنید. برای مثال میتوانید برای ایجاد یک بازی در وب سایت خود از آن استفاده کنید.
فرانت اند در مجموعه فریم ورکها و کتابخانههای خود کار میکند. در اینجا فقط تعدادی از فریم ورکها و کتابخانههایی که یک توسعه دهنده front end با آنها کار میکند آورده شده است:
- AngularJS
- React.js
- jQuery
- Sass
توسعه دهندگان بک اند با زبانهایی مانند ، C++، Java، Ruby، Python، JavaScript و Node.js کار میکنند. در اینجا هر کدام از زبانها را به طور مختصر توضیح میدهیم:
- PHP یک زبان برنامه نویسی server-side است.
- Java یک پلتفرم و زبان برنامه نویسی بسیار محبوب است.
- Python یک زبان برنامه نویسی همه منظوره است. این زبان با زبانهای دیگری که در این دستهبندی ذکر کردیم متفاوت است، زیرا میتوان از آن برای انواع دیگر توسعه نرم افزار استفاده کرد و صرفاً به توسعه وب محدود نمیشود.
فریم ورکهای back end عبارتند از:
توسعه دهندگان front end و back end با همدیگر کار میکنند تا اپلیکیشنهای قدرتمندی ایجاد کنند
در حالی که بین این دو side از توسعه وب شباهتهایی وجود دارد، آسانتر است که آنها را به عنوان دو طرف یک نوار کاست در نظر بگیرید. هر دو بخش برای توسعه وب و ایجاد وب سایتها و اپلیکیشنهای جذاب (از نظر بصری) ضروری هستند. بنابراین اگر به عنوان یک توسعه دهنده وب به هر دو طرف علاقه دارید یا مطمئن نیستید که کدام طرف از نوار کاست مورد علاقه شماست، میتوانید به یک توسعه دهنده Full stack تبدیل شوید. توسعه دهندگان full stack بهشت دنیا و آخرت را دارند و کار آنها ترکیبی از عناصر front end و back end است. مثل این است که هر روز به دو طرف نوار کاست گوش دهید.
Leave feedback about this