Mi az a .NET?

Befejeződött

Amikor valaki a .NET kifejezést használja, annak jelentése erősen függ a szövegkörnyezettől. Ebben a leckében úgy ismerheti meg a .NET-et, hogy egy ökoszisztémaként tekint rá. Más szóval a .NET számos részből és emberből álló gyűjtemény, amelyek együttesen hatékony környezetet hoznak létre az alkalmazások létrehozásához.

A .NET egy alkalmazásfejlesztési ökoszisztéma

Az ökoszisztéma kifejezés utal egy alkalmazásfejlesztési környezet és a körülötte kialakult közösség sokoldalúságára. Sokfélesége az egyik meggyőző érv amellett, hogy megéri megtanulni, és alkalmazásokat készíteni a .NET-ben.

.NET-nyelvek és -fordítók használata alkalmazások .NET-futtatókörnyezetben történő futtatásához

A szoftverfejlesztők .NET-nyelveken, például C# vagy F# nyelven írják meg a forráskódot. Az általuk írt kódsorok egy utasítást vagy parancsot fejeznek ki, amelyet a számítógépnek végre kell hajtania a program futtatása közben.

Ahhoz, hogy a szoftverfejlesztők futtatni tudják a kódjukat, először le kell fordítaniuk azt. A .NET-fordító egy olyan program, amely a forráskódot (bármely támogatott programozási nyelven) egy köztes nyelvnek (IL) nevezett hordozható nyelvvé alakítja. A .NET-fordító az IL-kódot egy .NET-szerelvénynek nevezett fájlba menti. A kód köztes formátumba való fordításával ugyanazt a kódbázist használhatja, bárhol is futtatja a kódot, akár Windowson vagy Linuxon, akár 32 bites vagy 64 bites számítógéphardveren.

A .NET-futtatókörnyezet a lefordított .NET-szerelvény végrehajtási környezete. Ez azt jelenti, hogy a gazda operációs rendszeren futó alkalmazást a .NET-futtatókörnyezet hajtja végre és kezeli. A .NET-futtatókörnyezet szerepéről hamarosan bővebben is szó lesz.

Szerencsére a .NET használatának első lépéseit szoftverfejlesztőként nem kell részleteznie ezeknek a mechanizmusoknak a működéséről. Ahogyan gyakorlatra tesz szert, egyre jobban megérti és értékeli majd a .NET-nyelvek és -fordítók, és a futtatókörnyezet hatékonyságát.

Tipp.

Néha az emberek úgy gondolják, hogy a C# programozási nyelv . NET. A C# és a .NET azonban nem ugyanaz. A C# egy programnyelv-szintaxis. A szintaxis részeként hivatkozhat és meghívhatja a .NET-kódtárakban vagy -szerelvényekben definiált metódusokat. A következő lépésben a .NET SDK-val telepített C# fordítóval fog létrehozni egy .NET-szerelvényt a C# kódból. A .NET-futtatókörnyezet ezután futtatja a .NET-szerelvényeket. Ezek a megkülönböztetések fontos fogalmak, mivel többet is megtudhat a .NET-ről és a C#-ról.

.NET-alkalmazás-keretrendszerek és -kódtárak használata az előre elkészített funkciók hasznosítására

Minden szoftver rétegekbe van építve, ami azt jelenti, hogy a szoftverek különböző absztrakciós szinteken futnak a számítógépen:

  • A legalsó szinten a szoftver közvetlenül a számítógép hardverével kommunikál. Vezérli az alaplap, a processzorok, a memória és a merevlemezek közötti adatáramlást.
  • A következő szinten a szoftver lehetővé teszi a végfelhasználó számára, hogy utasításokat adjon meg egy operációs rendszeren keresztül.
  • A következő szinten másféle szoftver, például a .NET kínál módot alkalmazások fejlesztésére és futtatására.
  • A következő szinten az alkalmazás-keretrendszerek és a funkciókódtárak lehetővé teszik, hogy a régebbi fejlesztési módszereknél kevesebb erőfeszítéssel, gyorsan gazdag alkalmazásokat építsen.

Egy kódtár az egy adott célra szolgáló funkciókat fogja össze egyetlen szerelvényben. A .NET-hez kódtárak ezrei állnak rendelkezésre. Ezek a kódtárak lehetnek belső vagy külső felek, és lehetnek kereskedelmi vagy nyílt forráskód. A kódtárak az alkalmazásokban használható funkciók széles skáláját biztosítják. Egyszerűen csak kell a szerelvényekre és meghívnia a kívánt metódusokat. Ezen a módon Ön, a fejlesztő más szoftverfejlesztők munkájára építhet. Időt és energiát takaríthat meg, hiszen nem kell minden funkciót Önnek elkészítenie és karbantartania.

Egy alkalmazás-keretrendszer több összefüggő kódtárat kombinál kezdőprojektekkel, fájlsablonokkal, kódgenerátorokkal és más eszközökkel. Ezen források birtokában teljes alkalmazásokat készíthet egy meghatározott célra. Ezeket az alkalmazás-keretrendszereket nevezzük alkalmazásmodelleknek. A .NET-alkalmazáskeretek például olyan népszerű alkalmazásmodellekhez érhetők el, mint a webfejlesztés, az asztali és mobilfejlesztés, valamint a játékfejlesztés.

A .NET SDK-t közvetlenül vagy a Visual Studio 2022 telepítésével telepítheti. A .NET SDK előre telepíti a kódtárak és alkalmazás-keretrendszerek alaposztálytárnak nevezett átfogó készletét. Ezt a kódtárat a programokban használhatja, függetlenül attól, hogy milyen platform- vagy alkalmazásmodelleket szeretne létrehozni.

Más külső kódtárakhoz a fejlesztők olyan csomagkezelőket használnak, mint a NuGet, amellyel csomag-adattárakból, például a NuGet-katalógusból kereshetnek ki és integrálhatnak kódtárakat.

Melyek a nagyobb alkalmazásmodellek?

Bizonyára érdekli, hogy melyik keretrendszer melyik alkalmazásmodellt támogatja. Egy alkalmazásmodell az alábbi táblázat alapján társítható egy .NET-keretrendszerhez.

Alkalmazásmodell Váz Jegyzetek
Webes ASP.NET Core A kiszolgálóoldali logika készítésére szolgáló keretrendszer.
Webes ASP.NET Core, MVC A weblapok vagy webes API-k kiszolgálóoldali logikájának készítésére szolgáló keretrendszer.
Webes ASP.NET Core Razor Pages A kiszolgáló által generált HTML készítésére szolgáló keretrendszer.
Webes ügyfél Blazor A Blazor az ASP.NET Core része. Két üzemmódja vagy a Document Object Model- (DOM-) manipulációt teszi lehetővé a kiszolgálóoldali kód futtatásának kommunikációs csatornájaként használt szoftvercsatornákkal, vagy egy WebAssembly-implementációt a lefordított C#-kód böngészőbeli futtatásához.
Asztali .NET for Mac A .NET-fejlesztők natív felhasználói felülettel és API-hozzáféréssel hozhatnak létre alkalmazásokat Mac-eszközökhöz.
Asztali WinForms Keretrendszer „acélszürke” Windows-stílusú alkalmazások készítéséhez.
Asztali Windows Presentation Foundation (WPF) Keretrendszer olyan dinamikus asztali alkalmazások készítéséhez, amelyek különböző méretformátumoknak tesznek eleget. A WPF gazdag animációs kódtár segítségével teszi lehetővé az elemek mozgását, áttűnését, beúszását és más hatásokat.
Mobil .NET androidos A .NET-fejlesztők natív felhasználói felülettel és API-hozzáféréssel hozhatnak létre alkalmazásokat Android-eszközökhöz.
Mobil .NET iOS-hez A .NET-fejlesztők natív felhasználói felülettel és API-hozzáféréssel hozhatnak létre alkalmazásokat iOS- és iPadOS-alkalmazásokhoz.
Többplatformos alkalmazás felhasználói felülete .NET MAUI Az iOS, Android, Mac és Windows rendszerű alkalmazások egyetlen megosztott kódbázisból, natív felhasználói felülettel és natív API-khoz való hozzáféréssel történő készítésének első számú módja.

A .NET emellett olyan népszerű külső és nyílt forráskódú játékfejlesztési környezeteket és motorokat is működtet, mint a Unity.

.NET-alkalmazások készítése .NET-eszközökkel

A szoftverfejlesztők a kód írásához, a kódtárakra való hivatkozások felvételéhez, a kód fordításához és hibakereséshez használható eszközökre támaszkodva dolgoznak. Ez a szakasz több .NET-eszközt ismertet, amelyek segítségével .NET-alkalmazásokat hozhat létre.

A Visual Studio 2022 a Microsoft zászlóshajó fejlesztési környezete. Fejlesztők milliói használják .NET-alkalmazások készítésére. A grafikus felhasználói felület (amely menüket, ablakokat, vizualizációtervezőket, párbeszédpaneleket és varázslókat tartalmaz) végigvezeti a fejlesztőket az alkalmazásfejlesztési folyamaton. A Visual Studio 2022 három kiadásban érhető el: Community, Professional és Enterprise. Minden kiadás más eszközöket tartalmaz, és más célokra licencelhető.

A Visual Studio Code a Microsoft zászlóshajó kódszerkesztője, amely több programozási nyelvet támogat, és Windows, Mac és Linux rendszeren is támogatott. A C# Dev Kit bővítmény továbbfejlesztett szerkesztői szintű C#-fejlesztést biztosít a Visual Studio Code-ban, és javítja a .NET-projektek használatát a megoldáskezelő, a projektrendszer, a tesztelési fejlesztések és az Explorer támogatásával, az AI által támogatott fejlesztésekkel és a C# osztály legjobb nyelvi funkcióinak hatékony nyelvi szolgáltatásaival, például a kódnavigációval, az újrabontással, a szemantikai tudatossággal és egyebekkel.

A parancssori felületet előnyben részesítő fejlesztők a Visual Studio Code, a világ legnépszerűbb kódszerkesztője, és a .NET parancssori felülete, más néven a .NET CLI kombinációját használhatják.

Ezeken felül számos belső és külső eszköz választható a .NET sokféle felhasználási területéhez. Ezek sorába tartoznak a kódprofil-készítők, az egységteszt-futtatók és a kódlefedés-elemzők.

Más helyzetekhez más .NET-eszközöket is találhat. A modul későbbi részében például a Try .NET-tel fog dolgozni. Ezzel a böngészőalapú felülettel egyszerű alkalmazásokat írhat a C# programozási nyelv elsajátításához.

A dokumentációban és az oktatóanyagban megtalálható megoldások és válaszok

A Microsoft aktívan gondoskodik a dokumentációk, oktatóanyagok és képzések bőséges kínálatáról. Képzési anyagokat találhat népszerű formákban, amelyek a tanulási folyamat minden egyes lépéséhez segítséget nyújtanak.

Az alábbi táblázat néhány nagyszerű erőforrást tartalmaz, amelyeket érdemes könyvjelzővel megjelölni, és visszatérni.

Erőforrás Cél
Microsoft Learn Gyors üzembe helyezési oktatóanyagokat és végleges referenciadokumentációt biztosít.
Minták és eljárások Fejlesztőknek és szoftvertervezőknek nyújt segítséget gyakori alkalmazásfejlesztési problémák megoldásában. A források gyakran nem csupán a kód írásának aprólékos részleteivel foglalkoznak, hanem a szinte korlátlanul skálázható architektúrákat lehetővé tevő termékek és szolgáltatások kiválasztásával is.
.NET-videók A .NET-csapat által készített oktatóvideókat kínál. Ezek a videók a gyakori felhasználási helyzeteken vezetik végig a fejlesztőket.
A C használatának első lépései# Olyan laborgyakorlatokkal segít képességei fejlesztésében, amelyek az utasítások, gyakorlatok, multimédia, tudáspróbák és a fejlődést nyomon követő eszközök kombinációját nyújtják.

Kapcsolat a .NET-közösséggel a tanulás és a megoldások megosztása érdekében

A .NET-ökoszisztéma nyelveken, kódtárakon és eszközökön túl az emberekre is kiterjed. Szabadon tanulhat, és hozzájárulhat a közösséghez.

  • Tanulás: A .NET-közösség tagjai élő eseményeket és személyes találkozókat szerveznek. Nyílt forráskódú szoftvereket készítenek, Q&A-fórumokon vesznek részt, és oktatóvideókat vesznek fel. Könyveket és blogbejegyzéseket írnak, amelyek segítenek a tanulásban, és ha elakad, a továbblépésben.
  • Közreműködés: A .NET nyílt forráskódú a GitHubon. Az adattár projektjeit a .NET Foundation kezeli. Ennek a független szervezetnek a célja, hogy megbízható, kereskedelmileg hasznos, nyílt forráskódú ökoszisztémát alakítson ki a .NET fejlesztői platform körül. Ebben az adattárban megoszthatja egyedi nézőpontját és véleményét, így segítve másokat a tanulásban.

Hogyan viszonyul a .NET-ökoszisztéma a többihez?

Ha ismeri a szoftverfejlesztés világát, talán érdekli, hogy hogyan viszonyul a .NET ökoszisztémája a többihez. Tény, hogy más ökoszisztémákról is elmondható néhány, vagy akár sok is a leckében eddig megfogalmazott állítások közül.

A .NET egyik legjellegzetesebb jellemzője azonban az, hogy folyamatos fejlesztése és támogatása nem csak egy jelentős technológiai vezetőtől, hanem a közösségtől is származik. A .NET jelentős hányada nyílt forráskódú eszközökkel lett kifejlesztve. Nem csupán elfogadták, de bátorították is a közösség hozzájárulását és közreműködését. A közreműködők 87 százaléka valójában nem a Microsoft körébe tartozik. A Microsoft a közösség hozzájárulása alapján funkciófejlesztésekkel, hibajavításokkal és a teljesítményt javító fejlesztésékkel támogatja aktívan a platform fejlődését. Több, mint 100 000 lekéréses kérelmet fogadtak el a közösségtől.

A .NET-ökoszisztémának saját lendülete van:

  • A .NET-fejlesztők száma meghaladja az 5 milliót!
  • A Stack Overflow-lekérdezések eredményei következetesen azt mutatják, hogy a .NET Core & .NET a legkedveltebb keretrendszer.
  • A tanulók szeretik a .NET-et. A .NET-tel ismerkedő fejlesztők 40 százaléka tanuló.
  • A .NET és az ASP.NET GitHub-adattára a 30 leggyorsabb nyílt forráskódú szoftverprojekt között szerepel.
  • A GitHub az első öt programozási nyelv C#-ját sorolja fel, és a nyelv népszerűsége a 2020-ra vonatkozó TIOBE programozási közösségi index szerint növekszik.
  • A .NET rendelkezik a leggyorsabb webes keretrendszersel a bolygón a TechEmpower benchmarkok szerint, amely egy független, nyílt forráskódú webes teljesítménymutató-készlet, amely több tucat nyelvet és alkalmazás-keretrendszert mér.

A .NET rövid története

Az eredeti .NET-keretrendszert először 2002. elején bocsátották ki. Ezt azóta számos frissítés és sok új funkció követte. A sok év alatt végzett fejlesztések és új funkciók miatt az eredeti .NET-keretrendszer, elsősorban a fő kódtárak mérete jelentősen megnőtt.

2002. után a Microsoft a .NET egy platformfüggetlen képességekkel rendelkező verziójának elkészítésén dolgozott. A cél az volt, hogy a fejlesztők egyetlen kódbázist írhassanak, amely macOS, Linux és Windows operációs rendszeren is használható.

Ezeknek az erőfeszítéseknek az eredménye lett a 2014. körül bemutatott .NET Core. A Microsoft megtartotta az eredeti .NET-keretrendszer, de az új funkciók és fejlesztések a .NET Core számára vannak fenntartva. A név Core tagját később elhagyták. A következő fő verziók a .NET 5, a .NET 6, a .NET 7, a .NET 8 és így tovább. A verziókat általában novemberenként adják ki.

Miért érdemes beszélni a .NET történetéről? Azért, mert valószínű, hogy olyan blogbejegyzésekre, videókra és forráskódra bukkan, amelyeket az eredeti .NET-keretrendszerhez szántak. Az utasítások vagy kódok bizonyos esetekben még működhetnek, más esetekben viszont módosításokra van szükség, hogy igazodjanak az új .NET-hez.