Mi az a .NET?
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.