====== .NET Core ====== **.NET Core** je modulární, multiplatformní a open-source implementace .NETu. Byla navržena tak, aby umožnila vývojářům vytvářet aplikace běžící na Windows, Linuxu i macOS. V roce 2020 byla transformována do sjednoceného [[it:sw:dot_net|.NET 5]] a novějších verzí. ===== 1. Proč .NET Core vznikl? ===== Před příchodem .NET Core existoval pouze **.NET Framework**, který byl: * Pevně svázán s Windows. * Velmi rozměrný (monolitický). * Závislý na instalaci konkrétní verze v celém systému. .NET Core tyto problémy vyřešil zavedením **modularity** a **nezávislosti na platformě**, což umožnilo masivní nasazení v cloudových prostředích a Docker kontejnerech. --- ===== 2. Klíčové vlastnosti ===== * **Multiplatformnost:** Stejný kód lze spustit na serverech s Linuxem i na noteboocích s Windows nebo Mac. * **Vysoký výkon:** Od základu optimalizovaný kód, který v mnoha benchmarcích překonává konkurenční platformy (Java, Node.js). * **Open Source:** Celý framework je dostupný na GitHubu pod licencí MIT. * **Side-by-side instalace:** Na jednom stroji může běžet více aplikací, každá s jinou verzí .NET Core, aniž by se vzájemně ovlivňovaly. * **Kontejnerizace:** Nativní podpora pro Docker, což z .NET Core dělá ideální volbu pro architekturu mikroslužeb. --- ===== 3. Komponenty .NET Core ===== * **CoreCLR:** Běhové prostředí (Runtime), které obsahuje [[it:sw:garbage_collector|Garbage Collector]], JIT kompilátor a správu typů. * **CoreFX:** Základní sada knihoven (System.*), které poskytují funkce pro práci s textem, sítěmi, kolekcemi a soubory. * **dotnet CLI:** Nástroj příkazové řádky pro vývoj (vytváření, sestavování a publikování projektů). --- ===== 4. Porovnání: .NET Framework vs. .NET Core ===== ^ Vlastnost ^ .NET Framework ^ .NET Core ^ | **Platforma** | Pouze Windows | Windows, Linux, macOS | | **Open Source** | Ne (jen některé části) | Ano (kompletně) | | **Instalace** | Celosystémová | Lokální (součást aplikace) | | **Výkon** | Vysoký | Extrémní (optimalizováno) | | **Hlavní využití** | Legacy aplikace, Desktop | Web, Cloud, Mikroslužby | --- ===== 5. Budoucnost: Přechod na moderní .NET ===== S verzí **.NET Core 3.1** skončilo toto specifické názvosloví. Microsoft následně vydal **.NET 5**, který spojil .NET Core a Mono (mobilní verze) do jednoho celku. Dnešní verze (.NET 6, 7, 8) jsou přímými nástupci .NET Core a pokračují v jeho filozofii. ---- //Související články:// * [[it:sw:dot_net|Sjednocená platforma .NET]] * [[it:sw:asp_net_core|ASP.NET Core: Webový vývoj]] * [[it:sw:csharp|Jazyk C#]] //Tagy: {{tag>programming dot-net-core framework open-source multiplatform backend}}//