برنامه نویسی بک اند که به عنوان Back End Development هم شناخته میشه. تو این پست قراره درباره مهارت‌های لازم برای برنامه نوس بک اند شدن صحبت کنیم، در واقع کدهای خاصی باطن عملکرد بک اند رو کنترل میکنن، این کدها میتونن اتصالات کاربر رو مدیریت کنن و خود برنامه وب رو قدرت ببخشن.

به نظر شما توسعه بک اند یا برنامه نویسی بک اند چیه و چطوری کار میکنه؟

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

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

Back-End Development چیزیه که در پشت صحنه سایت وجود داره و باعث عملکرد سایت میشه! نحوه کار بک اند اولین چیزیه که تو برنامه نویسی بک اند بهش توجه میشه و در اولویت قرار داره. پس تو این توسعه، کدهایی نوشته میشه که روی عملکرد و منطق تامین برنامه‌ای که روی اون کار میشه تمرکز میکنن و این موارد اصلاً توسط کاربر مشاهده نمیشن!

تکنولوژی بک اند ترکیبی از سرورها، برنامه ها و پایگاه های داده است!

مسئولیت برنامه نویس Back End شامل نوشتن API، نوشتن کد برای تعامل با یه پایگاه داده، ایجاد کتابخونه‌ها، کار روی فرآیندهای تجاری و معماری داده ها و موارد دیگه‌ایه. البته این مسئولیت‌ها تا حدی هم به فعالیت‌های هدف شرکت مربوطه.

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

تفاوت اصلی این دو نوع برنامه نویسی اینه که در Back End توسعه دهنده به فکر نحوه عملکرد سایت و در Front End به فکر طراحی رابط کاربری و نحوه دیزاین سایت است!

تو برنامه نویسی بک اند کدهایی تولید و جایگذاری میشن که سایت رو قادر میکنه تا اقداماتی رو که کاربر در قسمت فرانت اند انجام میده پردازش کنه و اطلاعات درستی رو ارائه بده.

هیچ کاری بدون هماهنگی پیش نمیره، تو داستان ما هم برای این که فرانت اند بتونه خیلی خوب کار کنه به بک اند نیاز داره و البته برای این که بک اند خودی نشون بده به فرانت اند نیاز داریم تا افراد بتونن از سایت استفاده کنن و برنامه نویس بک اند نتایج کار خودش رو تو عملکرد سایت مشاهده کنه!

برنامه نویس بک اند به طور معمول حقوق بیشتری نسبت به برنامه نویس فرانت اند دریافت میکنه و این بخاطر اینه که زبان های بک اند خیلی فنی‌تر از زبان‌های فرانت اند هستند!

انواع زبان‌های برنامه نویسی بک اند

Back-End Development میتونه شی گرا – OOP یا کاربردی باشه!

اولی تکنیکیه که روی ایجاد شی تمرکز داره! حالا منظورمون از شی، موجودیت است. با برنامه نویسی شی گرا، دستورها باید به ترتیب خاصی اجرا بشن. زبان‌های محبوب OOP عبارتند از جاوا Java، دات نت NET. و پایتون Python.

حالت دوم تکنیکیه که مبتنی بر عمل است. برنامه نویسی کاربردی از زبان اعلانی استفاده میکنه به این معنی که دستورها به هر ترتیبی قابل اجرا هستند. این تکنیک معمولاً برای علوم داده استفاده و زبان‌های رایجش SQL, #F و R هستند.

این زبان‌ها می‌تونن به صورت استاتیک یا داینامیک استفاده بشن. اولی سخت‌تره ولی در یافتن خطاها بهتر عمل میکنه در حالی که دومی انعطاف‌پذیرتره اما به متغیرها اجازه میده که چیزهای زیادی رو تغییر بدن که ممکنه خطاهای غیر منتظره‌ای به وجود بیاد.

زبان‌های رایج در Back End Development

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

۱. Java

جاوا محبوب‌ترین زبان برنامه نویسی در دنیاست و این محبوبیت بی‌علت نیست!

جاوا نه تنها بسیار متنوعه همچنین بیشتر از ۲۰ ساله که توسط برنامه نویسان استفاده میشه. اون چیزی که جاوا رو انقدر متنوع کرده، ماشین مجازی جاوا یا JVM است. تو خیلی از زبان‌های برنامه نویسی، تهیه برنامه، کدی رو ایجاد میکنه که در صورت متفاوت بودن کامپیوترهایی که در اون کار میشه، نتیجه ممکنه متفاوت باشه. این مسئله برای جاوا به خاطر JVM مشکلی نیست چون این ماشین مجازی مثل یه لایه میانی عمل میکنه که میتونه کد رو روی هر کامپیوتری اجرا کنه (صرف نظر از مکان تهیه کد ذکر شده).

در حالی که جاوا بین برنامه نویسان نرم افزارهای دسکتاپ و مشاغل خیلی محبوبه، نسبت به زبانی مثل پایتون کمتر Beginner friendly است و این به ‌خاطر اینه که برای ساختن برنامه به کدهای بیشتری احتیاج داره. در نتیجه برای کسایی که تو کار برنامه نویسی بک اند تازه کار هستند پیشنهاد نمیشه.

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

با جاوا چیکار میشه کرد؟

برای دست یابی به اهداف زیادی از جمله موارد زیر میتونین از جاوا استفاده کنین:

  • توسعه برنامه تلفن همراه (Android)
  • توسعه وبسایت
  • اتصال به پایگاه داده
  • پردازش تصویر
  • برنامه‌های مبتنی بر GUI
  • شبکه سازی

۲. PHP

حدود ۷۸.۲% از سایت هایی که زبان برنامه نویسی سمت سرور Server side اون‌ها رو میشناسیم، با PHP هستن. این زبان برای اولین بار تو سال ۱۹۹۵ منتشر شد که گزینه‌های کمی برای ایجاد سایت های پویا وجود داشت.

PHP

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

در عوض PHP به دلایل زیادی برای کسانی که تازه برنامه نویسی بک اند رو شروع کردن، خیلی عالیه:

  • بیشتر بخشنده است تا خطاگیر! به این معنی که می‌تونین یه برنامه رو  تا زمانی که به یه قسمت مشکل ساز برنخوردین تهیه و اجرا کنین.
  • بخاطر گروه وسیع برنامه نویس و پشتیبانی ابزاری که داره، منابع زیادی به این زبان اختصاص داده شده. این زبان به روز میشه پس مطمئن هسین که در حال یادگیری چیزی جدید و آپدیت هسین.
  • تنظیماتش نسبت به زبانی مثل Ruby on Rails خیلی راحته و می‌تونین MAMP (برای مک بوک‌ها) و WAMP (برای ویندوزها) رو دانلود کنین و بله تا ۵ دقیقه بعدش آماده کار باشین!!

با PHP چیکار میشه کرد؟

بر اساس سایت PHP می‌تونین موارد زیر رو انجام بدین:

  • جمع آوری داده های فرم
  • ایجاد محتوای داینامیک
  • ارسال و دریافت کوکی
  • برنامه نویسی سرور ساید
  • برنامه نویسی دسکتاپ

۳. NET. و (C#, VB)

ASP.NET پاسخ مایکروسافت به Sun Microsystem جاوا است. چارچوب برنامه وب برای ساختن سایت هایی که از زبان‌هایی مثل Visual Basic VB, #C, #F و موارد دیگه استفاده میکنن، به کار برده میشه!

الگوی معماری اون MVC است که اجازه میده تا وظایف برنامه نویسی بک اند توسط یه کنترلگر انجام بشه که برای پردازش داده ها با یه مدل در تعامل است. سپس نتیجه برای نمایش به عنوان یه صفحه فرانت اند ارائه میشه.

این زبان به صورت اپن سورس در سال ۲۰۱۶ ساخته شد، دات نت میتونه با IOS, Linux و اندروید توسط NET Core. ادغام بشه که خیلی خیلی قابل اعتماد و پایدار است و اون رو به یه انتخاب محبوب برای مشاغل تبدیل میکنه. از اون‌جایی که این یه محصول از شرکت مایکروسافت است در صورت گم کردن راه می‌تونین پشتیبانی خوبی از شرکت دریافت کنین.

C#

C# یه زبان سطح بالای کامپیوتری است و به برنامه نویسی بک اند کمک میکنه تا برنامه هایی نوشته بشه که مستقل از یه نوع خاص رایانه باشن. زبان‌های اینطوری بیشتر شبیه زبان‌های انسانی خونده و نوشته میشن تا زبان‌های ماشین!

C# در بین برنامه نویسان خیلی محبوبه و دلیل این محبوبیت، داشتن قدرت ++C است (یه زبان برنامه نویسی بک اند دیگه).

VB

VB یه زبان برنامه نویسی است که از یه رابط کاربری گرافیکی GUI برای تغییر کدهای نوشته شده در زبان برنامه نویسی BASIC استفاده میکنه. این یه زبان ساده است چون استفاده گسترده و ترکیب راحتی داره، در نتیجه اغلب برای نمونه سازی اولیه ازش استفاده میشه.

اشکال کد نویسی با VB اینه که مقدار زیادی از حافظه مورد نیاز برای نصب و اجرای ابزارهای برنامه نویسی مبتنی بر GUI است.

با NET. چیکار میشه کرد؟

  • ساختن برنامه های دسکتاپ
  • تولید اپ موبایل
  • ساختن برنامه و بازی‌های وب
  • کار با Big Data

4. Ruby

Ruby on Rails یه زبان برنامه نویسی بک اند است که بر پایه زبان برنامه نویسی Ruby ساخته شده. Ruby on Rails یه مجموعه‌ای از ابزارها رو داره که بهتون امکان میده تا به سادگی کارهای اولیه رو انجام بدین (مثلاً با یه خط کد می‌تونین اساس یه بلاگ رو پایه ریزی کنین).

با استفاده از Ruby لازمه کارهای کمی روی بک اند انجام بدین و به توسعه دهنده امکان میده تا به سرعت برنامه‌هایی رو ایجاد و راه اندازی کنه. این برنامه مثل پایتون برای نمونه سازی فوق العاده‌ست. در اوایل سال ۲۰۰۰ روبی محبوبیت زیادی پیدا کرد اما در حال حاضر محبوبیتش کاهش پیدا کرده.

Ruby اپن سورسه پس درنتیجه قابل تغییر و قابل توسعه‌ست.

با Ruby چه کارهایی میشه انجام داد؟

  • خودکار کردن کارهای تکراری
  • ساختن برنامه های وب
  • ساختن برنامه ها و بازی‌های موبایل
  • ایجاد نمونه‌های اولیه

۵. Python

پایتون سریع‌ترین زبان برنامه نویسی بک اند است. این زبان همه کاره برای توسعه وب و دسکتاپ استفاده میشه، مثل Java آموزش‌ها و راهنمایی‌های زیادی به صورت آنلاین وجود داره که این زبان رو برای افراد مبتدی در دسترس و قابل استفاده قرار میده.

علاوه بر این، زبان Python در مقایسه با زبان‌های دیگه Back End Development ساده‌تر و قابل فهم‌تره.

همانطور که گفته شد، روبی و پایتون شباهت‌هایی به هم دیگه دارن، مثلاً هر دوتاشون به صورت پویا، متن باز و منبع گرا هستند. تفاوت کلیدی که بین این دوتا هست هم مربوط به محبوبیت هرکدومشونه. محبوبیت پایتون رو به افزایش و محبوبیت روبی رو به کاهشه!

با Python چیکار میشه کرد؟

بعضی از محبوب‌ترین کارهای پایتون شامل موارد زیره:

  • اتوماسیون سریع
  • برنامه نویسی Cross-Platform Shell
  • توسعه ساده وب

۶. SQL

SQL رایج‌ترین زبان کوئری است و برای تعامل با پایگاه‌های داده مورد استفاده قرار میگیره.

SQL برای مبتدیان بسیار جالبه چون یه این یه زبان اعلانی است و اجازه میده تا برنامه نویسان نتایجی که می‌خوان ببینن رو بدون مشخص کردن پروسه و مراحل برای نتایج خواسته شده، مشاهده کنن.

یه زبان کوئری مثل SQL برای کسایی که می‌خوان از دانش ذخیره شده در پایگاه داده استفاده کنن، بسیار وسیله مناسبیه.

با SQL چیکار میشه کرد؟

SQL برای دستکاری، دست‌یابی و ایجاد پایگاه‌های داده مورد استفاده قرار میگیره.

افرادی که از نزدیک با داده‌ها همکاری میکنن میتونن از یادگیری SQL بهره مند بشن. این افراد شامل تحلیل‌گران مالی، بازاریابان داده محور یا کارآفرینان آنلاین هستند. SQL یه نردبون ایده آل برای کسانی است که می‌خوان به دنیای Big Data وارد بشن.

۷. JavaScript

اول از همه بگم که جاوا اسکریپت نباید با جاوا اشتباه گرفته بشه. جاوا اسکریپت زبانیه که هم می‌تونه برای برنامه نویسی بک اند و هم برنامه نویسی فرانت اند مورد استفاده قرار بگیره.

این یه زبان خوب برای مبتدیانه چون که تنظیمات کمی داره و می‌تونین کد گذاری رو تو مرورگر خودتون شروع کنین.

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

با جاوا اسکریپت چیکار میشه کرد؟

جاوا اسکریپت رو میشه برای ساختن انواع بسیاری از سایت ها و نرم افزارها استفاده کرد، مثل:

  • وبسایت ها
  • برنامه‌های تلفن همراه
  • برنامه‎های دسکتاپ
  • بازی‌ها
  • سرورهای وب

مطالعه برای برنامه نویسی بک اند رو شروع کنین

امیدوارم تونسته باشم تو این پست اطلاعات لازم برای شروع کردن برنامه نویسی بک اند رو بهتون ارائه داده باشم، البته لازمه بگم این لیست به هیچ وجه لیست نهایی برای یادگیری Back End Development نیست و شما باید از منابع بیشتری استفاده کنین و اگه به شغل خاصی علاقه دارین به لیست توانایی‌های لازم برای اون شغل نگاهی بندازین و از اون‌جا کار رو شروع کنین.

یادتون باشه همه متخصص‌ها یه روز مبتدی بودن *-^