بررسی معماری Back-End به زبان ساده

آفلاین
user-avatar
ارسطو عباسی
07 شهریور 1400, خواندن در 6 دقیقه

اگر حتی بمدت کوتاهی مشغول توسعه نرم‌افزار بوده باشید باید با این صحنه که برنامه‌نویسان در رابطه با فرانت-اند و بک-اند صحبت می‌کنند آشنایی داشته باشید. اما آیا می‌دانید این موارد دقیقا به چه معنا هستند؟

به زبان بسیار ساده، فرانت-اند به آن دسته از کدها اشاره دارد که در سمت کاربر و روی مرورگر وی اجرا می‌شود. این ساختار را برنامه‌نویسان با استفاده‌ از زبان‌های HTML-CSS-JS بوجود می‌آورند. با استفاده از این موارد، برنامه‌نویسان می‌توانند رابط کاربری مورد نظرشان را پیاده‌سازی کرده و آن را روی مرورگر اجرا کنند.

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

کلاینت چیست و چه نقشی در دنیای بک-اند دارد؟

 کلاینت به هرچیزی می‌گویند که یک درخواست داشته و آن را از طریق یک رابط کاربری (متنی یا گرافیکی) به سرور ارسال می‌کند. در حال حاضر بیشتر این درخواست‌ها از طریق مرورگر و با استفاده از رابط‌های کاربری ساخته شده با HTML-JS به سرورها ارسال می‌شود. اما شما از طریق یک ترمینال یا CMD نیز می‌توانید درخواست ارسال کنید.

بعنوان یک نکته مهم: کلاینت به شخص خاصی اطلاق نمی‌شود بلکه به دستگاه یا پلتفرمی که در حال استفاده از آن هستیم گفته می‌شود، به همین دلیل در عنوان این بخش ننوشته‌ایم «کلاینت کیست؟» بلکه «کلاینت چیست؟». برای مثال کلاینت ارسطو عباسی سن ۱۰ سال نیست، بلکه مثلا Andriod Phone – Tehran و مواردی شبیه به این البته با جزئیات بیشتر است. به همین دلیل کلاینت می‌تواند یک اپلیکیشن موبایلی، پلتفرم، برنامه‌ای روی یک سرور دیگر (مانند یک بات) و... باشد.

منظور از خود بک-اند چیست؟

بک-اند به تمام تکنولوژی‌هایی گفته می‌شود که می‌تواند ورودی‌ها را دریافت کند و براساس آن یک خروجی مناسب را ایجاد کرده و آن را به سمت کلاینت برگرداند. به صورت پایه‌ای و ساده بک-اند شامل سه بخش می‌شود که در کنار همدیگر می‌توانند این هدف را به انجام برسانند.

  • سرور سرور به کامپیوتری گفته می‌شود که برنامه‌ها روی آن اجرا شده و درخواست‌ها را دریافت می‌کند.
  • اپلیکیشن اپلیکیشن به بخشی اطلاق می‌شود که روی سرور اجرا شده و به درخواست‌هایی که دریافت می‌شود «گوش» داده و براساس اطلاعاتی که در دسترس دارد (بانک اطلاعاتی) و منطق (logic) که برنامه‌نویس آن را نوشته به درخواست کلاینت پاسخ می‌دهد.
  • بانک اطلاعاتی در پاراگراف قبلی اشاره‌ای کوچک به بانک اطلاعاتی شد اما بصورت کلی بانک اطلاعاتی به جایی گفته می‌شود که تمام داده‌های موجود اپلیکیشن در آن ذخیره و مدیریت می‌شود. بانک اطلاعاتی مرجعی‌ست که ما داده‌های مورد نیاز یک درخواست را از آنجا دریافت می‌کنیم.

سرور چیست؟

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

اپلیکیشن چیست و چه نقشی دارد؟

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

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

پاسخ به درخواست‌ها به چه شکلی هستند؟

بعد از آنکه درخواستی ارسال شد و سرور آن را پردازش کرده و پاسخی به کلاینت ارسال کرد، این پاسخ به شکل‌های متفاوتی ارسال خواهد شد. برای مثال یک حالت ارسال یک فایل HTML برای نمایش به کلاینت است. اما در حالت‌های دیگر این کار ممکن است با ارسال یک فایل JSON و یا یک HTTP status code یا کد وضعیت HTTP باشد.

در رابطه با اینکه این کد وضعیت چیست باید توضیحات کاملی ارائه شود که در این مطلب نمی‌گنجد اما اگر تا به حال در وبسایتی به دنبال چیزی جستجو کرده باشید و آن چیز پیدا نشده باشد با کد ۴۰۴ مواجه شده‌اید. این یکی از کدهای وضعیت است که به معنای پیدا نکردن آن مبحث در بانک اطلاعاتی‌ست.

بانک اطلاعاتی چیست و چه کاربردی دارد؟

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

یک اصطلاح رایج در دنیای بانک اطلاعاتی‌ها «کوئری» است. کوئری گرفتن از بانک اطلاعاتی به معنای ارتباط گرفتن با آن به منظور خاصی به مانند ایجاد ارتباط اپلیکیشن با بانک اطلاعاتی، خواندن یک داده مشخص، نوشتن یک داده مشخص و... است.

جمع‌بندی

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

 

چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

آفلاین
user-avatar
ارسطو عباسی @arastoo
برنامه‌نویس وب و مدیر بخش تولید محتوا وبسایت راکت
دنبال کردن

گفتگو‌ برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن وارد شو