Start To Learn Programming

برنامه نویس BackEnd

يكشنبه, ۲۲ فروردين ۱۴۰۰، ۱۲:۰۷ ب.ظ

برنامه نویسی Back End چیست؟ مهارت‌ها و زبان‌های لازم برای برنامه نویسان بک اند

اکثر برنامه نویسان وب در دو دسته بک اند و یا فرانت اند جای می‌گیرند. اگر شما به تازگی وارد دنیای برنامه نویسی شده‌اید ممکن است با این اصطلاحات آشنایی نداشته باشید. برای اینکه با کار برنامه نویس بک اند آشنا شویم ابتدا باید بدانیم که Backend چیست و تفاوت آن را با فرانت اند (Front-End) درک کنیم. پس اگر علاقه‌مند هستید که بیشتر در مورد این عبارات بدانید، در ادامه این مقاله همراه ما باشید.

 

Backend چیست؟

Backend یا بک اند، به بخشی از یک وب سایت یا نرم افزار می‌گویند که برای کاربران قابل مشاهده نیست. به عبارتی دیگر هسته و مغز یک سایت است که وظیفه کنترل منطق آن را بر عهده دارد. سایت‌های دینامیک به برنامه نویس بک اند نیاز دارند تا منطق سایت را به وسیله زبان‌های برنامه نویسی پیاده‌سازی کنند. کاربران به کدهای نوشته‌شده در بک اند دسترسی ندارند و نمی‌ توانند آن‌ها را مشاهده کنند.

این بخش از سایت مانند قسمتی از کوه یخ است که در زیر سطح آب قرار گرفته است. سمت سرور با بخش سمت کاربر ارتباط مستقیم دارد و به اجزایی که در رابط کاربری طراحی شده‌اند جان می‌بخشد. برنامه نویس بک اند باید اطلاعات را متناسب با اهداف مختلف از پایگاه‌داده دریافت کند و در صورت نیاز پس از پردازش به کاربر نمایش دهد. بنابراین Backend از دو بخش منطق سایت و پایگاه داده تشکیل شده است.

 

مهارت‌ها و زبان‌های لازم برای برنامه نویسان بک-اند

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

  • 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 است و در ساخت بازی‌های کامپیوتری نیز  استفاده زیادی دارد.

کسانی که قصد دارند برنامه نویس و توسعه دهنده بک اند شوند باید ویژگی‌ها و مهارت‌های مختلف دیگری نیز داشته باشند، از جمله :

درآمد برنامه نویسان Back-End

زبان Java در سال‌های اخیر توانسته برای برنامه نویسان آمریکایی درآمد سالیانه حدود 90 هزار دلار به همراه داشته باشد. در ایران درآمد برنامه نویسان مبلغ ثابت و مشخصی ندارد اما معمولا برنامه نویسان ارشد جاوا با توجه به نوع پروژه و مسئولیتی که دارند ممکن است درآمد ماهانه بین 4 تا 8 میلیون تومان داشته باشند.

در آمریکا درآمد سالیانه توسعه دهندگان PHP حدود 80 هزار دلار در سال است و در ایران نیز میانگین حقوق ماهیانه 4 میلیون تومان گزارش شده است.

همچنین درآمد سالیانه Python در آمریکا حدود 90 هزار دلار و در ایران ماهیانه بین 3 تا 5 میلیون تومان اعلام شده است.

درآمد سالیانه SQL در آمریکا حدود 95 هزار دلار و در ایران ماهیانه حدود 3 تا 5 میلیون تومان است.

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

مثالی از بک اند در دنیای واقعی

 

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

برای اینکه این فیلم ساخته و اکران شود، عوامل پشت‌صحنه زیادی مانند تصویر بردار، صدا بردار، کارگردان و غیره داشته است که شما آن‌ها را در فیلم نخواهید دید. کدهایی که در پس زمینه سایت در حال اجرا شدن هستند، مانند عوامل پشت‌صحنه فیلم می‌باشند که مربوط به برنامه نویسی بک اند (Backend) هستند.

 

مقایسه با فرانت اند

یک نکته‌ی خیلی جالب در تفاوت برنامه نویسی فرانت اند (Front End) و برنامه نویسی بک اند (Back End) وجود دارد. و آن هم نمایان بودن یا نبودن کدهای آن برای کاربران سایت شماست.

وقتی که شما در حال طراحی وب با تکنولوژی هایی مثل HTML, CSS, Javascript و… هستید، تمام کدهایی که نوشتید را کاربر میتواند به راحتی ببیند. زیرا آن کدها مربوط به کاربر هستند و به آن‌ها دسترسی مستقیم دارد.

اما وقتی شما در حال کدنویسی بک اند هستید و مثلا با زبانی مثل PHP کد نویسی میکنید، کاربر هیچ وقت هیچ دسترسی ای نمیتواند به کدهای شما داشته باشد. به این دلیل که این کدها سمت سرور پردازش و اجرا میشوند و کاربر به هیچ وجه نمیتواند آن‌ها را ببیند،‌ بلکه فقط نتیجه‌ای که ایجاد میکنند را مشاهده میکند.

برای اطلاعات بیشتر و درک بهتر سوالBack End چیست پیشنهاد میکنیم این مقاله را حتما مطالعه کنید: Front End چیست و به چه کسی برنامه نویس فرانت اند میگویند؟

 

Server Side و Client Side به چه معنا هستند.

در آینده حتما در خصوص تفاوت Server Side و Client Side بیشتر صحبت خواهیم کرد. اما برای اینکه بتوانیم به سوال Back End چیست بهتر پاسخ دهیم، خیلی خوب است که این دو مفهوم را کمی توضیح دهیم.

اما اگر بخواهیم خیلی ساده این دو مفهوم را معرفی کنیم، اینگونه میتوانیم بگوییم:

 

Client Side

از آن‌جایی که Client به معنای مشتری است، Client Side هم به معنی زبان‌هایی است که سمت کاربر کار میکنند. برای مثال میتوان به HTML, CSS, Javascript و… زبان‌های سمت کاربر و Client Side نیز بگوییم. و به مجموع کاری که این زبان‌ها انجام میدهند، طراحی وب یا Front End Development میگوییم.

 

Server Side

همانطور که از اسم این عبارت پیداست، زبان‌هایی که در این دسته بندی قرار میگیرند، روی سرور اجرا میشوند و برای اجرا شدن به یک سرور نیاز دارند. برای مثال زبان‌هایی مثل PHP یا ASP.NET برای اجرا حتما به یک سرور نیاز دارند،‌ که این سرور هم میتواند یک سرور واقعی در دنیای آنلاین باشد و هم یک شبیه ساز سرور یا لوکال هاست (Localhost). به زبان‌های برنامه نویسی‌ای که سمت سرور اجرا میشوند، زبان‌های Server Side و به مجموع کاری که این زبان‌ها انجام میدهند، برنامه نویسی بک اند یا Back End Development میگویند

 

 

  • محمدرضا غنیمتی

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی