اکثر برنامه نویسان وب در دو دسته بک اند و یا فرانت اند جای میگیرند. اگر شما به تازگی وارد دنیای برنامه نویسی شدهاید ممکن است با این اصطلاحات آشنایی نداشته باشید. برای اینکه با کار برنامه نویس بک اند آشنا شویم ابتدا باید بدانیم که Backend چیست و تفاوت آن را با فرانت اند (Front-End) درک کنیم. پس اگر علاقهمند هستید که بیشتر در مورد این عبارات بدانید، در ادامه این مقاله همراه ما باشید.
برنامه نویسی بک اند(Backend) چیست؟
Backend یا بک اند، به بخشی از یک وب سایت یا نرم افزار میگویند که برای کاربران قابل مشاهده نیست. به عبارتی دیگر هسته و مغز یک سایت است که وظیفه کنترل منطق آن را بر عهده دارد. سایتهای دینامیک به برنامه نویس بک اند نیاز دارند تا منطق سایت را به وسیله زبانهای برنامه نویسی پیادهسازی کنند. کاربران به کدهای نوشتهشده در بک اند دسترسی ندارند و نمی توانند آنها را مشاهده کنند.
این بخش از سایت مانند قسمتی از کوه یخ است که در زیر سطح آب قرار گرفته است. سمت سرور با بخش سمت کاربر ارتباط مستقیم دارد و به اجزایی که در رابط کاربری طراحی شدهاند جان میبخشد. برنامه نویس بک اند باید اطلاعات را متناسب با اهداف مختلف از پایگاهداده دریافت کند و در صورت نیاز پس از پردازش به کاربر نمایش دهد. بنابراین Backendاز دو بخش منطق سایت و پایگاه داده تشکیل شده است.
اگر شما به برنامه نویسی بک اند مانند php ، پایتون و... علاقهمند هستید اما با مفاهیم برنامه نویسی هیچ آشناییتی ندارید ، پیشنهاد میکنیم در دوره الفبای برنامه نویسی که به آموزش برنامه نویسی مقدماتی پرداختیم شرکت کنید.
مهارتها و زبانهای لازم برای برنامه نویسان بک-اند
برنامه نویسان این حوزه باید با زبانها و تکنولوژیهای مختلف سمت سرور مانند
Java
PHP
Python
SQL
#C
و NET. آشنا باشند. در ادامه به معرفی سه زبان پرکاربرد و محبوب در برنامه نویسی بک-اند میپردازیم.
Java
جاوا زبانی نسبتا قدیمی و محبوب است که برنامه نویسان زیادی از آن استفاده میکنند. یکی از نقاط قوت جاوا داشتن یک ماشین مجازی (Java Virtual Machine) است که باعث آسان کردن کامپایل (Compile) و اجرای کدها (Run) در سیستمها و محیطهای مختلف میشود. این زبان انجمنهای پرسش و پاسخ گسترده ای دارد که تقریبا هیچ سوالی را بدون پاسخ نمیگذارند. توسعه اپلیکیشنهای اندروید، توسعه وبسایت، پردازش تصویر (image processing)، نرمافزارهای مبتنی بر رابط کاربری گرافیکی(GUI)، شبکه و غیره از جمله موارد یهستند که میتوانید با برنامه نویسی جاوا از عهده آنها بربیایید.
PHP
PHP پرکاربردترین زبانی است که در سمت سرور استفاده میشود و در ایجاد حدود 80% از سایتها نقش داشته است. همچنین منابع آموزش php بسیار گسترده است. PHP در برنامه نویسی نرمافزارهای دسکتاپ، تنظیم کوکیها، جمعآوری داده و غیره استفاده میشود. کمپانیهای معتبری از جمله فیسبوک (Facebook)، بافر (Buffer) و هوت سویت ( Hootsuite) PHP را به عنوان زبان سمت سرور خود انتخاب کردهاند.
Python
پایتون به سرعت درحال رشد است و یکی از رقبای جدی Java و PHP محسوب میشود. منابع یادگیری این زبان بسیار فراوان است و سادگی آن باعث شده حتی مورد استقبال کسانی قرار بگیرد که تحصیلات آکادمیک در حوزه علوم کامپیوتر ندارند. پایتون برای توسعه نرمافزارهای تحت وب و دسکتاپ بسیار مناسب است. در کمپانیهایی مانند پینترست (Pinterest) و موزیلا (Mozilla) و همچنین بسیاری از پروژههای ناسا از پایتون استفاده میشود.
SQL
از برنامه نویسان بک-اند انتظار میرود که توانایی کار با پایگاه داده را داشته باشند و SQL یکی از مهمترین زبانها برای کار با دیتابیس است. این زبان برای ایجاد پایگاه داده و دسترسی به اطلاعات آنها ایجاد شده و کسانی که با زمینههایی مانند داده کاوی و یا به طورکلی با دادهها سروکار دارند باید بر این زبان تسلط خوبی داشته باشند. هرجا که پایگاه داده ای وجود دارد سروکله SQL پیدا میشود. این زبان معمولا انتخاب اول برنامه نویسان برای کار با پایگاه داده است.
C#
سی شارپ با تکیه بر زبان ++C ایجاد شده و از این رو ممکن است کار با آن برای بسیاری از توسعه دهندگان راحت باشد. یادگیری سی شارپ راحتتر از ++C است و در ساخت بازیهای کامپیوتری نیز استفاده زیادی دارد.
کسانی که قصد دارند برنامه نویس و توسعه دهنده بک اند شوند باید ویژگیها و مهارتهای مختلف دیگری نیز داشته باشند، از جمله :
آشنایی به حداقل یک زبان برنامه نویسی سمت سرور (php, python, nodejs, java و ...)
زبان Java در سالهای اخیر توانسته برای برنامه نویسان آمریکایی درآمد سالیانه حدود 90 هزار دلار به همراه داشته باشد. در ایران درآمد برنامه نویسان مبلغ ثابت و مشخصی ندارد اما معمولا برنامه نویسان ارشد جاوا با توجه به نوع پروژه و مسئولیتی که دارند ممکن است درآمد ماهانه بین 4 تا 8 میلیون تومان داشته باشند. در آمریکا درآمد سالیانه توسعه دهندگان PHP حدود 80 هزار دلار در سال است و در ایران نیز میانگین حقوق ماهیانه 4 میلیون تومان گزارش شده است. همچنین درآمد سالیانه Python در آمریکا حدود 90 هزار دلار و در ایران ماهیانه بین 3 تا 5 میلیون تومان اعلام شده است. درآمد سالیانه SQL در آمریکا حدود 95 هزار دلار و در ایران ماهیانه حدود 3 تا 5 میلیون تومان است. البته که درآمد برنامه نویسان در ایران تقریبا نامشخص است و شما وابسته به سطح توانایی و نوع سازمان و پروژه ممکن است درآمدی متفاوت با آنچه گفته شد، کسب کنید.
مثالی از بک اند در دنیای واقعی
حال که فهمیدیم بک اند چیست و برنامه نویس Backend کیست ، میخواهیم مفهوم آن را در قالب یک مثال مورد بررسی قرار دهیم. برای اینکه مفهوم Backend را بهتر درک کنید، یک فیلم سینمایی را در نظر بگیرید. فرانتاند یا همان ظاهر سایت، حکم فیلم سینمایی را دارد که شما مشاهده میکنید. بازیگران و صحنههای فیلم اجزایی هستند که فرانت اند را تشکیل میدهند و بر اساس دستورات کارگردان در جای مورد نظر قرار میگیرند و به بازیگری میپردازند.
برای اینکه این فیلم ساخته و اکران شود، عوامل پشتصحنه زیادی مانند تصویر بردار، صدا بردار، کارگردان و غیره داشته است که شما آنها را در فیلم نخواهید دید. کدهایی که در پس زمینه سایت در حال اجرا شدن هستند، مانند عوامل پشتصحنه فیلم میباشند که مربوط به برنامه نویسی بک اند (Backend) هستند.
سلام و خسته نباشید برای برنامه نویسی Back end یادگیری sass و فریم ورک بوت استرپ لازم هست و آیا باید جاوا اسکریپت رو یاد بگیریم ؟ ممنون میشم زود جواب بدید.
نازنین کریمی مقدم۰۲ تیر ۱۴۰۳، ۰۸:۳۲
درود
این مواردی که فرمودید بیشتر برای فرانت اند استفاده میشه و بک اند کار نیاز نیست بهشون مسلط باشه. در حد آشنایی مختصر که هرکدوم چه میکنند کافیه.
امید۰۸ آبان ۱۴۰۲، ۲۲:۳۲
برای فول استک شدن، اول بک یا فرانت و با چه زبانی شروع کنیم؟
نازنین کریمی مقدم۰۹ آبان ۱۴۰۲، ۰۸:۱۸
درود
بهتره با فرانت اند و با مباحث html - css و جاوا اسکریپت شروع کنید. بعد برای بک اند یکی از زبانهای پایتون یا php یا جاوا یا سی شارپ رو یاد بگیرید.
علی۰۲ مهر ۱۴۰۲، ۰۹:۲۹
قیمت هایی که برای ایران فرمودید اشتباهه.جونیورها حداقل نباید در ماه زیر 8 میلیون تومان پروژه قبول کنند. چون اینطوری به شغل برنامه نویسی توهین کردند.(همه زیر شاخههای برنامه نویسی)
نازنین کریمی مقدم۲۲ مهر ۱۴۰۲، ۰۸:۳۵
درود
تاریخ نگارش مقاله برای چندسال پیش هست و برای همین قیمتها یکم عجیبه :) نگران نباشید.
۲۱ شهریور ۱۴۰۲، ۰۷:۳۴
سلام مطالب سایت کاملا مفید بود .
من به بک اند علاقه دارم ، یه سوال داشتم 1 برای شروع بک اند بهتره که اول کدوم زبان رو یاد بگیریم ( php . pythom . #c .java ) ؟؟
2 اینکه الان در حال حاضر کدوم زبان روی بورسه ( هم کشورهای دیگه هم ایران) ؟
3میتونم به صورت خود اموز و انلاین یاد بگیرم (اگه میشه منابعی رو هم معرفی کنید) یا باید حتما کلاس بر دارم ؟
5 چقد طول میکشه که من یه زبان بک اند رو یاد بگیرم ؟
نازنین کریمی مقدم۲۱ شهریور ۱۴۰۲، ۰۹:۱۴
درود
1- یادگیری هرکدوم مزایای خودش رو داره و اگر حرفه ای بشید براش کار هست. جاوا و سی شارپ به دلیل ساختاری که دارند یکم پیچیدهتر از پایتون و php هستند.
2- پایتون از همه محبوبتر هست.
3- بله میتونید از منابع رایگان استفاده کنید. عبارت پایتون رو در وبلاگ سرچ بزنید مقالات مرتبط رو میاره که توش منابع رو معرفی کردیم. اما در کل برای شروع بهتره دوره یا کلاس برید بعد خودآموز ادامه بدید.
4- بستگی به زمانی داره که میذارید و زبانی که انتخاب میکنید، اما در کل حداقل سه ماه زمان نیاز هست تا به حد خوبی برسید.
۰۴ تیر ۱۴۰۲، ۱۶:۵۳
سلام وقتتون بخیر
خاستم بپرسم
۱-درامد کسی که تا حالا سابقه کار نداشته و تازه یادگرفته و میخاد پروژه بگیره، ب طور کلی (هم در حوزه ی بک اند و هم فرانت اند) چقدره؟
۲- با ویندوز ۷ هم میشه برنامه نویسی کار کرد ؟
۳- پردرامد ترینشون(زبان هاش) تو ایران و جهان کدوماست؟
نازنین کریمی مقدم۰۶ تیر ۱۴۰۲، ۱۵:۲۹
درود
1- خیلی کم. باید با مبالغ یک میلیون و... شروع کنید و نمونه کار بسازید تا بعدها براتون رزومه بشه. درآمدش در سالهای بعد جبران میشه.
2- بله اما خیلی سخت هست. خیلی از پکیجها روی ویندوز 7 پشتیبانی نمیشه و... پیشنهاد میکنم اول به ویندوز 10 ارتقا بدید و بعد شروع کنید. نصبش زمانبر نیست.
3- بسته به مهارت فرد هر زبانی میتونه پولساز باشه اما اونایی که براشون موقعیت شغلی و پروژه بیشتره عبارتند از: پایتون - جاوا - دارت و فلاتر - جاوا اسکریپت - PHP - دات نت
۱۹ اسفند ۱۴۰۱، ۱۲:۰۸
سلام وقتتون بخیر بنظر شما در بخش بک اند پایتون بهتره یا پی اچ پی نگین لطفا بستگی به خودتون داره نظر شخصیتونو بگین?
نازنین کریمی مقدم۲۰ اسفند ۱۴۰۱، ۰۵:۰۵
درود
در ایران هردو و بیشتر PHP و در خارج از کشور بیشتر پایتون.
۲۱ دی ۱۴۰۱، ۱۷:۳۹
سلام
میشه یه اطلاعات خوبی در مورد درآمد برنامه نویسی بدین
منظورم بین حوزههای مختلف(موبایل،دسکتاپ،وب سایت)
و با سابقههای متفاوت هست
من دارم برنامه نویسی وب سایت رو یاد میگیرم میخوام ببینم درامد حوزههای مختلف رو باهم مقایسه کنم
نازنین کریمی مقدم۲۵ دی ۱۴۰۱، ۱۱:۲۴
درود
بهترین راه مقایسه درآمد مراجعه به سایتهای کاریابی مثل جابینجا و جاب ویژن هست.
اونجا میتونید متوجه بشید که مثلا در وب چه فریمورکی پرتقاضاست، چه مهارتهایی حقوق رو بالا میبره و در کدام شهرها بهتر کار پیدا میشه.
اما به طور کلی حقوق تمام وقت این سه (با سابقه کاری یکسان) مثل هم هست و دسکتاپ موقعیتهای شغلی کمتری داره.
۲۰ دی ۱۴۰۱، ۱۸:۲۴
سلام
واقعا یه برنامه نویس حداکثر ماهی ۸ میلیون درآمد داره؟
بعد من شنیده بودم برنامه نویسی بک اند درآمدش از فرانت اند بیشتره ولی طبق چیزی که گفتین اینطور هم نیست؟
نازنین کریمی مقدم۲۱ دی ۱۴۰۱، ۰۶:۰۰
درود
خیر در حال حاضر با شرایط استخدام تمام وقت در تهران و سابقه کاری حداقل سه سال بالای 8 میلیون درآمد داریم.
اینکه درآمد بک اند بیشتر از فرانت هست بستگی به نوع شرکت و شرح وظایف داره، اما در اغلب شرکتها برقراره.
۲۳ خرداد ۱۴۰۱، ۱۱:۴۵
سلام . خیلی مفید بود .
فقط یک سوال داشتم
توی زمینه بک اند ...
سوال 1: بهتره با کدوم برنامه کارکنیم (php & python & #C و ...)
سوال دوم : مثلا وقتی قراره توی بک اند با php کار کنی خوب مسلما با فریمورک laravel کار میکنی و یا مثلا توی پایتون از Django استفاده میکنیم ... نکته اصلی اینه آیا کسی که میخاد شروع کنه اول باید اینارو بلد باشه یعنی اول باید پایتون و ... رو بلد باشه و بعدش بره سراغ فریمورکهای مربوطش؟
نازنین کریمی مقدم۲۶ خرداد ۱۴۰۱، ۰۰:۱۹
درود
۱. درمورد انتخاب زبان بک اند کاملا بستگی به خودتون داره همگی قدرتمند و کاربردی هستند.
۲. بله برای یادگیری فریمورک باید به خود اون زبان مسلط باشید.
۱۱ اردیبهشت ۱۴۰۱، ۰۵:۵۸
بک اند در بلاکچین استفاده میشه؟ میشه از زبان Rust برای بک اند در بلاکچین استفاده کرد؟
نازنین کریمی مقدم۱۸ اردیبهشت ۱۴۰۱، ۰۸:۴۳
درود
سوال اولتون رو متوجه نشدم، بک اند و بلاک چین دو زمینه مجزا هستند و بک اند زبان برنامه نویسی نیست که قابل استفاده باشه.
بله از rust هم برای بلاک چین میشه استفاده کرد.
۱۴ فروردین ۱۴۰۱، ۰۷:۱۶
سلام عرض میکنم خدمتتون با یادگیری زبان جاوااسکریپت میشه برنامه نویسی بک اند رو انجام داد؟
نازنین کریمی مقدم۱۷ فروردین ۱۴۰۱، ۱۲:۲۰
سلام
بله امکان پذیر که هست اما پیشنهاد میکنم این کار رو نکنید. زبانهای پایتون، جاوا و... گزینههای بهتری هستند.
کمال۱۰ اردیبهشت ۱۴۰۰، ۰۹:۵۹
سلام. برای کسی که میخواد برنامه نویس بک اند باشه و تست نفوذ وب هم حرفه ای بشه نیازه 4 زبان جاوا، سی، پایتون، پی اچ پی رو بلد باشه؟
نازنین کریمی مقدم۱۱ اردیبهشت ۱۴۰۰، ۲۲:۱۸
سلام.
حقیقتا برای بحث نفوذ باید دانش خوبی از همگی به خصوص پایتون داشته باشید، اما برای بک اند میتونید یک زبان رو انتخاب کنید و در اون زبان در بخش بک اند expert بشید.
Art Ful۳۰ آذر ۱۳۹۹، ۰۶:۳۳
سلام وقت بخیر
دوستای عزیزی که در بخش مدیریت سون لرن فعالیت دارین فکر نمکنید کمتر از ASP.Net Core بحث شده در کل مجموعه سون لرن !!!
نازنین کریمی مقدم۰۱ دی ۱۳۹۹، ۱۸:۵۶
درود.
تقویم محتوایی ما از سه بخش مهم تشکیل شده:
1. مقالات معرفی و شروع برنامه نویسی یک زبان، نکات مهم شروع کسب و کار مرتبط با برنامه نویسی و...
2. آپدیت مقالات قدیمی (فناوریها یا ویژگیهای زبان برنامه نویسی که منسوخ یا آپدیت شدند)
3. مقالات درخواستی
اگر میبینید که درمورد سایر موضوعات بیشتر بحث میشه چون هم سرعت رشد بیشتری دارند و هم درخواستهای بیشتری از ما شده. شما میتونید موضوعات موردعلاقه خودتون در بحث Asp.net رو در بخش کامنتها با ما مطرح کنید و ما قول میدیم در صورت امکان اونها رو پوشش بدیم.
ممنون که با ما همراه هستیذ.
Ali۲۷ آبان ۱۳۹۹، ۱۷:۵۲
سلام
یک سوال داشتم خدمتتون
برنامه نویس بک اند حتما باید html و css رو به صورت کامل بلد باشه؟
نازنین کریمی مقدم۲۷ آبان ۱۳۹۹، ۲۱:۱۳
درود.
خیر برای بک اند نیاز به یادگیری این دو نیست و با آنها آشنا باشید کافیه. html و css برای بخش فرانت اند استفاده میشوند.
برای بک اند میتونید تمرکز خودتون رو روی مواردی که در این مقاله توضیح دادیم بذارید.
عرشیا فتحی۲۲ آبان ۱۳۹۹، ۱۹:۲۳
با سلام و خسته نباشید
یه سوال داشتم
به جای جاوا میشه از جاوا اسکریپت استفاده کرد ؟؟
نازنین کریمی مقدم۲۷ آبان ۱۳۹۹، ۱۱:۲۰
سلام. خیر.
جاوا اسکریپت به طور ذاتی برای بخش فرانت اند طراحی شده و شما باهاش عملیاتهای مربوط به ویوی برنامه مثل دکمه و... رو تعریف و پیاده سازی میکنید. برای بخش بک اند اصلا مناسب نیست.
rahman rezaee۲۵ آبان ۱۳۹۸، ۰۶:۵۴
بدک نبود اما بیشتر توضیح میدادن خوب بود بازم تشکر
عرفان۱۳ خرداد ۱۳۹۸، ۰۴:۳۴
مقالات خیلی خوبی داذید. واقعا برام مفید بوده :)
ممنون
ریحانه یزدانی۲۲ آبان ۱۳۹۸، ۱۱:۵۲
سلام ممنون از شما
خوشحالیم که مقالات ما تونسته براتون مفید باشه
علی قادری۰۴ خرداد ۱۳۹۸، ۱۴:۱۵
سلام ممنون از مطلبتون
برای بک اند وردپرس بهتره یا نود جی اس؟
کدوم یک در حال حاظر بازار بهتری داره و کدوم یک در اینده بهتره؟
Pouria Iranmanesh۲۲ آبان ۱۳۹۸، ۰۶:۲۰
سلام دوست عزیز
مقایسه وردپرس با نود جی اس مثل مقایسه ساندویچ با فست فوده
وردپرس یه سیستم مدیریت محتوا هست و نود جی اس یه زبان برنامه نویسی
وردپرس با پی اچ پی نوشته شده و میشه با نودجی اس هم یه سیستم مثل وردپرس نوشت حالا بماند که چالش هایی داره و این سوال پیش میاد که چرا اصلا باید چنین کاری کرد
ولی در مجموع وردپرس یه سیستم ماژولار و منعطف هستش که شما میتونین هر خواسته ای که داشته باشین با استفاده از اون انجام بدین و برای شروع کار خیلی مناسبه و بازار خیلی خوبی هم داره که البته همچنان بازار رو به رشدی داره
نود جی اس هم یه زبان برنامه نویسی تقریبا جدیده به نسبت سایر زبانها که اخیرا خیلی مورد توجه قرار گرفته و خب قابلیتهای خیلی زیادی هم داره و واقعا یه بستر خیلی قوی برای برنامه نویسیه به نظرم که بازار کار براش تو کشور خودمون هم تو چند سال اخیر خیلی رشد کرده و همچنان رشد خواهد کرد
نکته ای که زیاد قابل توجه هست اینه که با یادگیری نودجی اس بستر برنامه نویسی پلتفرم برای شما ایجاد میشه و میتونین با چند ماه وقت گذاشتن برای یادگیری ابزارهاشون علاوه بر وب برای پلتفرمهای دیگه هم برنامه نویسی کنید و اپلیکیشنهای اندروید و آی او اس و حتی دسکتاپ بسازید
علی خسروی۳۰ فروردین ۱۳۹۸، ۰۲:۱۱
ممنون استاد
عالی بود
مهدی علامه۳۱ فروردین ۱۳۹۸، ۱۱:۳۲
سلام علی جان
خیلی خوشحالم که از این مقاله استفاده کردید.
حسین۲۹ فروردین ۱۳۹۸، ۱۶:۰۵
ممنون بابت مقاله فقط یکم انصاف روی تصویر تامنیل این پست رعایت میکردید , همش فرانت اند 10 درصد :(
لقمان آوند۳۰ فروردین ۱۳۹۸، ۰۲:۴۳
سلام
یه عکس برای مثال بود. خیلی حساس نباشید ;)
مجتبی شهریور۲۸ فروردین ۱۳۹۸، ۱۳:۱۰
سلام
تبریک میگم خیلی خوب و عالی بود لذت بردم انشاله منتظر مقالههای بیشتر از طرف شما هستم
لقمان آوند۲۹ فروردین ۱۳۹۸، ۰۵:۲۳
ممنون جناب شهریور
راهنمای مقاله
برنامه نویسی بک اند(Backend) چیست؟
مهارتها و زبانهای لازم برای برنامه نویسان بک-اند
درآمد برنامه نویسان Back-End
مثالی از بک اند در دنیای واقعی
جمع بندی
راهنما و فهرست مقاله
برنامه نویسی بک اند(Backend) چیست؟
مهارتها و زبانهای لازم برای برنامه نویسان بک-اند