
برنامه نویسی Back End چیست؟
اکثر برنامه نویسان وب در دو دسته بک اند و یا فرانت اند جای میگیرند. اگر شما به تازگی وارد دنیای برنامه نویسی شدهاید ممکن است با این اصطلاحات آشنایی نداشته باشید. برای اینکه با کار برنامه نویس بک اند آشنا شویم ابتدا باید بدانیم که 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 در برنامه نویسی نرمافزارهای دسکتاپ، تنظیم کوکیها، جمعآوری داده و غیره استفاده میشود. کمپانیهای معتبری از جمله فیسبوک (Facebook)، بافر (Buffer) و هوت سویت ( Hootsuite) PHP را به عنوان زبان سمت سرور خود انتخاب کردهاند.
Python
پایتون به سرعت درحال رشد است و یکی از رقبای جدی Java و PHP محسوب میشود. منابع یادگیری این زبان بسیار فراوان است و سادگی آن باعث شده حتی مورد استقبال کسانی قرار بگیرد که تحصیلات آکادمیک در حوزه علوم کامپیوتر ندارند. پایتون برای توسعه نرمافزارهای تحت وب و دسکتاپ بسیار مناسب است. در کمپانیهایی مانند پینترست (Pinterest) و موزیلا (Mozilla) و همچنین بسیاری از پروژههای ناسا از پایتون استفاده میشود.
SQL
از برنامه نویسان بک-اند انتظار میرود که توانایی کار با پایگاه داده را داشته باشند و SQL یکی از مهمترین زبانها برای کار با دیتابیس است. این زبان برای ایجاد پایگاه داده و دسترسی به اطلاعات آنها ایجاد شده و کسانی که با زمینههایی مانند داده کاوی و یا به طورکلی با دادهها سروکار دارند باید بر این زبان تسلط خوبی داشته باشند.
هرجا که پایگاه داده ای وجود دارد سروکله SQL پیدا میشود. این زبان معمولا انتخاب اول برنامه نویسان برای کار با پایگاه داده است.
C#
سی شارپ با تکیه بر زبان ++C ایجاد شده و از این رو ممکن است کار با آن برای بسیاری از توسعه دهندگان راحت باشد. یادگیری سی شارپ راحتتر از ++C است و در ساخت بازیهای کامپیوتری نیز استفاده زیادی دارد.
کسانی که قصد دارند برنامه نویس و توسعه دهنده بک اند شوند باید ویژگیها و مهارتهای مختلف دیگری نیز داشته باشند، از جمله :
- آشنایی به حداقل یک زبان برنامه نویسی سمت سرور (php, python, nodejs, java و …)
- آشنایی با مفاهیم پایگاه داده
- آشنایی با الگوریتم و ریاضیات گسسته
- توانایی حل مسئله و چالش پذیری
- شناخت الگویهای طراحی
درآمد برنامه نویسان Back-End
زبان Java در سالهای اخیر توانسته برای برنامه نویسان آمریکایی درآمد سالیانه حدود 90 هزار دلار به همراه داشته باشد. در ایران درآمد برنامه نویسان مبلغ ثابت و مشخصی ندارد اما معمولا برنامه نویسان ارشد جاوا با توجه به نوع پروژه و مسئولیتی که دارند ممکن است درآمد ماهانه بین 4 تا 8 میلیون تومان داشته باشند.
در آمریکا درآمد سالیانه توسعه دهندگان PHP حدود 80 هزار دلار در سال است و در ایران نیز میانگین حقوق ماهیانه 4 میلیون تومان گزارش شده است.
همچنین درآمد سالیانه Python در آمریکا حدود 90 هزار دلار و در ایران ماهیانه بین 3 تا 5 میلیون تومان اعلام شده است.
درآمد سالیانه SQL در آمریکا حدود 95 هزار دلار و در ایران ماهیانه حدود 3 تا 5 میلیون تومان است.
البته که درآمد برنامه نویسان در ایران تقریبا نامشخص است و شما وابسته به سطح توانایی و نوع سازمان و پروژه ممکن است درآمدی متفاوت با آنچه گفته شد، کسب کنید.
مثالی از بک اند در دنیای واقعی
حال که فهمیدیم بک اند چیست و برنامه نویس Backend کیست ، میخواهیم مفهوم آن را در قالب یک مثال مورد بررسی قرار دهیم. برای اینکه مفهوم Backend را بهتر درک کنید، یک فیلم سینمایی را در نظر بگیرید. فرانتاند یا همان ظاهر سایت، حکم فیلم سینمایی را دارد که شما مشاهده میکنید. بازیگران و صحنههای فیلم اجزایی هستند که فرانت اند را تشکیل میدهند و بر اساس دستورات کارگردان در جای مورد نظر قرار میگیرند و به بازیگری میپردازند.
برای اینکه این فیلم ساخته و اکران شود، عوامل پشتصحنه زیادی مانند تصویر بردار، صدا بردار، کارگردان و غیره داشته است که شما آنها را در فیلم نخواهید دید. کدهایی که در پس زمینه سایت در حال اجرا شدن هستند، مانند عوامل پشتصحنه فیلم میباشند که مربوط به برنامه نویسی بک اند (Backend) هستند.
جمع بندی
شما باید با توجه به زبان برنامه نویسی موردعلاقه، زمانی که میتوانید اختصاص دهید و سایر عوامل دیگر تصمیم بگیرید که توسعه دهنده Front-End، توسعه دهنده Back-End و یا با تسلط به هر دو شاخه، برنامه نویس فول استک (Full-Stack) باشید. اگر در آغاز راه هستید بهتر است قبل از شروع یادگیری برنامه نویسی Back End، مقالات زیر را مطالعه کنید تا اطلاعات اولیه برنامه نویسی را کسب کنید.