📌 خلاصه مطلب (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
پیشنیازها:
- .NET SDK را از سایت رسمی مایکروسافت دانلود و نصب کنید
- 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.




