Slovníček k technologii .NET
Hlavním cílem tohoto glosáře je objasnit významy vybraných termínů a zkratek, které se často objevují v dokumentaci k .NET.
AOT
Před časem kompilátoru.
Podobně jako JIT tento kompilátor také překládá il na strojový kód. Na rozdíl od kompilace JIT probíhá kompilace AOT před spuštěním aplikace a obvykle se provádí na jiném počítači. Vzhledem k tomu, že se řetězy nástrojů AOT nekompilují za běhu, nemusí minimalizovat čas strávený kompilací. To znamená, že mohou strávit více času optimalizací. Vzhledem k tomu, že kontext AOT je celá aplikace, kompilátor AOT také provádí křížové propojení modulů a analýzu celého programu, což znamená, že všechny odkazy jsou sledovány a vytvoří se jeden spustitelný soubor.
Viz CoreRT a .NET Native.
model aplikace
Rozhraní API specifické pro úlohy. Několik příkladů:
- .NET Aspire
- ASP.NET
- Rozhraní API pro ASP.NET Web
- Entity Framework (EF)
- Windows Presentation Foundation (WPF)
- WCF (Windows Communication Foundation)
- Windows Workflow Foundation (WF)
- Windows Forms (WinForms)
ASP.NET
Původní implementace ASP.NET, která se dodává s rozhraním .NET Framework, označovaným také jako ASP.NET 4.x a ASP.NET Framework.
Někdy ASP.NET je zastřešující termín, který odkazuje na původní ASP.NET i ASP.NET Core. Význam, který termín nese v jakékoli dané instanci, je určen kontextem. Pokud chcete zjistit, že nepoužíváte ASP.NET, přečtěte si ASP.NET 4.x.
Viz dokumentace k ASP.NET.
ASP.NET Core
Multiplatformní opensourcová opensourcová implementace ASP.NET.
Viz dokumentace k ASP.NET Core.
sestavení
Soubor .dll nebo .exe , který může obsahovat kolekci rozhraní API, která mohou být volána aplikacemi nebo jinými sestaveními.
Sestavení obsahuje typy, jako jsou rozhraní, třídy, struktury, výčty a delegáty. Sestavení ve složce bin projektu se někdy označují jako binární soubory. Viz také knihovna.
BCL
Knihovna základních tříd.
Sada knihoven, které tvoří obory názvů System.* (a v omezeném rozsahu Microsoft.*). Seznam BCL je architektura pro obecné účely nižší úrovně, na které jsou založeny architektury aplikací vyšší úrovně, například ASP.NET Core.
Zdrojový kód seznamu BCL pro .NET je obsažen v úložišti modulu runtime .NET. Většina těchto rozhraní API seznamu BCL je také k dispozici v rozhraní .NET Framework, takže si tento zdrojový kód můžete představit jako fork zdrojového kódu BCL rozhraní .NET Framework.
Následující termíny často odkazují na stejnou kolekci rozhraní API, na která odkazuje seznam BCL:
CLR
Common Language Runtime.
Přesný význam závisí na kontextu. Modul CLR (Common Language Runtime) obvykle odkazuje na modul runtime rozhraní .NET Framework nebo modul runtime .NET.
MODUL CLR zpracovává přidělování a správu paměti. CLR je také virtuální počítač, který spouští nejen aplikace, ale také generuje a kompiluje kód za běhu pomocí kompilátoru JIT .
Implementace CLR pro .NET Framework je pouze Windows.
Implementace CLR pro .NET (označovaná také jako Core CLR) je sestavená ze stejného základu kódu jako CLR rozhraní .NET Framework. Core CLR byl původně modulem runtime Silverlightu a byl navržen tak, aby běžel na více platformách, konkrétně windows a OS X. Jedná se o modul runtime pro různé platformy , který teď zahrnuje podporu mnoha distribucí Linuxu.
Viz také modul runtime.
Core CLR
Common Language Runtime pro .NET.
Viz CLR.
CoreRT
Na rozdíl od CLR není CoreRT virtuální počítač, což znamená, že nezahrnuje zařízení pro generování a spouštění kódu za běhu, protože neobsahuje JIT. Zahrnuje však GC a schopnost identifikace typu za běhu (RTTI) a reflexi. Jeho systém typů je ale navržený tak, aby se metadata pro reflexi nepožadovala. Nevyžaduje metadata, což umožňuje řetěz nástrojů AOT , který může propojit nadbytečná metadata a (důležitější) identifikovat kód, který aplikace nepoužívá. CoreRT je ve vývoji.
Viz úvod do prostředí CoreRT a .NET Runtime Lab.
pro různé platformy
Schopnost vyvíjet a spouštět aplikaci, kterou lze použít v několika různých operačních systémech, jako je Linux, Windows a iOS, aniž byste museli přepisovat speciálně pro každý z nich. To umožňuje opakované použití kódu a konzistenci mezi aplikacemi na různých platformách.
Viz platforma.
ekosystém
Veškerý běhový software, vývojové nástroje a komunitní prostředky, které se používají k vytváření a spouštění aplikací pro danou technologii.
Termín "ekosystém .NET" se liší od podobných termínů, jako je například ".NET stack" v zahrnutí aplikací a knihoven třetích stran. Tady je příklad ve větě:
- "Motivací za rozhraním .NET Standard bylo vytvořit větší jednotnost v ekosystému .NET."
architektura
Obecně platí, že komplexní kolekce rozhraní API, která usnadňují vývoj a nasazení aplikací založených na konkrétní technologii. V tomto obecném smyslu jsou příklady aplikačních architektur ASP.NET Core a model Windows Forms. Architektura slov a knihovna se často používají synonymem.
Slovo "framework" má jiný význam v následujících termínech:
- knihovny architektury
- .NET Framework
- sdílená architektura
- cílová architektura
- TFM (moniker cílové architektury)
- aplikace závislá na rozhraní
Někdy "framework" odkazuje na implementaci rozhraní .NET.
knihovny architektury
Význam závisí na kontextu. Může odkazovat na knihovny architektury pro .NET, v takovém případě odkazuje na stejné knihovny, na které odkazuje seznam BCL . Může také odkazovat na knihovny architektury ASP.NET Core , které vycházejí z seznamu BCL a poskytují další rozhraní API pro webové aplikace.
Uvolňování paměti
Popelář.
Uvolňování paměti je implementace automatické správy paměti. GC uvolní paměť obsazené objekty, které se již nepoužívají.
Viz Uvolňování paměti.
IL
Zprostředkující jazyk.
Jazyky .NET vyšší úrovně, například C#, se kompilují na hardwarově nezávislou instrukční sadu, která se nazývá Intermediate Language (IL). IL se někdy označuje jako MSIL (Microsoft IL) nebo CIL (Common IL).
JIT
Kompilátor za běhu
Podobně jako AOT tento kompilátor překládá il na strojový kód, kterému procesor rozumí. Na rozdíl od AOT se kompilace JIT provádí na vyžádání a provádí se na stejném počítači, na který musí kód běžet. Vzhledem k tomu, že kompilace JIT probíhá během provádění aplikace, je čas kompilace součástí doby běhu. Kompilátory JIT proto musí vyrovnávat čas strávený optimalizací kódu proti úsporám, které výsledný kód může vytvořit. Ale JIT zná skutečný hardware a může vývojářům uvolnit od nutnosti dodávat různé implementace.
implementace .NET
Implementace .NET zahrnuje:
- Jeden nebo více modulů runtime. Příklady: CLR, CoreRT.
- Knihovna tříd, která implementuje verzi rozhraní .NET Standard a může obsahovat další rozhraní API. Příklady: seznamy BCLs pro rozhraní .NET Framework a .NET.
- Volitelně můžete jednu nebo více aplikačních architektur. Příklady: ASP.NET, model Windows Forms a WPF jsou součástí rozhraní .NET Framework a .NET.
- Volitelně můžete vývojové nástroje. Některé vývojové nástroje jsou sdíleny mezi několika implementacemi.
Příklady implementací .NET:
Další informace naleznete v tématu implementace .NET.
knihovna
Kolekce rozhraní API, která je možné volat aplikacemi nebo jinými knihovnami. Knihovna .NET se skládá z jednoho nebo více sestavení.
Knihovna slov a architektura se často používají synonymem.
Mono
Opensourcová implementace .NET pro různé platformy, která se používá, když se vyžaduje malý modul runtime. Je to modul runtime, který využívá aplikace Xamarinu v systémech Android, Mac, iOS, tvOS a watchOS a zaměřuje se především na aplikace, které vyžadují malou stopu.
Podporuje všechny aktuálně publikované verze .NET Standard.
Mono v minulosti implementovalo větší rozhraní API rozhraní .NET Framework a napodobovalo některé z nejoblíbenějších funkcí v unixu. Někdy se používá ke spouštění aplikací .NET, které se spoléhají na tyto funkce v unixu.
Mono se obvykle používá s kompilátorem za běhu, ale obsahuje také úplný statický kompilátor (předem za běhu), který se používá na platformách, jako je iOS.
Další informace najdete v dokumentaci k Mono.
Nativní AOT
Režim nasazení, ve kterém je aplikace samostatně obsažená a je předem zkompilovaná do nativního kódu v době publikování. Nativní aplikace AOT nepoužívají kompilátor JIT za běhu. Můžou běžet na počítačích, na kterých není nainstalovaný modul runtime .NET.
Další informace najdete v tématu Nativní nasazení AOT.
.NET
.NET má dva významy a ten, který je zamýšlený, závisí na kontextu:
- .NET lze použít jako zastřešující termín pro .NET Standard a všechny implementace a úlohy .NET.
- .NET častěji odkazuje na multiplatformní opensourcovou opensourcovou implementaci .NET, která se používá k označení .NET Core. Lze ho také značovat jako .NET 5 (a .NET Core) a novější verze nebo jen .NET 5+.
První význam je například určen ve frázích, jako jsou "implementace rozhraní .NET". Druhý význam je určen v názvech, jako jsou .NET SDK a .NET CLI. V případě absence kontextu, který označuje první význam, předpokládejme, že druhý význam je zamýšlen.
Starší verze .NET se označují jako .NET Core 1 až 3.1. Čísla verzí přeskočí 4 a verze, která následovala po 3.1, se označuje jako .NET 5 a z názvu se přemístit "Core". Vyřazení jádra bylo provedeno, aby zdůraznilo, že tato implementace .NET je ta, která se doporučuje pro veškerý nový vývoj. Přeskočení verze 4 bylo provedeno, aby se zabránilo matoucí této novější implementaci rozhraní .NET se starší implementací, která se označuje jako .NET Framework. Aktuální verze rozhraní .NET Framework je 4.8.1.
.NET je vždy plně velká písmena, nikdy ".Net".
Viz dokumentace k .NET.
.NET CLI
Sada nástrojů pro různé platformy pro vývoj aplikací a knihoven pro .NET Označuje se také jako .NET Core CLI.
Viz .NET CLI.
.NET Core
Viz .NET.
.NET Framework
Implementace rozhraní .NET , která běží pouze ve Windows. Zahrnuje modul CLR (Common Language Runtime), knihovnu základních tříd (BCL) a knihovny architektury aplikací, jako jsou ASP.NET, model Windows Forms a WPF.
Viz průvodce rozhraním .NET Framework.
.NET Native
Řetěz nástrojů kompilátoru, který vytváří nativní kód předem (AOT), na rozdíl od jiT (just-in-time).
Kompilace probíhá na počítači vývojáře podobně jako kompilátor jazyka C++ a linker. Odebere nepoužívaný kód a stráví více času optimalizací. Extrahuje kód z knihoven a sloučí je do spustitelného souboru. Výsledkem je jeden modul, který představuje celou aplikaci.
UPW je aplikační architektura podporovaná rozhraním .NET Native.
Viz dokumentace k .NET Native.
.NET SDK
Sada knihoven a nástrojů, které vývojářům umožňují vytvářet aplikace a knihovny pro .NET. Označuje se také jako .NET Core SDK.
Zahrnuje rozhraní příkazového řádku .NET pro vytváření aplikací, knihovny .NET a modul runtime pro sestavování a spouštění aplikací a spustitelný soubor dotnet (dotnet.exe), který spouští příkazy rozhraní příkazového řádku a spouští aplikace.
.NET Standard
Formální specifikace rozhraní .NET API, která jsou k dispozici v každé implementaci .NET.
Specifikace .NET Standard se někdy označuje jako knihovna. Vzhledem k tomu, že knihovna zahrnuje implementace rozhraní API, nejen specifikace (rozhraní), je zavádějící volat .NET Standard jako "knihovnu".
Viz .NET Standard.
NGen
Nativní generování (image)
Tuto technologii si můžete představit jako trvalý kompilátor JIT . Obvykle kompiluje kód na počítači, kde se kód spouští, ale kompilace obvykle probíhá v době instalace.
package
Balíček NuGet ( nebo jen balíček) je soubor .zip s jedním nebo více sestaveními stejného názvu spolu s dalšími metadaty, jako je jméno autora.
Soubor .zip má příponu .nupkg a může obsahovat prostředky, jako jsou soubory .dll a .xml soubory, pro použití s více cílovými architekturami a verzemi . Při instalaci v aplikaci nebo knihovně jsou vybrány příslušné prostředky na základě cílové architektury určené aplikací nebo knihovnou. Prostředky, které definují rozhraní, jsou ve složce ref a prostředky, které definují implementaci, jsou ve složce lib .
platform
Operační systém a hardware, na kterém běží, například Windows, macOS, Linux, iOS a Android.
Tady jsou příklady použití ve větách:
- .NET Core je multiplatformní implementace .NET.
- "Profily PCL představují platformy Microsoftu, zatímco .NET Standard je nezávislé na platformě."
Starší dokumentace k .NET někdy používá platformu .NET, která znamená implementaci .NET nebo zásobník .NET včetně všech implementací. Obě tato použití se obvykle zaměňují s primárním významem (OS/hardware), takže se snažíme těmto použitím vyhnout.
"Platforma" má v frázi "vývojářská platforma" jiný význam, který odkazuje na software, který poskytuje nástroje a knihovny pro vytváření a spouštění aplikací. .NET je multiplatformní opensourcová vývojářská platforma pro vytváření mnoha různých typů aplikací.
POCO
Objekt POCO nebo prostý starý objekt třídy /CLR je datová struktura .NET, která obsahuje pouze veřejné vlastnosti nebo pole. Poco by neměl obsahovat žádné další členy, například:
- metody
- events
- deleguje
Tyto objekty se používají především jako objekty pro přenos dat (DTO). Čistý POCO nezdědí jiný objekt ani neimplementuje rozhraní. Běžné je, že se poCOs používají se serializací.
modul runtime
Obecně platí, že spouštěcí prostředí pro spravovaný program. Operační systém je součástí běhového prostředí, ale není součástí modulu runtime .NET. Tady je několik příkladů modulů runtime .NET v tomto smyslu slova:
- Common Language Runtime (CLR)
- .NET Native (pro UPW)
- Mono runtime
Slovo "runtime" má v některých kontextech jiný význam:
Modul runtime .NET na stránce pro stažení .NET 5
Modul runtime .NET nebo jiné moduly runtime, například modul runtime ASP.NET Core, si můžete stáhnout. Modul runtime v tomto použití je sada komponent, které musí být nainstalovány na počítači pro spuštění aplikace závislé na rozhraní na počítači. Modul runtime .NET zahrnuje CLR a sdílenou architekturu .NET, která poskytuje seznam BCL.
Knihovny modulu runtime .NET
Odkazuje na stejné knihovny, na které odkazuje seznam BCL . Jiné moduly runtime, jako je modul runtime ASP.NET Core, ale mají různé sdílené architektury s dalšími knihovnami, které vycházejí z seznamu BCL.
Identifikátor modulu runtime (RID)
Modul runtime zde znamená platformu operačního systému a architekturu procesoru, na které běží aplikace .NET, například:
linux-x64
.Někdy se modul runtime používá ve smyslu implementace .NET, jako v následujících příkladech:
- Různé moduly runtime .NET implementují konkrétní verze .NET Standard. … Každá verze modulu runtime .NET inzeruje nejvyšší verzi .NET Standard, která podporuje ..."
- Knihovny, které mají být spuštěny v několika modulech runtime, by měly cílit na tuto architekturu. (odkazující na .NET Standard)
sdílená architektura
Význam závisí na kontextu. Sdílená architektura .NET odkazuje na knihovny zahrnuté v modulu runtime .NET. V tomto případě sdílená architektura pro .NET odkazuje na stejné knihovny, na které odkazuje seznam BCL.
Existují i další sdílené architektury. Sdílená architektura ASP.NET Core odkazuje na knihovny zahrnuté v modulu runtime ASP.NET Core, které zahrnuje seznam BCL a další rozhraní API pro použití webovými aplikacemi.
Pro aplikace závislé na architektuře se sdílená architektura skládá z knihoven obsažených v sestaveních nainstalovaných ve složce na počítači, na kterém běží aplikace. U samostatných aplikací jsou sdílená sestavení architektury součástí aplikace.
Další informace najdete v tématu Podrobné informace o primitivách .NET Core, část 2: sdílená architektura.
stack
Sada programovacích technologií, které se používají společně k vytváření a spouštění aplikací.
Zásobník .NET odkazuje na .NET Standard a všechny implementace .NET. Fráze "zásobník .NET" může odkazovat na jednu implementaci .NET.
cílová architektura
Kolekce rozhraní API, na které aplikace nebo knihovna .NET spoléhá.
Aplikace nebo knihovna může cílit na verzi .NET Standard (například .NET Standard 2.0), což je specifikace standardizované sady rozhraní API ve všech implementacích .NET. Aplikace nebo knihovna může také cílit na verzi konkrétní implementace .NET, v takovém případě získá přístup k rozhraním API specifických pro implementaci. Například aplikace, která cílí na Xamarin.iOS, získá přístup k obálkám rozhraní API pro iOS poskytovaným platformou Xamarin.
V některých cílových architekturách (například rozhraní .NET Framework) jsou dostupná rozhraní API definována sestaveními, která implementace .NET nainstaluje do systému, což může zahrnovat rozhraní API architektury aplikací (například ASP.NET, WinForms). V cílových architekturách založených na balíčcích jsou rozhraní API architektury definována balíčky nainstalovanými v aplikaci nebo knihovně.
Viz Cílové architektury.
TFM
Moniker cílové architektury.
Standardizovaný formát tokenu pro určení cílové architektury aplikace nebo knihovny .NET. Na cílové architektury se obvykle odkazuje krátkým názvem, například net462
. Existují dlouhé sady TFM (například .NETFramework,Version=4.6.2
), ale obecně se nepoužívají k určení cílové architektury.
Viz Cílové architektury.
UWP
Univerzální platforma Windows.
Implementace rozhraní .NET , která se používá k vytváření aplikací a softwaru windows s podporou dotykového ovládání pro internet věcí (IoT). Je navržená tak, aby sjednocuje různé typy zařízení, na která můžete chtít cílit, včetně počítačů, tabletů, telefonů a dokonce i Xboxu. UPW poskytuje mnoho služeb, jako je centralizovaný obchod s aplikacemi, spouštěcí prostředí (AppContainer) a sada rozhraní API pro Windows, která se mají používat místo Win32 (WinRT). Aplikace se dají psát v jazyce C++, C#, Visual Basic a JavaScriptu. Při použití jazyka C# a Visual Basic jsou rozhraní .NET API poskytována rozhraním .NET.
Úloha
Typ aplikace, která někdo vytváří Obecnější než model aplikace. Například v horní části každé stránky dokumentace .NET, včetně této, je rozevírací seznam pro úlohy, který umožňuje přepnout na dokumentaci pro web, mobilní zařízení, cloud, nativní pro cloud a desktop.
V některých kontextech úlohy odkazují na kolekci funkcí sady Visual Studio, které můžete nainstalovat, aby podporovaly konkrétní typ aplikace. Příklad najdete v tématu Konfigurace úloh sady Visual Studio.