encyklopedia.space

ASP.NET Core

ASP.NET Core jest otwarto‑źródłową, wieloplatformową ramą (frameworkiem) do budowania nowoczesnych aplikacji internetowych, usług API oraz aplikacji mikroserwisowych. Projekt jest rozwijany przez Microsoft w ramach ekosystemu .NET i jest następcą starszych technologii ASP.NET oraz ASP.NET MVC.

Historia

Pierwsza wersja, oznaczona numerem 1.0, ukazała się w 2016 roku jako kompletny przepis na przeniesienie aplikacji webowych z platformy Windows na systemy Linux i macOS. Od tego czasu wydano kolejne wersje, m.in. 2.0 ( 2017), 3.0 ( 2019), a najnowsza stabilna wersja to 8.0, opublikowana w 2023 roku.

Kluczowe cechy

  • Wieloplatformowość – aplikacje mogą działać na Windows, Linux i macOS.
  • Modularna architektura – możliwość wybierania tylko tych komponentów, które są potrzebne.
  • Wydajność – zoptymalizowany silnik Kestrel, który przewyższa tradycyjne rozwiązania IIS pod względem przepustowości.
  • Wbudowane wsparcie dla wstrzykiwania zależności (DI).
  • Obsługa asynchronicznego programowania przy użyciu async/await.
  • Integracja z Entity Framework Core oraz innymi bazami danych.
  • Wsparcie dla kontenerów Docker oraz orkiestracji przy użyciu Kubernetes.

Architektura

ASP.NET Core opiera się na kilku warstwach:

  1. Serwer HTTP Kestrel – lekki, szybki serwer, który może być używany samodzielnie lub za pośrednictwem reverse proxy (np. NGINX).
  2. Środowisko uruchomieniowe .NET – zapewnia współdzielone biblioteki bazowe, takie jak System.Threading i System.IO.
  3. Moduły middleware – komponenty pośredniczące w przetwarzaniu żądań HTTP (np. obsługa autoryzacji, logowania, obsługa statycznych plików).
  4. Model‑View‑Controller (MVC) oraz Razor Pages – dwa główne modele programistyczne umożliwiające tworzenie interfejsów użytkownika.

Podstawowe komponenty

Razor
Silnik szablonów używany do generowania HTML po stronie serwera.
C#
Język programowania rekomendowany do tworzenia aplikacji w ASP.NET Core.
Entity Framework Core
Obiektowo‑relacyjne mapowanie (ORM) umożliwiające pracę z bazami danych.
SignalR
Biblioteka do implementacji komunikacji w czasie rzeczywistym (WebSocket, Server‑Sent Events).
Identity
Rozbudowany system zarządzania użytkownikami, hasłami i rolami.

Tworzenie aplikacji

Do pracy z ASP.NET Core najczęściej używa się środowiska Visual Studio lub Visual Studio Code. Projekt rozpoczyna się od polecenia CLI:

dotnet new webapp -n NazwaAplikacji

Powyższe polecenie tworzy szkielet aplikacji typu Razor Pages. Dostępne szablony obejmują:

Zastosowania

ASP.NET Core znajduje zastosowanie w różnych obszarach:

  • Systemy e‑commerce i platformy handlowe.
  • Usługi API obsługujące aplikacje mobilne i single‑page applications (SPA).
  • Aplikacje korporacyjne, w tym systemy ERP i CRM.
  • Rozwiązania mikroserwisowe i chmurowe, zwłaszcza w połączeniu z Microsoft Azure lub AWS.

Porównanie z innymi technologiami

Technologia Platforma Wydajność Obsługa języków Typowe użycie
Node.js Wieloplatformowa (JS) Wysoka, ale wymaga optymalizacji kodu JavaScript/TypeScript Realtime, mikroserwisy, API
Django Wieloplatformowa (Python) Średnia Python Serwisy internetowe, aplikacje CRUD
ASP.NET Core Wieloplatformowa (.NET) Wysoka (Kestrel) C#, F#, Visual Basic Systemy korporacyjne, API, aplikacje o wysokiej przepustowości

Wsparcie i społeczność

Projekt jest rozwijany publicznie na platformie GitHub, gdzie można zgłaszać issues, proponować zmiany i uczestniczyć w dyskusjach. Regularnie organizowane są konferencje i spotkania, takie jak dotNET Conf czy lokalne user groups. Dokumentacja dostępna jest w Microsoft Docs, a licencja MIT umożliwia dowolne wykorzystanie i modyfikację kodu.

Przyszłość

W kolejnych wersjach planowane jest dalsze zwiększanie wydajności, rozbudowa integracji z technologiami chmurowymi (Azure Functions, AWS Lambda) oraz wprowadzanie nowych funkcji ułatwiających programowanie reaktywne i event‑driven.

Bibliografia (wewnętrzne)

  • ASP.NET – historia i ewolucja technologii webowych Microsoftu.
  • .NET – platforma uruchomieniowa i jej komponenty.
  • Entity Framework Core – dokumentacja ORM.
  • Razor – opis składni i zastosowań.
  • SignalR – komunikacja w czasie rzeczywistym.