60% تخفیف ویژه دوره تخصصی وردپرس به مدت محدود مشاهده دوره

تفاوت برنامه نویسی بک اند و فرانت اند (back end و front end)

تفاوت فرانت اند و بک اند (backend & frontEnd) در برنامه نویسی مثل تفاوت ظاهر و باطن است. بطور کلی در یک صفحه وب، هرچیزی که در ظاهر شما میبینید توسط کدنویسی فرانت اند (سمت کلاینت html – css – js) ایجاد شده و پشت صحنه اون وبسایت مثل بحث ثبت نام و لاگین و کامنت گذاری و… که اطلاعاتی بین کاربر و وبسایت ردوبدل میشه توسط برنامه نویسی بک اند (سمت سرور – php) انجام میشه.

توی پست قبلی در مورد اولین مراحل برنامه نویس شدن (میخوام برنامه نویس بشم) صحبت کردیم و یکی از سوالاتی که ممکنه پیش اومده باشه تفاوت برنامه نویسی بک اند و فرانت اند هست.

 

اول یه سری مفاهیم رو بهتون بگم…

برنامه نویسی “بک اند” backend یا “سمت سرور” یا “سرورساید” server side همش یک معنی رو میده و در مقابل هم کدنویسی “فرانت اند” – “frontEnd” یا “سمت کلاینت” یا “کلاینت ساید” یا “سمت کاربر” هم همش یکیه قاطی نکنید. ضمنا فرانت اند رو اصولا میگن کدنویسی فرانت اند نه برنامه نویس و برنامه نویس ها صرفا افرادی هستند که بک اند کار میکنند. بنابراین ما برنامه نویس فرانت اند نداریم – کدنویس فرانت اند داریم.

خب برای اینکه به تفاوت هاش برسیم اول باید متوجه بشیم فرانت اند چیه و یک کدنویس فرانت اند چیکار میکنه و بک اند چیه و برنامه نویس بک اند چه کارهایی میکنه

 

 

پیشنهاد وبسافت۳ : نقشه راه برنامه نویسی

 

فرانت اند front end چیست؟

ببینید توی یک صفحه وب یا یک وبسایت : هرچیزی که شما در ظاهر میبینید با استفاده از کدنویسی فرانت اند بوجود اومده. و اساسا یک فرانت اند دولوپر یا کسی که کار فرانت اند رو انجام میده با استفاده از کدنویسی html – css – و گاها جی کوئری اون صفحه وب رو طراحی میکنه.

حالا اگه میخواید بدونید html و css هر کدوم چه نقشی در طراحی اون صفحه وب دارن؟ میتونم با یک مثال واقعی و کوتاه بهتون بگم.

شما اون صفحه وب رو یک ساختمون در نظر بگیرید. بدنه و اسکلت اون ساختمون رو با html میسازن ، رنگ و لعاب زیبایی دکوراسیون و نمای اون ساختمون رو با کدنویسی css انجام میدن.

آقا جی کوئری چیکار میکنه این وسط؟ جی کوئری هم در تکمیل همین بحث html css دیدید توی بعضی از وبسایت ها وقتی وارد میشی بعد از چند لحظه یک پنجره کوچیک به حالت پاپ اپ ظاهر میشه – یا مثلا روی دکمه ورود و ثبت نام که کلیک میکنی بجای اینکه وارد یک صفحه دیگه ای بشه یه پنجره کوچیکتر روی همون صفحه ظاهر میشه و فرم ورود رو نشون میده اینا به کمک جاوااسکریپت ایجاد میشه. یا اسلایدر هم به کمک جی کوئری ایجاد میشه.

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

خب بنابراین متوجه شدیم که کدنویسی فرانت اند مربوط میشه به همون کدهای html css و جی کوئری که تمام المان هایی که ظاهرا در یک وبسایت میبینیم و قابل رویت هست رو تشکیل داده. امیدوارم مفهوم کاملی از کدنویسی فرانت اند در ذهنت تان ایجاد شده باشد تا در ادامه بریم سراغ تفاوت فرانت اند و بک اند در برنامه نویسی.

 

 

 

برنامه نویسی بک اند back end چیست؟

شما همون صفحه وب رو در نظر بگیرید یه سری المان هایی داخل اون صفحه وجود داره مثل بخش هدر مثل منو ها مثل پست ها و هر المان دیگه ای که میتونه توی اون صفحه وجود داشته باشه.
حالا ادمین سایت برای اینکه بتونه این المان هارو مدیریت بکنه. ینی چی مدیریت کنه؟

ینی بتونه مثلا بخش منو هارو یه منو اضافه بکنه یه منو کم بکنه اسم اون منو رو تغییر بده لینکشو عوض بکنه و یا هر تغییر دیگه. نیاز به یک پنل مدیریتی داره که بتونه این تغییرات رو انجام بده و این روال توسط برنامه نویسی بک اند انجام میشه و معمولا هم سروکارش با دیتابیس یا پایگاه داده هست.

طبیعی هم هست که وقتی ما میخوایم یک منویی مثلا اضافه بکنیم اطلاعات اون منو باید توی دیتابیس ذخیره بشه و بعد از دیتابیس دریافت بکنیم و توی خروجی سایت نمایش بدیم.

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

 

 

تفاوت فرانت اند و بک اند چیست

تفاوت فرانت اند و بک اند چیست : یکی دیگه از تفاوت های برنامه نویسی بک اند و کدنویسی فرانت اند که بخش اول صحبت کردیم اینه که شما کدهای فرانت اند رو یا همون کدهای html css و جاوااسکریپت رو توی کامپیوترتون هم میتونید اجرا کنید. ینی همین الان میتونید یک فایل با نام دلخواه و پسوند html مثلا ۱٫html توی کامپیوترتون ایجاد کنید و داخلش کدهای html css و جاوااسکریپت بنویسید و اون فایل رو با مرورگرتون بازش بکنید تا خروجی رو بهتون نمایش بده.

اما کدهای بک اند به این شکل نیست و برای اجرا نیاز به پردازش سمت سرور دارن که حالا یا کدهارو باید ببرید سمت سرور تا اجرا بشن یا اینکه توی کامپیوترون یک نرم افزار سرورمجازی مثل زمپ یا ومپ نصب کنید تا کدهاتون اجرا بشن.

خب حالا شما تفاوت برنامه نویسی بک اند و فرانت اند را یادگرفتید و اما حالا سوالی که پیش میاید این است که برای بخش بک اند کدوم زبان برنامه نویسی رو انتخاب کنیم.

 

تفوات فرانت اند و بک اند چیست

 

زبان های برنامه نویسی بک اند و فرانت اند را بشناسید؟

بک اند : زبان های برنامه نویسی بک اند غالبا شامل موارد زیر میشود

جاوا – Java
پی اچ پی – PHP
سی شارپ C#
ویژوال بیسیک دات‌نت – Visual Basic.NET
روبی – Ruby
پایتون – Python
پرل – Prel
جاوا اسکریپت – JavaScript

نکته : نیاز نیست همه موارد بالارا باید یادبگیرید صرفا انتخاب یکی از زبان های بالا برای برنامه نویسی کفایت میکند. یک برنامه نویس خوب کسی نیست که اغلب زبان های برنامه نویسی را بلد است، برنامه نویسی خوب کسی است که در یک زبان برنامه نویسی حرفه ای است و به آن کاملا مسلط است.

فرانت اند : اساسا برای فعالیت در حوزه فرانت اند از موارد زیر استفاده میشود

html – css – jquery – javascript – bootstrap – responsive-design

نکته : برای حرفه ای شدن و فعالیت در حوزه فرانت اند باید به تمام موارد بالا مسلط باشید و همه آن هارا بطور کامل یادبگیرید.

 

 

یادگیری کدام آسان تر است؟ فرانت اند یا بک اند؟

اساسا یادگیری کدنویسی فرانت اند ساده تر از برنامه نویسی بک است و بطور کلی در تایم خیلی کوتاه تری میتوانید به کدنویسی فرانت اند مسلط شوید علت آن هم به فلسفه ساختاری و نوع کدنویسی هر یک از آنها مربوط میشود. همانطور که بالاتر هم اشاره کردیم در حوزه فرانت اند شما معمولا یک چهارچوب مشخصی را یادمیگیرید و در پروژه ها اجرا میکنید و کمی هم خوش سلیقگی و خوش ذوقی کافیست تا به یک فرانت اند کار حرفه ای تبدیل شوید اما در برنامه نویسی بک اند شما علاوه بر چالش های مختلفی در پروژه ها دارید که باید همواره فکر کنید و در پی حل مسائل باشید در واقع برنامه نویسان بک اند مهارت زیادی در حل مسئله دارند البته نگران نشید، گفتم “مهارت” – مهارت هم چیزی است که با تمرین و تکرار بدست میاید لذا بخاطر همین است که میگویند نگاه یک برنامه نویس نسبت به مسائل در تمام جنبه های زندگی با بقیه افراد متفاوت است و این بخاطر نوع کاریست که انجام میدهند.

 

کدام زبان برای بک اند مناسب است؟

زبان های برنامه نویسی مختلفی برای بخش بک اند وجود دارن مثل php – asp.net – java یا پایتون که یکی از اینهارو باید انتخاب کنید اما انتخاب یک زبان برنامه نویسی خوب هم چالش بزرگیه که به همین راحتی نمیشه در موردش نظر داد. درواقع قبل از اینکه درمورد خوب بودن و انتخاب یک زبان برنامه نویسی بخوایم نظر بدیم باید هدف را مشخص کنیم که در چه حوزه ای میخوایم کار کنیم. مثلا اگر در حوزه وب بخواید کار کنید پیشنهاد من با قاطعیت انتخاب زبان برنامه نویسی php هست، دلایلش رو توی پست بهترین زبان برنامه نویسی وب برای شروع بخوانید اما اگر میخواهید مثلا در حوزه هوش مصنوعی یا زبان ماشین یا بازی سازی و… فعالیت کنید باز اینجا قضیه فرق میکند و نمیتوان php را براحتی بهترین زبان عنوان و انتخاب کرد.

اما دوستان اگر بحث علاقه در میان نباشد و بفرض مثال ملاک را درآمدزایی و فرصت های شغلی بخواهیم در نظر بگیریم باز براحتی میتوان php را بعنوان زبان برنامه نویسی برتر انتخاب کرد چرا که زمینه های شغلی متعدد و زیاد با ظرفیت درامدزایی زیادی برای برنامه نویسان php فراهم است که نسبت به دیگر زبان های برنامه نویسی یک مزیت بسیار بزرگ محسوب میشود.

 

یکی دیگر از تفاوت های فرانت اند و بک اند

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

 

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

2 دیدگاه دربارهٔ «تفاوت برنامه نویسی بک اند و فرانت اند (back end و front end)»

محمد گفت:

سلام وقتتون بخیر باشه … ببخشید من یک سوال خیلی کوتاه ازتون داشتم … طراح قالب سایت های وردپرس , در شاخه فرانت اند front-end کار میکنند درسته ؟

رضا حیدری گفت:

درود بر شما
هم فرانت اند هم بک اند منتها بک اند سمت وردپرس هست

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

نشانی ایمیل شما منتشر نخواهد شد.