Bevezetés a dotNET Core világába

Mikor ezt a cikket elkezdem írni, ha egy új webalkalmazást hozok létre Visual Studio 2015 Update 1-gyel, a project.json fájl két target frameworköt sorol fel: dnx451 és dnxcore50. Ha új dnx-style console alkalmazást hozok létre, akkor net451 és dotnet5.4-et kapok. Amennyiben érted, miért történik mindez, nem is kell tovább olvasnod. Készen állsz az új dolgokra (te vagy az, Scott?).

A cikket 2016. júniusában fejezem be, mikor is a .NET Core 1.0.0 RC2, Visual Studio 2016 Update 2 és a .NET Core VS 2015 Tooling Preview 1 kint van már. Ha a fentieket újracsinálom, netcoreapp1.0, net461, netstandard1.5 framework referenciákat kapok. Más, világosabb, de legtöbbünk számára még mindig némi magyarázatra szorul.

Tarts velem ezen az utazáson, hogy mindezeket az új dolgokat megérthesd. Számos kérdésre próbálok választ találni, mint például

  • Mi a .NET Core?
  • Mi az ASP.NET Core? Hogyan kapcsolódik a .Net Core-hoz?
  • Mi a .NET 5.4? Lemaradtam valamiről?
  • A portolható osztálykönyvtárak (portable class libraries) már vége?
  • Mi a .NET Native, és hogyan kapcsolódik a .NET Core-hoz?
  • Mi a netcore5 target, és hogyan kapcsolódik a .NET Core-hoz?
  • Mi a DNX? Ugyanaz, mint a .NET Core?
  • Hogy kerül a .NET CLI a képbe?

Uh, már most elég sok. Ahogy haladunk előre, megpróbálom egyenként megválaszolni őket, de először szeretnék áttekintést nyújtani arról, mit értettem meg ezekből az új koncepciókból különböző cikkek, az open-source kód és szakmai beszélgetések alapján. Pár ponton tévedhetek – ha találnál ilyet, kérem, tudasd velem. Ez egy utazás. És amennyire én látom, nem a közeljövőben fog véget érni.

Minden mozgásban van

Az új dologról szóló összes cikk és bejelentés azzal a nyilatkozattal kezdődik, hogy ez az egész csak beta, RC, egyéb, így a dolgok változhatnak. Megszoktam már az ilyen jellegű bejelentéseket, de a korábbi .NET release-ekben (az én első tapasztalataim a .NET 1.0 béta verzióból származnak) mindez inkább formalitásnak számított. Igen, a béták után mindig voltak kisebb változtatások, és a dolgoknak először csak kódneve volt, de a fejlesztések mindig könnyen követhetőek voltak. Mára a Microsoft az open-source irányába indult el. És ez nem csupán a kódlicenszről szól. Az is változott, hogy az ötletek és az design hogyan fejlődik, illetve a visszajelzéseket hogyan kezelik. Végül is ez nem rossz. Ám nagyon szokatlan élmény a .NET fejlesztők számára. Eddig a döntések a mi zónánkon kívül születtek, és mi csak kívülről figyeltük, más közösségek (mint a Java) hogyan szenvednek meg a konszenzusért. És most mi vagyunk soron. Tehát ha azt mondják, változik, ez azt jelenti, tényleg változik. Azt hiszem, ez a zűrzavar egyik jelentős forrása. (A cikket próbálom rendszeresen frissíteni, hogy a legfrissebb változásokkal is naprakész legyek.)

A .NET core release-ek rövid áttekintése

Egy új open-source .NET framework ötlete 2014-ben kezdődött egy új ASP.NET verzióval (akkoriban ASP.NET vNextnek nevezték). Az ASP.NET Core 1.0 – ez a végleges név, jelenleg RC2 fázisban van.

Időközben az ASP.NET vNextből nőtt ki az új .NET framework, a .NET Core 1.0, ami pillanatnyilag ugyanabban a release sémában van, mint az ASP.NET Core, azaz ugyanúgy szintén RC2 státuszban. A jelenlegi RC2 “go-live” licensszel rendelkezik (a Microsoft már hivatalosan támogatja). A végleges RTM (release) 2016. június végére várható.

Bár a frameworkök nemsokára véglegessé válnak, a kapcsolódó tooling még mindig a Preview 1 státuszban van, így még mindig igen messze van a végleges állapottól. Ezeket a következő Visual Studo verzióra fogják stabilizálni (Visual Studio “15”).

Kissé meglepő lehet, hogy a tooling itt nem csupán a Visual Studio varázslókat és a csillogó editor dialógusokat jelenti, hanem a command line toolokat és a project file formátumokat is, amiket minden .NET Core alapú projektnek használnia kell. Kicsit ijesztőnek tűnhet, de majd meglátjuk. Az a terv, hogy akármikor változik is a fájl formátum, a Microsoft biztosítani fogja a szükséges migrációs eszközöket, hogy azok a projektek, amelyek már elkezdték használni a .NET Core-t vagy az ASP.NET Core-t, könnyen áttérhessenek.

A release tervvel kapcsolatos további információk itt találhatók.

Ismerkedés négy állomásban

Míg az új dolgokat kutattam, reméltem, hogy sikerül megtalálnom az “egyedüli választ”, ami mindent tisztába tesz. Ehelyett rá kellett jönnöm, hogy nem “egy dolog” van (mint a .NET Core), hanem a .NET-alapú fejlesztés és alkalmazások számos különböző továbbfejlesztése. Közülük számos ortogonális a többire. Így megpróbálom őket a használat szemszögéből, a tanulmányutat állomásokra lebontva megközelíteni – amúgy is ez az egész így kezdődött el. Akkor irány az első állomás, olvasd el a teljes cikket letölthető formátumban:

toltsdle

 

Szólj hozzá!

komment