Definicja #
.NET Core (od .NET 5 przemianowany na po prostu .NET) to wieloplatformowa platforma programistyczna Microsoftu, open-source'owa od samego początku. Pierwsza wersja .NET Core 1.0 ukazała się w 2016 roku jako odpowiedź na potrzebę uruchamiania aplikacji .NET poza ekosystemem Windows.
Kluczowe różnice względem klasycznego .NET Framework:
- Wieloplatformowość — działa natywnie na Windows, Linux i macOS; kontenery Docker na Linuksie to dziś standard dla .NET
- Wydajność — .NET jest jedną z najszybszych platform backendowych według benchmarków TechEmpower
- Open source — kod źródłowy na GitHubie (dotnet/runtime, dotnet/aspnetcore)
- Modularność — aplikacja zależy tylko od potrzebnych pakietów NuGet, brak monolitycznej instalacji
- Unified SDK — od .NET 5 jeden SDK obejmuje web, desktop (WinForms/WPF na Windows), mobile (MAUI), cloud i ML; wersje LTS (parzyste: .NET 8, .NET 10) i STS (nieparzyste: .NET 9) wydawane corocznie
Główne technologie w ekosystemie .NET:
- ASP.NET Core — framework webowy: REST API, MVC, Blazor (WebAssembly/Server), SignalR
- Entity Framework Core — ORM do relacyjnych baz danych
- gRPC — wysokowydajny protokół RPC (biblioteka Google) wbudowany w ASP.NET Core
- C# — główny język .NET; nowoczesny, typowany statycznie, z bogatymi możliwościami językowymi
- .NET MAUI — wieloplatformowe aplikacje mobilne i desktopowe z jednego kodu
Zastosowania #
.NET Core stosuje się do:
- REST API i mikroserwisów — ASP.NET Core Minimal API lub kontrolery MVC, kontenery Docker na Kubernetes
- Aplikacji webowych — Razor Pages, Blazor Server i Blazor WebAssembly jako alternatywa dla SPA JavaScript
- Przetwarzania w tle i job'ów — Worker Services, Hangfire, integracja z kolejkami (Azure Service Bus, RabbitMQ)
- Aplikacji chmurowych na Azure — Azure Functions, App Service, AKS z pełnym wsparciem Microsoftu
- Narzędzi CLI i automatyzacji — konsolowe aplikacje .NET jako skrypty i narzędzia DevOps
Ścieżka nauki #
Przed nauką .NET warto znać podstawy programowania obiektowego. Główny język to C#.
Zacznij od:
- C# fundamentals — typy, klasy, dziedziczenie, interfejsy, LINQ, async/await
- Tworzenie pierwszego REST API z ASP.NET Core Minimal API lub kontrolerami
- Dependency Injection wbudowane w ASP.NET Core —
services.AddScoped,IServiceProvider - Entity Framework Core — Code First, migracje, zapytania LINQ
Następnie poznaj:
- Wzorce architektoniczne: Clean Architecture, CQRS z MediatR, DDD
- Testowanie: xUnit lub NUnit, mocki z Moq lub NSubstitute
- Konteneryzacja: Docker + docker-compose dla aplikacji ASP.NET Core
- Chmura Azure: App Service, Azure Functions, Azure Service Bus
- Wydajność i diagnostyka: BenchmarkDotNet, dotnet-trace, Application Insights
FAQ #
- Czym różni się .NET Core od .NET Framework?
- .NET Framework działa wyłącznie na Windows i jest produktem legacy (ostatnia wersja 4.8). .NET Core (obecny .NET) jest wieloplatformowy (Windows/Linux/macOS), open-source, wydajniejszy i aktywnie rozwijany. Nowe projekty zawsze powinny używać .NET (nie .NET Framework).
- Czy .NET jest nadal popularny?
- Tak — .NET jest bardzo popularny, szczególnie w Polsce i krajach z silną kulturą Microsoftu. ASP.NET Core jest jedną z najszybszych platform webowych według TechEmpower. .NET 8 (LTS) i .NET 9 (STS) to szeroko stosowane platformy produkcyjne; .NET 10 (LTS) to najnowsza wersja.
- Czym jest ASP.NET Core?
- ASP.NET Core to framework webowy dla .NET do budowania REST API, aplikacji MVC i Blazor. Jest głównym narzędziem do tworzenia backendu w .NET — wieloplatformowy, wydajny, z wbudowanym DI, middleware pipeline i wsparciem dla OpenAPI (Swagger).
- Ile zarabia .NET Developer?
- .NET Developer (C#) w Polsce zarabia od 10 000 do 18 000 zł brutto na poziomie mid, senior od 18 000 do 30 000 zł. .NET jest popularny w finansach, ubezpieczeniach i dużych korporacjach, gdzie wynagrodzenia są powyżej średniej rynkowej.