فقط واتساپ ۰۹۱۵۷۲۳۲۳۹۸

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

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

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

 

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

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

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

 

 

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

 

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

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

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

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

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

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

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

 

 

 

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

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

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

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

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

 

 

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

تفاوت فرانت اند و بک اند چیست : یکی دیگه از تفاوت های برنامه نویسی بک اند و کدنویسی فرانت اند که بخش اول صحبت کردیم اینه که شما کدهای فرانت اند رو یا همون کدهای html css و جاوااسکریپت رو توی کامپیوترتون هم میتونید اجرا کنید. ینی همین الان میتونید یک فایل با نام دلخواه و پسوند html مثلا 1.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 فراهم است که نسبت به دیگر زبان های برنامه نویسی یک مزیت بسیار بزرگ محسوب میشود.

 

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

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

 

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

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

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

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

 

پایان مقاله تفاوت بک اند و فرانت اند

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

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

رضا گفت:

سلام
آفرین روش توضیح دادنتون عالی و درجه یک بود.

حسین گفت:

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

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

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

Owais گفت:

سلام!
سایت های مثل یوتیوب ،فیسبوک …توسط بک ساخته شدند یا اند یا هر دو؟

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

سلام هر دو!

پارسا گفت:

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

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

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

https://websoft3.com/web-programming-roadmap/

حسین گفت:

بازار کار کدوم بهتر هست ؟

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

بنظرم بازار طراحی سایت با وردپرس الان از همه بهتره البته صرفا بدون کدنویسی نه! مهارت های کدنویسی در وردپرس رو هم بلد باشید

عرشیا موحدیان گفت:

عالی
من ۶ ماهی میشه دنبال این موضوع بودم و هر جا میرفتم کامل نمیفهمیدم

teckno گفت:

سلام
اگر کسی بخواد سایت طراحی کنه با هم بک‌اند باشه هم فرانت‌اند؟

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

سلام طراحی سایت هم بکند میخواد هم فرانت اند

آرمین گفت:

با سلام و تشکر بابت مطلب مفیدتون

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

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

سلام بله کدنویسی فرانت اند برای طراحی صفحات وب هست

ساسان گفت:

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

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

سلام بزرگوار – پاسخشون عجیب و غیر واقعی و صرفا جهت ساکت کردن شماست! عذرمیخوام که رک گفتم

محمد گفت:

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

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

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

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

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

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