Tento článek se zabývá prozkoumáním a úvodem do frameworku ASP.NET Core.

https://docs.microsoft.com/cs-cz/aspnet/core/?view=aspnetcore-2.1

Technologie ASP.NET či její novější verze nyní představovaná jako ASP.NET Core byla vybrána k prozkoumání, jelikož se jedná o nejtypičtějšího a nejčastějšího zástupce, pokud chceme vyvíjet různé webové API na základech programovacího jazyka C\# a frameworku .NET.

ASP.NET Core je tedy open-source webový framework vyvíjený společností Microsoft a jeho komunitou. Jeho typické použití zahrnuje jak webové rozhraní (tedy včetně RESTful API), tak i další moderní webové či cloudové aplikace.

Principy technologie

První podstatnou pomůckou pro práci s tímto frameworkem je vývojové prostředí, kterým je Visual Studio. To je vyvíjeno rovněž firmou Microsoft, která tak poskytuje co nejsnadnější práci s frameworkem a jako bonus i snadný přístup k jeho dalším službám poskytnutým pomocí cloudové výpočetní platformy Microsoft Azure. Dále je zde snadný import dalších knihoven a frameworků pro .NET.

Samotná práce s frameworkem ASP.NET Core se pak zakládá na použití Model-View-Controller architektury, tedy rozdělením aplikace do tří hlavních součástí:

https://docs.microsoft.com/cs-cz/aspnet/core/mvc/overview?view=aspnetcore-2.1

Jednoduché REST API vytvořené pomocí frameworku ASP.NET Core by tedy vypadalo tak, že nadefinujeme několik základních controllerů obstarávající HTTP požadavky na klíčové zdroje (např: PUT:/articles, nebo GET:/comments/[id]) a ke každému z těchto zdrojů, který se má chovat jako kolekce, vytvoříme nějaký model.

Model pak bude standardní třída reprezentující strukturu daného zdroje. Mezi jednu z hlavních výhod ASP.NET Core patří také EntityFramework, který nám umožní snadná ukládání a načítání těchto objektů z databáze. Další výhodou těchto objektů je to, že není nutné je při vracení konvertovat do přenosových formátů (JSON,XML), ASP.NET Core toto provádí automaticky. Stejně tak je ale připraveno i na drtivou většinu všech dalších záležitostí, které při tvorbě REST API řešíme, např. připravené třídy pro vracení stavů apod.

Kromě toho lze při práci s tímto frameworkem pracovat s řadou dalších balíčků o základu C\#, .NET. Ve VisualStudiu je to více než snadné a to s použitím NuGet Package Manageru. ASP.NET Core má také dobrou podporu pro asynchronní práci s metodamy async/await.

Ukázky kódu

Model pro zdroj typu article (článek):

namespace BlogApi.Models
{
 public class ArticleModel
 {
  public long Id { get; set; }
  public string Title { get; set; }
  public string Content { get; set; }
 }
}

Metoda GET articles v controlleru pro články:

[Route("api/[controller]")]
public class ArticlesController : Controller
{
 // implementuje GET /api/articles
 [HttpGet]
 public IEnumerable GetAll()
 {
  // nacitani z databaze bylo pro ukazku
  // trochu zjednoduseno
 return DB.ArticleItems.ToList();
 }
}

Hlavní výhody

  • Microsoft Azure – Snadné napojení na cloudové služby Microsoft Azure přináší řadu výhod a funkcí, které můžeme využít. Za nejpodstatnější výhodu považuji snadné provozování aplikace přímo na cloudu, tedy serverech k tomu přímo určených a vysoce spolehlivých.
  • Rozsáhlá dokumentace i v češtině – Microsoft a jeho komunita poskytuje pro ASP.NET Core opravdu rozsáhlou dokumentaci a velká část z ní je dostupná i v češtině.
  • Řada dostupných komponentů – Můžeme využívat řadu dalších komponentů vytvořených v jazyce C# nebo frameworku .NET.
  • Asynchronní orientac – Jednoduchá práce s asynchronně volanými funkcemi.

Hlavní nevýhody

  • Operační systém – Jelikož je vyvíjen společností Microsoft, můžeme logicky očekávat nižší podporu jiných operačních systému než je Windows.
  • Kompatibilita mezi verzemi frameworku – Nižší kompatibilita mezi různými verzemi frameworku, aktualizování projektů může být složité, hlavně pokud se uživatel rozhodne aktualizovat z ASP.NET na ASP.NET Core

Celkové zhodnocení

1 – nejlepší, 5 – nejhorší

  • [Jednoduchost a intuitivnost – 2] – Jednoduchá architektura MVC, množství ulehčujících prvků, se kterými je ale nutné se naučit pracovat.
  • [Dokumentace – 1] – Výborná dokumentace v několika jazycích od Microsoftu a jeho komunity.
  • [Spolehlivost – 2] – Vysoké zabezpečení obsahuje funkce pro správu ověřování, autorizace, ochrany dat, SSL vynucení, tajné klíče aplikace, žádost proti padělání, ochrana a správa CORS. Je možné za příplatek snadno hostovat na spolehlivých serverech cloudu Microsoft Azure. ASP.NET Core je nová technologii, tudíž může obsahovat ještě nevyladěné chyby.
  • [Popularita – 2] – Co se týče ASP.NET Core, jedná se sice o novou, ale na popularitě rychle rostoucí technologii. Starší ASP.NET kdysi bývalo dominantním nástrojem na poli webových aplikacích, avšak jeho sláva se s klesající podporou chýlí ke konci.

Mezi další populární technologie pro jazyk C\# lze řadit:

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *