تاریخ به‌روزرسانی : 1402/06/21
به قلم : شهاب بیرامی
زمان مطالعه : 6 دقیقه

📌 خلاصه مطلب (TL;DR)

  • ASP.NET Core یک فریم‌ورک متن‌باز، چندپلتفرمی و با کارایی بالا از مایکروسافت برای ساخت اپلیکیشن‌های وب و API است
  • جدیدترین نسخه: .NET 9 (نوامبر ۲۰۲۴) و .NET 10 LTS (نوامبر ۲۰۲۵)
  • تفاوت اصلی با ASP.NET Framework: چندپلتفرمی (ویندوز، لینوکس، macOS)، مدولار، سبک‌تر و سریع‌تر
  • ویژگی‌های کلیدی: Blazor برای UI، Minimal APIs، SignalR برای Real-time، gRPC
  • مناسب برای: وب‌اپلیکیشن‌ها، REST/GraphQL APIs، میکروسرویس‌ها، برنامه‌های کلود

اگر با دنیای توسعه وب آشنا هستید، حتماً نام ASP.NET را شنیده‌اید. اما تفاوت بین ASP.NET Framework و ASP.NET Core چیست؟ چرا مایکروسافت مسیر جدیدی را با NET Core. انتخاب کرد؟ در این راهنمای جامع ۲۰۲۵، همه چیز درباره ASP.NET و نسخه‌های جدید آن را بررسی می‌کنیم.

ASP.NET چیست؟

ASP.NET یک فریم‌ورک توسعه وب از مایکروسافت است که در سال ۲۰۰۲ معرفی شد. این فریم‌ورک بر پایه .NET Framework ساخته شده و امکان توسعه وب‌اپلیکیشن‌های داینامیک، وب‌سرویس‌ها و APIها را فراهم می‌کند.

تاریخچه کوتاه ASP.NET

سال رویداد
۲۰۰۲ انتشار ASP.NET 1.0 با Web Forms
۲۰۰۹ معرفی ASP.NET MVC
۲۰۱۶ انتشار ASP.NET Core 1.0 (چندپلتفرمی)
۲۰۲۰ .NET 5 - یکپارچه‌سازی .NET Core و .NET Framework
۲۰۲۴ .NET 9 با بهبودهای Native AOT و Blazor
۲۰۲۵ .NET 10 LTS (پشتیبانی تا ۲۰۲۸)

ASP.NET Core چیست و چرا مهم است؟

ASP.NET Core یک بازنویسی کامل ASP.NET است که در سال ۲۰۱۶ منتشر شد. برخلاف نسخه قدیمی که فقط روی ویندوز کار می‌کرد، ASP.NET Core چندپلتفرمی است و روی ویندوز، لینوکس و macOS اجرا می‌شود.

ویژگی‌های کلیدی ASP.NET Core

ویژگی توضیحات
چندپلتفرمی اجرا روی Windows، Linux، macOS و Docker
کارایی بالا یکی از سریع‌ترین فریم‌ورک‌های وب در بنچمارک‌ها
مدولار فقط پکیج‌های مورد نیاز را نصب کنید
متن‌باز کد منبع در GitHub در دسترس است
Dependency Injection داخلی پشتیبانی یکپارچه از IoC Container
Cloud-Native بهینه برای Kubernetes، Docker و Azure

تفاوت ASP.NET Framework و ASP.NET Core

ویژگی ASP.NET Framework ASP.NET Core
سیستم‌عامل فقط ویندوز ویندوز، لینوکس، macOS
وب‌سرور IIS Kestrel، IIS، Nginx، Apache
کارایی متوسط بسیار بالا
معماری یکپارچه (Monolithic) مدولار و میکروسرویس
Container محدود پشتیبانی کامل Docker
وضعیت فقط نگهداری امنیتی توسعه فعال

💡 توصیه: برای پروژه‌های جدید، حتماً از ASP.NET Core استفاده کنید. ASP.NET Framework دیگر توسعه داده نمی‌شود و فقط به‌روزرسانی‌های امنیتی دریافت می‌کند.

اجزای اصلی ASP.NET Core در ۲۰۲۵

۱. Blazor - ساخت UI با C#

Blazor امکان ساخت رابط کاربری تعاملی با C# را فراهم می‌کند، بدون نیاز به JavaScript:

  • Blazor Server: منطق روی سرور، UI روی کلاینت با SignalR
  • Blazor WebAssembly: اجرای کامل C# در مرورگر با WebAssembly
  • Blazor Hybrid: ساخت اپ‌های دسکتاپ و موبایل با .NET MAUI

۲. Minimal APIs

یک روش ساده و سریع برای ساخت API با حداقل کد:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");
app.MapGet("/users/{id}", (int id) => $"User {id}");

app.Run();

۳. SignalR - ارتباطات Real-time

SignalR امکان ارتباط دوطرفه و بلادرنگ بین سرور و کلاینت را فراهم می‌کند:

  • چت آنلاین
  • اعلان‌های Push
  • آپدیت‌های زنده داشبورد
  • بازی‌های آنلاین

۴. gRPC - Remote Procedure Calls با کارایی بالا

gRPC یک فریم‌ورک RPC مدرن برای ارتباطات سریع بین سرویس‌ها با استفاده از HTTP/2 و Protocol Buffers.

چه چیزهایی در .NET 9 جدید است؟

.NET 9 که در نوامبر ۲۰۲۴ منتشر شد، بهبودهای مهمی دارد:

ویژگی جدید توضیحات
Native AOT برای SignalR کامپایل Ahead-of-Time برای راه‌اندازی سریع‌تر
OpenAPI داخلی تولید مستندات API بدون نیاز به پکیج اضافی
Blazor بهبودیافته قالب‌های جدید Hybrid و تشخیص Render Mode
Static File Fingerprinting کش بهتر فایل‌های CSS/JS با نسخه‌بندی خودکار
Reconnection Experience بهتر بازاتصال خودکار Blazor Server پس از قطعی

چرا ASP.NET Core برای هاستینگ مناسب است؟

ASP.NET Core به دلیل ویژگی‌های زیر، گزینه مناسبی برای میزبانی روی هاست لینوکس یا هاست ویندوز است:

  • مصرف منابع پایین: نسبت به PHP و سایر زبان‌ها، RAM و CPU کمتری مصرف می‌کند
  • کارایی بالا: یکی از سریع‌ترین فریم‌ورک‌ها در بنچمارک TechEmpower
  • چندپلتفرمی: روی هاست لینوکس با Kestrel یا Nginx کار می‌کند
  • Container-Ready: به راحتی در Docker و Kubernetes مستقر می‌شود

شروع کار با ASP.NET Core

پیش‌نیازها:

  1. .NET SDK را از سایت رسمی مایکروسافت دانلود و نصب کنید
  2. Visual Studio 2022 یا VS Code با افزونه C# نصب کنید

ایجاد اولین پروژه:

# ایجاد Web API جدید
dotnet new webapi -n MyFirstApi

# ورود به پوشه پروژه
cd MyFirstApi

# اجرای پروژه
dotnet run

پس از اجرا، API شما روی https://localhost:5001 در دسترس خواهد بود.

سیاست پشتیبانی .NET

نسخه نوع پشتیبانی پایان پشتیبانی
.NET 8 LTS (پشتیبانی بلندمدت) نوامبر ۲۰۲۶
.NET 9 STS (پشتیبانی کوتاه‌مدت) مه ۲۰۲۶
.NET 10 LTS (پشتیبانی بلندمدت) نوامبر ۲۰۲۸

📌 توصیه: برای پروژه‌های تولیدی، از نسخه‌های LTS استفاده کنید که ۳ سال پشتیبانی دارند. نسخه‌های STS فقط ۱۸ ماه پشتیبانی می‌شوند.

سوالات متداول

آیا ASP.NET Core رایگان است؟

بله، ASP.NET Core کاملاً رایگان و متن‌باز است. می‌توانید بدون هیچ هزینه‌ای از آن برای پروژه‌های تجاری استفاده کنید. کد منبع در GitHub موجود است.

تفاوت .NET و .NET Core چیست؟

از .NET 5 به بعد، دیگر .NET Core وجود ندارد و فقط .NET داریم. .NET (بدون Core) نسخه یکپارچه‌شده‌ای است که جایگزین هم .NET Core و هم .NET Framework شده است.

آیا می‌توانم ASP.NET Core را روی هاست لینوکس اجرا کنم؟

بله، ASP.NET Core کاملاً با لینوکس سازگار است. می‌توانید آن را با Kestrel (وب‌سرور داخلی) یا پشت Nginx/Apache اجرا کنید. برای میزبانی، از سرور مجازی لینوکس استفاده کنید.

Blazor بهتر است یا React/Vue؟

هر کدام مزایای خود را دارند. Blazor برای تیم‌هایی که با C# راحت‌ترند مناسب است و امکان اشتراک کد بین سرور و کلاینت را می‌دهد. React/Vue اکوسیستم بزرگ‌تر و منابع آموزشی بیشتری دارند. انتخاب به تجربه تیم و نیازهای پروژه بستگی دارد.

چگونه ASP.NET Core را یاد بگیرم؟

منابع پیشنهادی: ۱) مستندات رسمی Microsoft Learn ۲) دوره‌های رایگان YouTube از Nick Chapsas و Tim Corey ۳) کتاب Pro ASP.NET Core از Andrew Lock ۴) تمرین با پروژه‌های عملی

💻 هاست مناسب برای ASP.NET Core

اپلیکیشن ASP.NET Core خود را روی هاست ویندوز یا VPS لینوکس برتینا میزبانی کنید. پشتیبانی از .NET 8 و 9.

مشاهده هاست ویندوز

منابع و لینک‌های مفید

نظرات