.NET (ранее .NET Core до 2020 года) — открытая кросс-платформенная экосистема Microsoft для разработки приложений на C#, F# и VB.NET. Включает рантайм CLR (Common Language Runtime) с JIT-компилятором и GC, базовую библиотеку BCL, веб-фреймворк ASP.NET Core и ORM Entity Framework Core. По бенчмарку TechEmpower (2024), ASP.NET Core входит в топ-5 по RPS среди всех веб-фреймворков.
Компоненты .NET
- CLR — рантайм с JIT-компилятором (RyuJIT), GC и менеджером памяти. В .NET 8 (2023) добавлен Frozen Collections и Native AOT.
- ASP.NET Core — веб-фреймворк: MVC, Minimal API, Razor Pages, Blazor (WebAssembly), SignalR (WebSocket), gRPC
- Entity Framework Core — ORM для MySQL, PostgreSQL, SQL Server, SQLite
- .NET MAUI — кросс-платформенный мобильный фреймворк (замена Xamarin)
- ML.NET — библиотека машинного обучения на C#
История
.NET Framework появился в 2002 году — только для Windows. .NET Core 1.0 вышел в 2016 году как кросс-платформенный переработанный рантайм для Linux, macOS и Windows. .NET Core 3.1 (2019) — LTS-релиз, поддерживался до декабря 2022. .NET 5 (ноябрь 2020) объединил .NET Framework и .NET Core под одним именем «.NET». С .NET 5 новые версии выходят ежегодно; LTS-версии — каждые два года: .NET 6 (LTS, 2021), .NET 8 (LTS, ноябрь 2023). .NET 9 (ноябрь 2024) — current release; .NET 10 (LTS) ожидается в ноябре 2025.
.NET vs Java vs Go
| Параметр | .NET 8 | Java 21 | Go 1.22 |
|---|---|---|---|
| Производительность (RPS) | Топ-5 (TechEmpower) | Топ-10 | Топ-5 |
| ОС | Linux, Windows, macOS | Кросс-платформа | Кросс-платформа |
| RAM (idle) | 50–200 МБ | 100–500 МБ | 10–30 МБ |
| Native AOT | Да (.NET 7+) | GraalVM Native Image | Да (нативно) |
| Linux-хостинг | Полная поддержка | Полная поддержка | Полная поддержка |
Хостинг .NET-приложений
На VPS с Linux: установка SDK через apt-get install dotnet-sdk-8.0 из репозитория Microsoft. Запуск: dotnet myapp.dll или публикация как самостоятельный бинарник (dotnet publish -r linux-x64 --self-contained). Nginx — как reverse proxy перед Kestrel (встроенный HTTP-сервер .NET). В Docker: официальный образ mcr.microsoft.com/dotnet/aspnet:8.0. На VPS Windows Server: деплой через IIS + ASP.NET Core Module или как Windows Service через sc create.
На что обращать внимание
Выбирай LTS-версии (.NET 8) для продакшн: они получают обновления безопасности 3 года. Current-релизы (нечётные) — только 18 месяцев. Native AOT компилирует .NET-код в нативный бинарник без рантайма: холодный старт < 50 мс, малое потребление RAM — идеально для serverless и контейнеров. Проверяй совместимость библиотек с Native AOT — не все NuGet-пакеты поддерживают режим.