Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A .NET egy ingyenes, platformfüggetlen, nyílt forráskódú fejlesztői platform, amely különféle alkalmazások építésérenyújt lehetőséget. Több nyelven is futtathat programokat , és C# a legnépszerűbb. Olyan nagy teljesítményű futtatókörnyezetre támaszkodik, amelyet számos nagy léptékű alkalmazástermelési környezetben használ.
A .NET - letöltésének és az első alkalmazás írásának megkezdéséről a Első lépésekcí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 egy szemétgyűjtő (GC)keresztül. A GC és a szigorú nyelvi fordítók használata miatt típus- és memóriabiztos.
egyidejűséget kínálasync/await és Task primitíveken keresztül. 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 a következő tervezési ponttal rendelkezik:
- A termelékenység teljes körűen használható futtatókörnyezettel, kódtárakkal, nyelvekkel és eszközökkel, amelyek mind hozzájárulnak a fejlesztői felhasználói élményhez.
- biztonságos kód az elsődleges számítási modell, míg nem biztonságos kód további manuális optimalizálásokat tesz lehetővé.
- statikus és dinamikus kód egyaránt támogatottak, ami számos különböző forgatókönyvet tesz lehetővé.
- natív kód együttműködése és hardveres intrinzikek alacsony költségűek és nagy pontosságúak (nyers API- és utasításhozzáférés).
- A kód hordozható a platformok között (operációs rendszer és chiparchitektúra), míg a platformspecifikus célzás lehetővé teszi a specializációt és az optimalizálást.
- 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 iparági szabványokat, mint például az OpenTelemetry-t és a gRPC-t, előnyben részesítik a testre szabott megoldásokkal szemben.
A .NET-et a Microsoft és egy globális közösség közösen kezeli. A rendszeres frissítések biztosítják, hogy a felhasználók biztonságos és megbízható alkalmazásokat helyezzenek üzembe éles környezetekben.
Összetevők
A .NET a következő összetevőket tartalmazza:
- Futtatókörnyezet – alkalmazáskódot hajt végre.
- A könyvtárak olyan segédfunkció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#foreach utasítása például lehetővé teszi tetszőleges gyűjtemények számbavételét. A mintaalapú optimalizálásokkal egyszerűen és hatékonyan dolgozhatók fel olyan gyűjtemények, mint a List<T>. Az erőforrás-kezelést akár a szemétgyűjtőre is hagyhatja, de a gyors tisztítás lehetséges a IDisposable és a using utasítás közvetlen nyelvi támogatásával.
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 async és await kulcsszavakat biztosít, amelyek megkönnyítik az aszinkron műveletek írását és írását, miközben továbbra is élvezheti a nyelv által kínált vezérlőfolyamat-szerkezetek teljes előnyeit.
A típusú rendszer jelentős kiterjedést kínál, némileg egyenlően szolgálva a biztonságot, a kifejezőképességet, a dinamizmust és a natív interoperabilitást. 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 mindenütt elterjedtek, és 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 memóriagyű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. Célja, hogy általános használat során "kevesebb beavatkozást igénylő" legyen, miközben konfigurációs lehetőségeket kínál a szélsőségesebb terhelésekhez. 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 generikus rendszere által, ami azt jelenti, hogy az olyan generikus típusok, mint a List<T>, lehetővé teszik az értéktípusú gyűjtemények lapos, terhelésmentes memória reprezentációját.
Reflection egy "programok mint adatok" paradigma, amely lehetővé teszi, hogy a program egyik része dinamikusan lekérdezze és meghívja a másik részt, az összetevők, típusok és tagok szempontjából. Különösen hasznos késői kötésű programozási modellek és eszközök számára.
A kivételek az elsődleges hibakezelési modell a .NET-ben. A kivételek előnye, hogy a hiba információkat nem kell a metódusaláírásokban megjeleníteni vagy minden egyes metódusnak kezelnie. 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-gyűjtemény a Microsoft kezeli.
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ég által számos adattárban tartják karban.
A .NET-forrás- és bináris fájlok MIT-licenccelrendelkeznek. További licencek érvényesek a Windows.
Támogatás
A .NET-et több szervezet támogatja, annak érdekében, 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ói évente novemberben jelennek meg, a kiadási ütemtervünk és támogatási szabályzataink szerint. Havonta, a második kedden, amit Patch keddnek neveznek, frissítik, jellemzően 10:00-kor a csendes-óceáni időzóna 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 (Core) – Modern .NET. A .NET platformfüggetlen és nyílt forráskódú implementációja, amely a felhő korának újragondolása mellett jelentősen kompatibilis marad. Folyamatosan fejlődik és aktívan támogatott.
- .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ámogatva van, karbantartás alatt.
- Mono – Az eredeti közösség és a nyílt forráskódú .NET. A .NET-keretrendszer platformfüggetlen implementációja.