فن آوری ASP.NET چیست و توسعه مبتنی بر آن چگونه است؟

سه‌شنبه 7 بهمن 1399

امروز یکی از دوستان سوالی پرسیدند که به شخصه احساس میکنم این سوالِ تعدادِ زیادی از افرادی ست که در حوزه توسعهء مبتنی بر وب، تازه وارد و تازه کار هستند؛ لذا پاسخی که به آن عزیز ارائه شد، با اندکی دخل و تصرف، به عنوان توضیحی در رابطه با کُلیت داستانِ توسعهء مبتنی بر وب و بر اساس محصولات و فن-آوری‌های مایکروسافت، در ذیل ارائه شده:

در وب، با هر ابزاری که بخواهید اپلیکیشن تولید کنید، خروجیِ آن در مرورگر دیده می‌شود. مرورگر هم فقط و فقط توان فهم و پردازش 4 زبان ذیل را دارد:

  1. HTML برای ساخت تصویر
  2. CSS برای تزئین عناصر تصویر
  3. JavaScript برای «پویایی بخشی» به عناصر تصویر، پردازش‌های سبک و ارتباط با سرویس‌دهنده
  4. WebAssembly برای انجام پردازش به صورت کدهای سطح پایین نزدیک به زبان سخت افزار

در نتیجه کسی که خود را «توسعه دهندهء وب» می‌نامد باید بتواند حداقل با HTML و CSS خروجیِ مطلوبش را تولید و برای پویاسازی صفحات و عناصر از JavaScript استفاده نماید. چند سالی ست کلیه فعالیت‌های مبتنی بر این ابزارها را اصطلاحاً Front-End Development می‌نامند و تعداد کثیری ابزار، زیرساخت و چارچوب برای تسهیل این فعالیت توسعه یافته و در دسترس میباشند.

برای تولید اپلیکیشن مبتنی بر وب، دو شیوه کلی وجود دارد:

  1. توسعه مبتنی بر ابزارها و تکنیک‌های پردازش و تصویرسازی در سرویس‌دهنده (Server-Side Rendering) که کل محتویات صفحات و کدها در سرویس‌دهنده تولید یا اجرا می‌شوند و فقط تصویر خروجی در مرورگر دیده می‌شود.

  2. توسعه عناصر تصویری و پردازشی بصورت مجزا و مبتنی بر زیرساخت‌های مجزا یا همان Decoupled که بخش پردازش داده‌ها (REST-ful API) در سرویس‌دهنده و بخش تولید تصویر در مرورگر اجرا می‌شوند (Client-Side Rendering). قابل ذکر است در گذشته بجای REST-ful API از XML Web Service ها استفاده میشد.

بر اساس موارد بالا، ابزارهای توسعه و پردازش داده‌ها در سرویس‌دهنده‌ها اجرا می‌شوند و خروجی آنها به صورت داده یا HTML به مرورگر منتقل شده و پیش روی کاربر قرار می‌گیرد. از جمله این زیرساخت‌ها، فن-آوری ASP.NET Core می‌باشد که در آن، بخش عمدهء توسعهء مولفه‌های پردازشی یا تصویری، مبتنی بر زبان C# انجام میشود.

در ASP.NET Core بطور کلی چهار نوع اپلیکیشن دارای خروجی تصویری داریم:

  • ASP.NET Core MVC (تقریبا منسوخ شده)
  • ASP.NET Core Razor Pages (MVP)
  • ASP.NET Core Blazor Server
  • ASP.NET Core Blazor WebAssembly

در تمام این‌ها برای توصیف و تولید تصویر از صرف و نحو خاصی تبعیت می‌شود که ترکیبی از HTML و C# بوده و به آن کدِ Razor گفته می‌شود. توسعهء مبتنی بر سه مورد اول از نوع Server-Side Rendering بوده و مورد چهارم بصورت Decoupled می‌باشد که برای انجام امور پردازشی، نیازمند استفاده از زیرساخت مجزایی به نام ASP.NET Core WebAPI (یا هر زیرساخت REST-ful دیگر) می‌باشد.

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

  1. زیرساخت ASP.NET Core WebAPI برای تولید سرویس‌های REST-ful
  2. زیرساخت ASP.NET Core Identity برای انجام کلیه امور امنیتی (Authentication و Authorization)
  3. زیرساخت ASP.NET Core SignalR برای محاورات بلادرنگ، ارسال Push Notification و انجام Data Streaming
  4. چارچوب Entity Framwork Core که جزو مجموعه ابزارهای وب نیست ولی به عنوان ORM بومی مایکروسافت، بهترین گزینه جهت توسعه مباحث Data Access می‌باشد.

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

#تکنولوژی#توسعه#زیرساخت#فن_آوری#وب#aspnetcore

کلیه حقوق مادی و معنوی این سایت محفوظ است.

وبلاگ من © 2583 ش. / 1403 ه.خ. / 2025 A.C.

خطایی رخ داده. این برنامه تا زمانی که مجدداً بارگذاری نشود پاسخگوی تان نخواهد بود. بارگذاری مجدد ×