Miroslav Holec
Premium

ASP.NET Core 2.0, EF Core 2.0, .NET Standard 2.0 a .NET Core 2.0

Miroslav Holec   14. srpna 2017upd. 17. srpna 2017

Tento článek je již velmi zastaralý. Článek nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.

Od pátečního dne Microsoft začal postupně uvolňovat ASP.NET Core 2.0 a Entity Framework Core 2.0. V pondělí byl dále poněkud nečekaně uvolněn i .NET Core 2.0 a aktualizovaná verze VS 2017 15.3.

V současné době je oznámeno dokončení .NET Standard 2.0 (zpráva), což je velmi zjednodušeně sada aplikačních rozhraní, která musí být všemi podporovanými platformami implementována. Tím by mělo být zabráněno meziplatformní fragmentaci. Jinými slovy si jako vývojář mohu být jistý, že co předepisuje konkrétní verze .NET Standardu, to je implementováno jak v .NET Frameworku, tak v .NET Core nebo například Xamarinu.

Weboví vývojáři ASP.NET Core aplikací si mohou vybrat, zda jejich aplikace poběží nad .NET Frameworkem (nemultiplatformní) nebo nad .NET Corem (multiplatformní cesta). .NET Standard 2.0 je obecně podporován těmito platformami:

  • NET Framework 4.6.1
  • .NET Core 2.0
  • Mono 5.4
  • Xamarin.iOS 10.14
  • Xamarin.Mac 3.8
  • Xamarin.Android 7.5

Zatímco .NET Framework 4.6.1 je již dávno k dispozici, .NET Core 2.0 byl čerstvě uvolněn v pondělí 14.8. a společně s dalšími produkty bude předmětem konference DEVintersection, která se uskuteční 18. září 2017 ve Stockholmu.


Nadšenci webového vývoje v ASP.NET Core již mohou stahovat z NuGetu balíčky související s ASP.NET Core a Entity Framework Core, které mají v době psaní článku zatím jen pár set stažení.

Vývoj ASP.NET Core 2.0 aplikací usnadňuje tooling, který je dostupný v aktualizovaném Visual Studiu:

Pro vývoj je dále dostupné .NET Core 2.0 SDK:

.NET Standard 2.0

  • představuje sadu API
  • přes 32 tisíc API
  • mód kompatibility pro .NET Framework
  • release notes

.NET Core 2.0

  • implementuje .NET Standard 2.0
  • dotnet restore nově implicitní příkaz
  • podpora live unit testing pro .NET Core
  • vestavěná podpora Azure Functions
  • podpora nových platforem (převážně Linux)
  • release notes

ASP.NET Core 2.0

  • nové paradigma Razor Pages
  • aktualizace šablon, včetně SPA (Angular)
  • DbContext pooling s EF Core 2.0
  • Hlubší integrace Application Insights
  • Zjednodušena konfigurace v Program.cs + Startup.cs
  • release notes

Entity Framework Core 2.0

  • podpora pro .NET Standard 2.0
  • Global Query Filters
  • DbContext Pooling
  • String interpolation v SQL queries
  • oznámení

Shrnutí

Důležité je v tuto chvíli zachovat chladnou hlavu. ASP.NET Core 2.0 je aktuálně z mého pohledu dlouhodobě celkem stabilní technologie s řadou těch nejdůležitějších funkcí, které může webový vývojář potřebovat. Oproti tomu ani nová verze Entity Framework Core 2.0 nemusí každého vývojáře uspokojit, například kvůli absenci podpory M:N vztahů. Osobně také vnímám vydání VS 2017 15.3 společně s .NET Core 2.0 za "zbytečně" uspěchané a z prvního experimentování nemám pocit, že bych měl v ruce stabilní produkt. Jsem osobně přesvědčen, že aktivní vývojáře čeká dost těžký měsíc experimentování, který velmi brzy vyústí ve vydání opatchované verze. Pokud tedy vyloženě nespěcháte, doporučuji za mě počkat minimálně do druhé poloviny září, do které by se mohl celý stack skutečně stabilizovat.