====== ASP.NET Core: Webový vývoj ====== **ASP.NET Core** je modulární a multiplatformní framework postavený na [[it:sw:dot_net_core|.NET Core]] (nyní moderní .NET). Umožňuje vývojářům vytvářet webové aplikace, služby API, mikroslužby i real-time aplikace, které běží na Windows, Linuxu i macOS. ===== 1. Klíčové vlastnosti ===== * **Extrémní výkon:** ASP.NET Core patří v nezávislých benchmarcích (např. TechEmpower) mezi nejrychlejší webové frameworky současnosti. * **Sjednocený model:** Nabízí jednotné programování pro **MVC** (webové stránky) i **Web API** (datové služby). * **Dependency Injection (DI):** Podpora pro vstřikování závislostí je vestavěná přímo do jádra frameworku, což vede k čistšímu a testovatelnějšímu kódu. * **Modulární HTTP pipeline:** Používá se pouze to, co je potřeba, pomocí tzv. **Middleware**. To snižuje režii aplikace. * **Hostování:** Aplikace mohou běžet v IIS, Apache, Nginx, nebo v lehkém a rychlém vestavěném serveru **Kestrel**. --- ===== 2. Architektonické vzory ===== ==== MVC (Model-View-Controller) ==== Tradiční vzor pro oddělení logiky (Controller), dat (Model) a zobrazení (View – šablony Razor). ==== Web API ==== Slouží k budování RESTful služeb, které vrací data (obvykle ve formátu JSON). Jsou základem pro moderní frontendy (React, Angular) a mobilní aplikace. ==== Razor Pages ==== Zjednodušený model zaměřený na stránky, který je vhodnější pro menší webové projekty, kde by MVC bylo příliš komplexní. --- ===== 3. Middleware a Pipeline ===== Zpracování požadavku v ASP.NET Core probíhá skrze řetězec komponent nazývaných **Middleware**. Každý middleware může požadavek upravit, zkontrolovat (např. autentizace) nebo ho předat dál. // Příklad konfigurace pipeline v Program.cs var app = builder.Build(); app.UseHttpsRedirection(); // Přesměrování na HTTPS app.UseStaticFiles(); // Podpora pro CSS, JS, obrázky app.UseRouting(); // Směrování požadavků app.UseAuthentication(); // Ověření uživatele app.MapControllers(); // Mapování API kontrolerů app.Run(); --- ===== 4. Blazor: C# na frontendu ===== Revoluční součástí ASP.NET Core je **Blazor**. Ten umožňuje psát interaktivní webové rozhraní v jazyce C# namísto JavaScriptu, a to buď spouštěním kódu na serveru, nebo přímo v prohlížeči pomocí technologie **WebAssembly**. --- ===== 5. Proč zvolit ASP.NET Core? ===== ^ Výhoda ^ Popis ^ | **Cloud-ready** | Nativní podpora pro konfiguraci a nasazení v cloudu (Azure, AWS). | | **Kontejnerizace** | Ideální pro Docker a Kubernetes díky malé velikosti a rychlosti. | | **Ekosystém** | Přístup k tisícům balíčků na NuGet (Entity Framework, Serilog atd.). | | **Bezpečnost** | Vestavěná ochrana proti CSRF, XSS a SQL Injection. | ---- //Související články:// * [[it:sw:dot_net|Platforma .NET]] * [[it:sw:ef_core|Entity Framework Core: Práce s databází]] * [[it:sw:rest_api|Co je to REST API?]] //Tagy: {{tag>programming dot-net asp-net-core web-development backend csharp}}//