برنامه نویسی9دقیقه برای خواندن

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

28 بهمنآﭘﺪﯾﺖ ﺷﺪه در 28 بهمن
نوشته شده توسط سبحان سقا
برنامه نویسی بک اند چیست

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

در دنیای کامپیوتر، "بکاند" به هر بخشی از یک وبسایت یا برنامه نرمافزاری اشاره دارد که کاربران نمیبینند. بک اند در تضاد با frontend است که به رابط کاربری یک برنامه یا وب سایت اشاره دارد. در اصطلاح برنامه نویسی، backend "لایه دسترسی به داده" است، در حالی که قسمت جلویی "لایه ارائه" است.

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

 

  1. 1. بک اند چیست؟
  2. 2. هدف از بک اند و فرانت اند چیست؟
  3. 3. نمونه هایی از تفاوت فرانت اند و بک  اند
  4. 4. نحوه کار بک اند
  5. 5.زبان های برنامه نویسی بک اند
  6. 6. آیا باید توسعه فرانت اند  را یاد بگیرم یا بک اند؟ یا هردو؟

 

 

 

 

 

1. بک اند چیست؟

 

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

هر زمان که یک فرم تماس را پر می کنید، یک آدرس وب را تایپ می کنید، یا خریدی انجام می دهید (هر گونه تعامل کاربر در سمت مشتری)، مرورگر شما درخواستی را به سمت سرور ارسال می کند، که اطلاعات را در قالب کد فرانت اند، باز می گرداند. سایت جدید شما باید اجزای پشتیبان اضافی داشته باشد تا آن را به یک برنامه وب پویا تبدیل کند - وب سایتی که محتوای آن می تواند بر اساس آنچه در پایگاه داده آن وجود دارد تغییر کند و با ورودی کاربر قابل تغییر باشد. این از یک وب سایت ثابت متمایز است که به پایگاه داده نیاز ندارد زیرا محتوای آن معمولاً یکسان می ماند.

 

 

2. هدف از بک اند و فرانت اند چیست؟

  

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

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

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

هر دو جزء ضروری برای یک اپلیکیشن یا وب سایت با عملکرد بالا هستند.

توسعه دهندگان فرانت اند و بک اند به صورت پشت سر هم کار می کنند تا سیستم های لازم برای عملکرد صحیح یک برنامه یا وب سایت را ایجاد کنند. با این حال، آنها نگرانی های متضادی دارند. اصطلاح "front-end" به رابط کاربری اشاره دارد، در حالی که "back-end" به معنای سرور، برنامه و پایگاه داده است که در پشت صحنه برای ارائه اطلاعات به کاربر کار می کند. کاربر درخواستی را از طریق رابط وارد می کند. سپس تأیید می شود و به سرور منتقل می شود، که داده های لازم را از پایگاه داده بیرون می کشد و برای کاربر ارسال می کند. در اینجا نگاهی دقیق تر به تفاوت بین توسعه front-end و back-end داریم.

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

یک برنامه بکاند از خدمات کاربرِ جلویی پشتیبانی میکند و با هر منبع مورد نیاز رابط کاربری دارد. برنامه Back-end ممکن است مستقیماً با قسمت جلویی تعامل داشته باشد یا ممکن است از یک برنامه میانی فراخوانی شود(Api) که میانجی فعالیتهای front-end و back-end است.

 

 

 

 

3. نمونه هایی از تفاوت فرانت اند و بک اند

 

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

· طراحی و نشانه گذاری زبان هایی مانند HTML، CSS و جاوا اسکریپت.

·  بهینه سازی موتور جستجو (SEO).

·  تست قابلیت استفاده و دسترسی

·  ابزارهای طراحی گرافیکی و ویرایش تصویر.

·   عملکرد وب و سازگاری مرورگر.

 

برعکس، مواردی که روی قسمت بک اند یک سیستم تمرکز می کنند عبارتند از:

·   زبان های برنامه نویسی و برنامه نویسی مانند PHP، Python و C#.

·   چارچوب های تست خودکار

·   مقیاس پذیری و در دسترس بودن شبکه

·   مدیریت پایگاه داده و تبدیل داده ها.

·    امنیت سایبری و شیوه های پشتیبان گیری از داده ها.

 

 

4. نحوه کار  بک اند

 

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

کار با پایگاه های داده ، کار با سرور ، کار با api  ها (Application Programming Interface) و برنامه نویسی با یکی از زبان های تحت وب ، از جمله مهارت هایی است که یک توسعه دهنده ی بک اند لازم است بلد باشد.

دغدغه اصلی توسعه دهندگان Back-end ایجاد برنامه هایی است که می توانند داده ها را پیدا کرده و به قسمت فرانت اند تحویل دهند.

بسیاری از آنها از پایگاه داده های قابل اعتماد در سطح سازمانی مانند Oracle، Teradata، Microsoft SQL Server، IBM DB2، و SAP Sybase ASE استفاده می کنند.

همچنین تعدادی پایگاه داده محبوب دیگر از جمله MySQL، NoSQL و PostgreSQL وجود دارد.

بک اند و فرانت اند با هم کار می کنند تا تجربه کاربری کاملی را ایجاد کنند. داده های تولید شده در backend به فرانت اند ارسال شده و به کاربر،  ارائه می شود. در حالی که برخی از سازمان ها تیم های توسعه بک اند و فرانت اند جداگانه دارند، خط بین این دو لایه به ندرت سیاه و سفید است. بنابراین، بسیاری از توسعه دهندگان هم برای Backend و هم برای Frontend کد می نویسند. این به عنوان توسعه تمام پشته شناخته می شود.

 

نکته: Backend ممکن است "back end" (به عنوان یک اسم) یا "back-end" (به عنوان صفت) نوشته شود. برای سادگی، "backend" (کلمه مرکب بسته) به یک اصطلاح قابل قبول برای هر دو تبدیل شده است.

 

 

5. زبان های برنامه نویسی بک اند

 

پایتون

 

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

 

جاوا اسکریپت

 

جاوا اسکریپت یک زبان برنامه نویسی است که در کنار HTML و CSS یکی از فناوری های اصلی شبکه جهانی وب است . همچنین با استفاده از محیطِ اجرای Nodejs   می توان بک اند یک وبسایت را  با استفاده فریمورک هایی نظیر و پیاده سازی کرد.

 

زبان PHP

 

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

 

زبان Ruby   

 

روبی یک زبان برنامه نویسی تعبیر شده و سطح بالا است که با تاکید بر بهره وری و سادگی برنامه نویسی طراحی شده است. همچنین با استفاده از فریمورکِ RubyOnRails   می توان بک اند یک وبسایت را پیاده سازی کرد

 

زبان Java  

 

جاوا یک زبان برنامه نویسی سطح بالا، مبتنی بر کلاس و شی گرا است که به گونه ای طراحی شده است که تا حد امکان وابستگی های پیاده سازی کمتری داشته باشد. برای پیاده سازیِ بک اند نیز می توان از فریمورکِ spring  استفاده کرد.

 

زبان C#

 

سی شارپ یک زبان برنامه نویسی مدرن، شی گرا و ایمن است و  توسعه دهندگان را قادر می سازد تا انواع مختلفی از برنامه های کاربردی امن و قوی را که در دات نت اجرا می شوند بسازند، برای توسعه یک بک اند نیز میتوان از فریمورکِ asp.net core استفاده کرد.

 

 

 

 

6. آیا باید توسعه فرانت اند  را یاد بگیرم یا بک اند؟ یا هردو؟

 

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

اگر از کار با دادهها، کشف الگوریتمها و یافتن راههایی برای بهینهسازی سیستمهای پیچیده لذت میبرید، ممکن است ترجیح دهید به عنوان یک توسعهدهنده بک اند، کار کنید. بر اساس گزارش Indeed، در واقع، توسعه دهندگان بک اند، یکی از مشاغلی بودند که سریعترین رشد را در سال گذشته داشتهاند.

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

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

 

 

 

 

 

تاپیک:

بک اند
این پست را اشتراک بگذارید :

ﭘﺴﺖ ﻫﺎی ﻣﺮﺗﺒﻂ