A .NET bemutatása

A .NET egy ingyenes, platformfüggetlen, nyílt forráskódú fejlesztői platform, amely számos alkalmazás létrehozásához használható. Több nyelven írt programokat is futtathat, és a C# a legnépszerűbb. Nagy teljesítményű futtatókörnyezetre támaszkodik, amelyet számos nagy léptékű alkalmazás használ éles környezetben.

A .NET letöltéséről és az első alkalmazás írásának megkezdéséről az Első lépések című témakörben olvashat.

A .NET platformot úgy tervezték, hogy termelékenységet, teljesítményt, biztonságot és megbízhatóságot biztosítson. Automatikus memóriakezelést biztosít szemétgyűjtőn (GC) keresztül. A GC és a szigorú nyelvi fordítók használata miatt típus- és memóriabiztos. Egyidejűséget biztosít a primitíveken keresztülasyncawait/Task. Számos olyan kódtárat tartalmaz, amelyek széles funkcionalitással rendelkeznek, és több operációs rendszer és chiparchitektúra teljesítményére vannak optimalizálva.

A .NET-nek a következő tervezési pontjai vannak:

  • A termelékenység teljes körű futtatókörnyezettel, kódtárakkal, nyelvvel és eszközökkel, amelyek mind hozzájárulnak a fejlesztői felhasználói élményhez.
  • Széf kód az elsődleges számítási modell, míg a nem biztonságos kód további manuális optimalizálásokat tesz lehetővé.
  • A statikus és a dinamikus kód egyaránt támogatott, így különböző forgatókönyvek széles halmazát teszi lehetővé.
  • A natív kódközi és hardveres intrinsics alacsony költségű és magas megbízhatóságú (nyers API és utasítás-hozzáférés).
  • A kód több platformon (operációs rendszer és chiparchitektúra) hordozható, míg a platformcélzás lehetővé teszi a specializációt és az optimalizálást.
  • A programozási tartományok (felhő, ügyfél, játék) alkalmazkodóképessége az általános célú programozási modell speciális implementációival érhető el.
  • Az olyan iparági szabványokat , mint az OpenTelemetria és a gRPC, előnyben részesítik a bespoke-megoldásokkal szemben.

A .NET-et a Microsoft és a közösség tartja karban. Rendszeresen frissül, hogy a felhasználók biztonságos és megbízható alkalmazásokat helyezzenek üzembe az éles környezetben.

Összetevők

A .NET a következő összetevőket tartalmazza:

  • Futtatókörnyezet – alkalmazáskódot hajt végre.
  • A kódtárak olyan segédprogram-funkciókat biztosítanak, mint a JSON-elemzés.
  • Fordító – A C# (és más nyelvek) forráskódját (futtatókörnyezet) végrehajtható kódra fordítja le.
  • SDK és egyéb eszközök – lehetővé teszik az alkalmazások modern munkafolyamatokkal való készítését és monitorozását.
  • Alkalmazásveremek – például ASP.NET Core és Windows Forms, amelyek lehetővé teszik az alkalmazások írását.

A futtatókörnyezet, a kódtárak és a nyelvek a .NET-verem alappillérei. A magasabb szintű összetevők, például a .NET-eszközök és az alkalmazásveremek, például a ASP.NET Core ezekre az alappillérekre épülnek. A C# a .NET elsődleges programozási nyelve, és a .NET nagy része C#-ban van megírva.

A C# objektumorientált, a futtatókörnyezet pedig támogatja az objektum tájolását. A C# használatához szemétgyűjtés szükséges, a futtatókörnyezet pedig nyomkövetési szemétgyűjtőt biztosít. A kódtárak (és az alkalmazásveremek) ezeket a képességeket olyan fogalmakká és objektummodellekké alakítják, amelyek lehetővé teszik a fejlesztők számára az algoritmusok hatékony írását intuitív munkafolyamatokban.

Az alapvető kódtárak több ezer típust fednek le, amelyek közül sok integrálható és táplálja a C# nyelvet. A C#utasítása foreach például lehetővé teszi tetszőleges gyűjtemények számbavételét. A mintaalapú optimalizálás lehetővé teszi a gyűjtemények List<T> egyszerű és hatékony feldolgozását. Az erőforrás-kezelést akár szemétgyűjtésre is hagyhatja, de a kérések törlésére az utasítás nyelvi támogatásával és közvetlen nyelvi támogatásával IDisposableusing van lehetőség.

Gyakorlatilag az összes számítási feladat esetében alapvető fontosságú, hogy egyszerre több dolgot is elvégezhessenek. Ilyen lehet például a háttérfeldolgozást végző ügyfélalkalmazások, a felhasználói felület válaszkészsége, a több ezer egyidejű kérést kezelő szolgáltatások, az egyidejű ingerekre reagáló eszközök vagy a nagy teljesítményű gépek, amelyek párhuzamosak a nagy számítási igényű műveletek feldolgozásával. Az aszinkron programozási támogatás a C# programozási nyelv első osztályú funkciója, amely olyan kulcsszavakat és await kulcsszavakat biztosítasync, amelyek megkönnyítik az aszinkron műveletek írását és írását, miközben továbbra is élvezik a nyelv által kínált vezérlőfolyamat-szerkezetek teljes előnyeit.

A típusrendszer jelentős szélességet kínál, némileg egyenlően gondoskodik a biztonságról, a leíróságról, a dinamizmusról és a natív interopról. A típusrendszer elsősorban objektumorientált programozási modelleket tesz lehetővé. Ide tartoznak a típusok, az (egy alaposztályú) öröklés, az interfészek (beleértve az alapértelmezett metódus-implementációkat is) és a virtuális metódusküldés, amelyek ésszerű működést biztosítanak az objektum tájolása által lehetővé tott összes típusréteghez. Az általános típusok olyan átfogó funkciók, amelyek lehetővé teszik az osztályok egy vagy több típusra való specializálását.

A .NET-futtatókörnyezet automatikus memóriakezelést biztosít egy szemétgyűjtőn keresztül. Minden nyelv esetében a memóriakezelési modell valószínűleg a legmeghatározóbb jellemzője. Ez a .NET-nyelvekre igaz. A .NET önhangoló, nyomkövetési GC-vel rendelkezik. Az általános esetben a "leosztás" műveletre törekszik, miközben konfigurációs lehetőségeket kínál a szélsőségesebb számítási feladatokhoz. A jelenlegi GC sok éves befektetés és számos számítási feladatból származó tanulás eredménye.

Az értéktípusok és a halmozott memóriablokkok közvetlenebb, alacsonyabb szintű vezérlést biztosítanak az adatok és a natív platform között, szemben a . A NET GC által felügyelt típusai. A .NET-ben a legtöbb primitív típus, például egész szám, értéktípus, a felhasználók pedig hasonló szemantikával határozhatják meg a saját típusaikat. Az értéktípusok teljes mértékben támogatottak. A NET általános rendszere, ami azt jelenti, hogy az olyan általános típusok, mint az List<T> érték típusú gyűjtemények egyszerű, terhelés nélküli memória-ábrázolását biztosíthatják.

Önkifejezés ion egy "programok mint adatok" paradigma, amely lehetővé teszi, hogy egy program egyik része dinamikusan lekérdezést és meghívást egy másik szempontjából szerelvények, típusok és tagok. Különösen hasznos késői programozási modellekhez és eszközökhöz.

A kivételek az elsődleges hibakezelési modell a .NET-ben. A kivételek előnye, hogy a hibainformációkat nem kell a metódus-aláírásokban ábrázolni vagy minden metódus kezelni. A megfelelő kivételkezelés elengedhetetlen az alkalmazások megbízhatóságához. Az alkalmazás összeomlásának megakadályozása érdekében szándékosan kezelheti a kódban szereplő várt kivételeket. Az összeomlott alkalmazások megbízhatóbbak és kiszámíthatóbbak, mint a meghatározatlan viselkedésű alkalmazások.

Az olyan alkalmazásveremek, mint a ASP.NET Core és a Windows Forms, az alacsony szintű kódtárakra, a nyelvre és a futtatókörnyezetre építenek, és kihasználják az előnyöket. Az alkalmazásveremek határozzák meg az alkalmazások felépítését és azok végrehajtási életciklusát.

Az SDK és más eszközök modern fejlesztői élményt tesznek lehetővé mind a fejlesztői asztalon, mind a folyamatos integráció (CI) érdekében. A modern fejlesztői élmény magában foglalja a kód összeállítását, elemzését és tesztelését. A .NET-projekteket gyakran egyetlen dotnet build paranccsal lehet létrehozni, amely a NuGet-csomagok visszaállítását és a függőségek kiépítését vezényli.

A NuGet a .NET csomagkezelője. Több százezer csomagot tartalmaz, amelyek számos forgatókönyvhöz implementálnak funkciókat. Az alkalmazások többsége bizonyos funkciókhoz a NuGet-csomagokra támaszkodik. A NuGet-katalógust a Microsoft tartja karban.

Ingyenes és nyílt forráskódú

A .NET ingyenes, nyílt forráskód és .NET Foundation-projekt. A .NET-et a Microsoft és a GitHub közössége számos adattárban tartja karban.

A .NET-forrás- és bináris fájlok az MIT-licenccel vannak licencelve. Windows rendszeren további licencek érvényesek.

Támogatás

A .NET-et több szervezet is támogatja, amelyek annak biztosítása érdekében dolgoznak, hogy a .NET több operációs rendszeren fusson, és naprakész legyen. Arm64, x64 és x86 architektúrákon használható.

A .NET új verzióit évente novemberben adtuk ki, kiadásaink és támogatási szabályzataink szerint. Havonta frissül patch kedd (második kedd), általában 10:00 csendes-óceáni idő szerint.

.NET-ökoszisztéma

A .NET több változata is létezik, amelyek mindegyike más típusú alkalmazást támogat. Több változat oka a résztörténeti, részben műszaki.

.NET-implementációk:

  • .NET-keretrendszer - Az eredeti .NET. Hozzáférést biztosít a Windows és a Windows Server széles körű képességeihez. Aktívan támogatott a karbantartás során.
  • Mono – Az eredeti közösség és nyílt forráskód .NET. A .NET-keretrendszer platformfüggetlen megvalósítása. Android, iOS és WebAssembly esetén aktívan támogatott.
  • .NET (Core) – Modern .NET. A .NET platformfüggetlen és nyílt forráskód implementációja, amely a felhő korának megfelelően újragondolva, a .NET-keretrendszer jelentősen kompatibilis marad. Aktívan támogatott Linux, macOS és Windows rendszeren.

Következő lépések