bhawk.hu – Magyar fejlesztői blog

bhawk.hu – Magyar fejlesztői blog


2019. május
h k s c p s v
« jún    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Kategória


.NET 5 = .NET Core vNext

Gulyás GáborGulyás Gábor

A 2016-os indulása óta folyamatosan használom és nyomon követem a .NET Core fejlődését, rengeteg projektben használtam már – legyen szó konzolos alkalmazásról, egy ASP.NET Core Web App-ról, egy Azure Function, bármi. A kezdeti nehézségeken túllépve már sokkal nagyobb az átjárhatóság a klasszikus .NET Framework és a .NET Core között, a .NET Core 3.0 pedig újabb technológiákat húz be a sorba: WPF, Windows Forms, na meg persze az Entity Framework 6.

Adódik hát a kérdés: most, hogy már – enyhe túlzással – minden támogat a .NET Core amit a .NET Framework, mi lesz a következő lépés?

Mi van a motorháztető alatt?

Mintha a Windows 10 bejelentését hallanám, miszerint minden eszközön, legyen az telefon, laptop, tablet, számítógép, vagy éppen az Xbox, mindenen az fog futni. Nincs ez másképp a .NET (Framework) esetében sem.

Ahhoz, hogy megértsük a .NET keretrendszer jövőjének vízióját, először is érdemes áttekintenünk, hogy jelenleg – a cikk írásának pillanatában – milyen eszközökön milyen formában érhető el számunkra a .NET Framework.

Az első és legfontosabb maga a .NET Core. A CoreCLR futtatókörnyezetre épülő keretrendszer legfőbb előnyeit elődjéhez képest a következőkben határozták meg:

A .NET Core tökéletes megoldásnak bizonyult skálázható, felhő alapú megoldások esetében, microservice alapú alkalmazásoknál, vagy éppen API-k, konzolos alkalmazások fejlesztésekor. A teljesen újraírt keretrendszernek köszönhetően jóval kisebb és egyben jóval nagyobb áteresztő képességgel bíró alkalmazásokat fejleszthetünk az új platformon.

Ennek a megoldásnak az alapja a CoreCLR futtatókörnyezet, mely Just-in-Time (JIT), azaz futásidejű fordítást alkalmaz. Nagy előnyei az architektúrák közötti mozgatás – ellenben a C++-szal, ahol a kódot adott architektúrára fordítjuk le és úgy kapjuk meg a futtatható gépi kódot -, a nagy áteresztőképesség és a könnyebb fejleszthetőség. A .NET Core és .NET Framework is JIT fordítót alkalmaz, ez a jövőben sem lesz másképp.

Ez alól kivételt képeznek a mobilos (Xamarin) iOS alkalmazások, illetve a Blazor (web assembly), ahol is natív kód futtatására van csak lehetőség. Ekkor van szükség egy Ahead-of-Time (AOT) fordítóra, másnéven előfordítóra, mely lehetővé teszi kódunk natív gépi kódra történő fordítását, mely már futtatható az adott eszközön.

Mindkét futtatókörnyezetnek és fordítási módnak megvan az előnye és hátránya, a JIT esetében ez a magas áteresztőképesség és könnyebb fejleszthetőség, míg az AOT esetében ez a gyorsabb indulás, kisebb méret, alacsonyabb memória használat.

.NET 5, 6, 7, 8 …

A .NET Core elindított egy folyamatot, melynek következtében a hagyományos .NET Framework-re alapuló technológiákat szépen lassan átültették egy új, keresztplatformos működést kínáló keretrendszerre. Kezdődött ez a tradicionális konzolos alkalmazásokkal és webes alkalmazásokkal, átírták az Entity Framework ORM-et, majd jöttek a grafikus megjelenítést biztosító Windows Forms, illetve WPF alkalmazások is.

Végső lépésként pedig a .NET Core és .NET Framework teljes egységesítése következik, melynek köszönhetően:

A fejlesztők számára is ez egy nagy könnyítés lesz, ugyanis az egységes keretrendszernek köszönhetően mindenhol ugyanazt a projekt struktúrát láthatjuk viszont, ugyanazokat a függvénykönyvtárakat használhatjuk, egységes fejlesztői élményt kapunk.

A .NET 5 megjelenésére 2020 novemberében számíthatunk, azt követően pedig a jelenlegi tervek szerint évente kapunk egy újabb, major kiadást. A Microsoft szeret számokat kihagyni (Windows 8 -> 10), a .NET esetében is a 3.1 után az 5.0 fog következni, ez nem véletlen. A .NET Framework jelenleg legfrissebb kiadása a 4.8-cas, így egy .NET 4.0 név és verziószám bevezetése nagyon megtévesztő lenne a közösség számára – ugyanígy a mai napig nehezen értelmezhető az is, hogy mi az a .NET Core és mi a .NET Standard.

Végszó

Nagyon sok dolog van még ami egyáltalán nem tisztázott a .NET 5 kapcsán, kezdve a NuGet csomagok kompatibilitásának kérdésével az architektúra specifikus kódok támogatásán át egészen a .NET Standard létjogosultságáig.

A 2020 novemberi kiadásig nagyon sok víz folyik még le a Dunán, vélhetően addig még nagyon sokat fog változni a végső specifikáció, de nyílt forráskódú projekt lévén az új verzió fejlesztésébe és alakításába is beleszólhat a fejlesztői közösség!

Minden ami Microsoft technológia! Több mint 8 éve foglalkozom programozással, ez idő alatt pedig rengeteg nyelvet elsajátítottam, leginkább a C#-ot kedvelem! Jelenleg szoftverfejlesztőként dolgozom!

Comments 0
There are currently no comments.

This site uses Akismet to reduce spam. Learn how your comment data is processed.