Co je .NET?

Dokončeno

Když někdo použije termín .NET, závisí význam tohoto termínu do značné míry na kontextu. V této lekci se seznámíte s platformou .NET z pohledu ekosystému. Jinými slovy, .NET je kolekce mnoha částí a lidí, kteří společně vytvářejí výkonné prostředí pro vytváření aplikací.

.NET je ekosystém pro vývoj aplikací.

Pojem ekosystém popisuje aspekty prostředí pro vývoj aplikací a související komunitu. Když tyto aspekty zkombinujete, najdete přesvědčivý důvod, proč se s platformou .NET seznámit a proč sestavovat aplikace platformy .NET.

Spouštění aplikací s modulem runtime .NET pomocí jazyků a kompilátorů platformy .NET

Vývojáři softwaru používají jazyky .NET, jako jsou C# a F# k psaní zdrojového kódu. Každý řádek kódu, který píše, vyjadřuje instrukce nebo příkaz, který má počítač provést, když je program spuštěný.

Než mohou vývojáři softwaru svůj kód spustit, musí ho nejprve zkompilovat. Kompilátor .NET je program, který převádí zdrojový kód (v libovolném podporovaném programovacím jazyce) do přenosného jazyka označovaného jako zprostředkující jazyk (IL). Kompilátor .NET uloží kód IL do souboru označovaného jako sestavení .NET. Kompilací kódu do zprostředkujícího formátu můžete použít stejný základ kódu všude, kde kód spouštíte, ať už ve Windows nebo Linuxu, nebo na 32bitovém nebo 64bitovém počítačovém hardwaru.

Modul runtime .NET je spouštěcí prostředí pro vaše zkompilované sestavení .NET. Jinak řečeno je modul runtime .NET tím, co spouští a spravuje vaši aplikaci, když běží v hostitelském operačním systému. Více si o tom, co modul runtime .NET dělá, řekneme za chvíli.

Jako vývojář softwaru naštěstí teprve začínáte s .NET, nemusíte se podrobně zabývat tím, jak tyto mechanismy fungují. Sílu jazyků, kompilátorů a modulu runtime platformy .NET budete lépe chápat a oceňovat s přibývajícími zkušenostmi.

Tip

Někdy si lidé myslí, že programovací jazyk C# je .NET. Jazyk C# a platforma .NET jsou ale odlišné věci. C# je syntaxe programovacího jazyka. V rámci syntaxe můžete odkazovat a volat metody definované v knihovnách kódu .NET nebo sestaveních. Dále použijete kompilátor jazyka C#, který je nainstalovaný se sadou .NET SDK, k vytvoření sestavení .NET z kódu jazyka C#. Modul runtime .NET pak spustí sestavení .NET. Tyto rozdíly jsou důležité koncepty, když se dozvíte více o .NET a C#.

Používání předem vytvořených funkcí pomocí aplikačních architektur a knihoven platformy .NET

Veškerý software je integrovaný ve vrstvách, což znamená, že software běží na různých úrovních abstrakce v počítači:

  • Na nejnižší úrovni komunikuje software přímo s hardwarem vašeho počítače. Řídí tok dat na základní desce, v procesorech, v paměti a na pevných discích.
  • Na další úrovni software umožňuje koncovému uživateli poskytovat pokyny prostřednictvím operačního systému.
  • Na další úrovni poskytuje software, jako je .NET, způsob, jak můžete vyvíjet a spouštět aplikace.
  • Na další úrovni umožňují aplikační architektury a knihovny funkcí rychle vytvářet bohaté aplikace s menším úsilím než starší metody vývoje.

Knihovna kódu zapouzdřuje funkce pro určitý účel do jediného sestavení. Pro platformu .NET jsou k dispozici tisíce knihoven. Tyto knihovny můžou být první strany nebo třetí strany a můžou být komerční nebo opensourcové. Knihovny poskytují širokou škálu funkcí, které můžete použít ve svých aplikacích. Stačí jenom odkazovat na tato sestavení a volat metody, které potřebujete. Tímto způsobem můžete jako vývojář stavět na práci ostatních vývojářů softwaru. Ušetří vám to čas a energii, protože nemusíte sestavovat a udržovat každou funkci sami.

Aplikační architektura kombinuje několik souvisejících knihoven spolu s projekty pro snadný začátek, šablonami souborů, generátory kódu a dalšími nástroji. Tyto prostředky můžete používat k sestavování celých aplikací pro konkrétní účel. Tyto aplikační architektury se označují jako modely aplikací. Například aplikační architektury .NET jsou k dispozici pro oblíbené modely aplikací, jako je vývoj pro web, desktopový a mobilní vývoj a vývoj her.

Sadu .NET SDK můžete nainstalovat přímo nebo instalací sady Visual Studio 2022. Sada .NET SDK předinstaluje ucelenou sadu knihoven a aplikační architektury, které se označují jako knihovna základních tříd. Tuto knihovnu kódu můžete použít ve svých programech bez ohledu na platformu nebo modely aplikací, které chcete sestavit.

Pro ostatní knihovny jiných tvůrců (třetích stran) používají vývojáři správce balíčků, jako je NuGet, pomocí kterých můžou vyhledat a integrovat knihovny kódu z úložišť balíčků, jako je Galerie NuGet.

Jaké jsou hlavní modely aplikací?

Možná vás zajímá, která rozhraní podporují které modely aplikací. V následující tabulce najdete mapování modelů aplikací na architekturu .NET.

Model aplikace Framework Notes
Web ASP.NET Core Architektura pro vytváření serverové logiky.
Web ASP.NET Core MVC Rozhraní pro vytváření serverové logiky pro webové stránky nebo webová rozhraní API.
Web ASP.NET Core Razor Pages Architektura pro vytváření serverem generovaného HTML.
Webový klient Blazor Blazor je součástí ASP.NET Core. Jeho dva režimy umožňují buď manipulaci prostřednictvím modelu DOM (Document Object Model) přes sokety jako komunikačním prostředkem pro spouštění serverového kódu, nebo implementaci WebAssembly pro spouštění zkompilovaného kódu v jazyce C# v prohlížeči.
Desktop .NET pro Mac Umožňuje vývojářům .NET vytvářet aplikace pro zařízení Mac s nativním uživatelským rozhraním a přístupem k rozhraní API.
Desktop WinForms Architektura pro sestavování aplikací ve stylu Windows.
Desktop Windows Presentation Foundation (WPF) Architektura pro sestavování dynamických desktopových aplikací s různým provedením. WPF umožňuje, aby prvky formulářů umožňovaly přesunování, postupné mizení, klouzání a další efekty s využitím bohaté knihovny animací.
Mobilní .NET pro Android Umožňuje vývojářům .NET vytvářet aplikace pro zařízení s Androidem s nativním uživatelským rozhraním a přístupem k rozhraní API.
Mobilní .NET pro iOS Umožňuje vývojářům .NET vytvářet aplikace pro iOS a iPadOS s nativním uživatelským rozhraním a přístupem k rozhraní API.
Uživatelské rozhraní více platforem aplikací .NET MAUI První způsob, jak vytvářet aplikace pro iOS, Android, Mac a Windows z jediného sdíleného základu kódu s nativním uživatelským rozhraním a přístupem k nativním rozhraním API.

.NET také využívá oblíbená vývojová prostředí a moduly pro vývoj her třetích stran a opensourcových her, jako je Unity.

Použití .NET k vytváření aplikací .NET

Vývojáři softwaru používají nástroje pro psaní kódu, přidávají odkazy na knihovny kódu, kompilují kód a ladí kód. Tato část popisuje několik nástrojů .NET, které použijete k vytváření aplikací .NET.

Visual Studio 2022 je stěžejní vývojové prostředí Microsoftu. Miliony vývojářů ho používají k sestavování aplikací platformy .NET. Grafické uživatelské rozhraní (včetně nabídek, oken, vizuálních návrhářů, dialogových oken a průvodců) provede vývojáře procesem vývoje aplikací. Visual Studio 2022 je k dispozici ve třech edicích: Community, Professional a Enterprise. Každá edice zahrnuje jiné nástroje a je licencovaná pro jiné účely.

Visual Studio Code je hlavní editor kódu Microsoftu, který podporuje více programovacích jazyků a podporuje se v systémech Windows, Mac a Linux. Rozšíření sady C# Dev Kit přináší vylepšený vývoj editoru V# do editoru Visual Studio Code a vylepšuje možnosti práce s projekty .NET s podporou průzkumníka řešení, systému projektů, vylepšení a průzkumníka, vývoje s asistencí AI a výkonných jazyků pro nejlepší funkce jazyka C#, jako je navigace v kódu, refaktoring, sémantické povědomí a další.

Vývojáři, kteří dávají přednost práci s příkazovým řádkem, můžou používat kombinaci světově nejoblíbenějšího editoru kódu Visual Studio Code a rozhraní příkazového řádku platformy .NET označovaného také jako .NET CLI.

Kromě toho si můžete vybírat z mnoha nástrojů od Microsoftu a jiných výrobců pro mnoho pokročilých případů použití platformy .NET. Mezi tyto možnosti patří profilery kódu, spouštěče testů jednotek a analyzátory pokrytí kódu.

Pro další scénáře můžete najít další nástroje platformy .NET. Například později v tomto modulu budete pracovat s nástrojem Try .NET. Toto rozhraní založené na prohlížeči použijete k psaní jednoduchých aplikací, které vám pomůžou naučit se programovací jazyk C#.

Hledání řešení a odpovědí v dokumentaci a výukových kurzech

Společnost Microsoft aktivně poskytuje obsáhlou sadu dokumentace, výukových kurzů a školení. Výukové materiály najdete v oblíbených podobách, které vám pomůžou při každém kroku procesu učení.

Následující tabulka obsahuje několik skvělých zdrojů informací, které byste mohli chtít záložky a vrátit se.

Prostředek Účel
Microsoft Learn Poskytuje úvodní kurzy a konečnou referenční dokumentaci.
Vzory a postupy Pomáhají vývojářům a softwarovým architektům najít řešení pro běžné potřeby vývoje aplikací. Zdroje informací jdou často nad rámec podrobností týkající se psaní kódu a zabývají se výběrem produktů a služeb, které umožňují vytvářet zdánlivě nekonečné škálovatelné architektury.
Videa o platformě .NET Výuková videa od týmu platformy .NET. Tato videa provádí vývojáře běžnými scénáři použití.
Začínáme s jazykem C# Poskytuje praktická cvičení, která vám prostřednictvím kombinace pokynů, cvičení, médií, prověrek znalostí a sledování průběhu pomůžou zlepšovat vaše dovednosti.

Učení a sdílení řešení v komunitě platformy .NET

Součástí ekosystému platformy .NET jsou vedle jazyků, knihoven a nástrojů také lidé. Můžete se učit a přispívat do komunity.

  • Učení: Členové komunity platformy .NET pořádají živé online akce a osobní schůzky. Vytváří opensourcový software, účastní se fór pro dotazy a odpovědi a vytváří výuková videa. Píšou knihy a blogové příspěvky, ve kterých se můžete něco naučit a které vám pomůžou, když nevíte, jak dál.
  • Přispívání: Platforma .NET zahrnuje opensourcové prostředky v GitHubu. Projekty v tomto úložišti spravuje .NET Foundation. Tato nezávislá organizace se věnuje vytváření důvěryhodného a komerčně příznivého opensourcového ekosystému kolem vývojové platformy .NET. V tomto úložišti můžete sdílet svůj jedinečný pohled a názory a pomoct ostatním se něco naučit.

Jaký je ekosystém .NET v porovnání s ostatními?

Pokud máte obecný přehled o vývoji softwaru, může vás zajímat, jak si ekosystém .NET vede v porovnání s ostatními. Přiznáváme, že ostatní ekosystémy mohou podobně přicházet s některými nebo mnoha tvrzeními, která jsme zatím v této lekci uvedli.

Jedním z nejvýraznějších rysů platformy .NET je ale to, že její průběžný vývoj a podpora pochází nejen od hlavního vedoucího technologického vedení, ale také od komunity. Významné části platformy .NET byly vyvinuty prostřednictvím opensourcových prostředků. Vstupy a příspěvky komunity jsou vítány a podněcovány. Ve skutečnosti 87 % přispěvatelů není ze společnosti Microsoft. Na základě vstupů z komunity společnost Microsoft tuto platformu aktivně rozšiřuje o vylepšené funkce, opravuje chyby a vylepšuje její výkon. Z komunity bylo přijato více než 100 000 žádostí o přijetí změn.

Ekosystém .NET má navíc potenciál:

  • Vývojářů pro platformu .NET je více než 5 milionů.
  • Výsledky dotazování Stack Overflow konzistentně ukazují, že rozhraní .NET Core a .NET jsou nejoblíbenější architekturou.
  • Platforma .NET je oblíbená mezi studenty. 40 procent vývojářů, kteří začali nově používat platformu .NET, jsou studenti.
  • Úložiště GitHub pro .NET a ASP.NET patří mezi 30 nejrychleji se vyvíjejících projektů pro opensourcový software.
  • GitHub uvádí jazyk C# v prvních pěti programovacích jazycích a jazyk se podle indexu komunity programování TIOBE 2020 zvyšuje.
  • .NET má nejrychlejší webovou architekturu na světě podle srovnávacích testů TechEmpower, což je nezávislá opensourcová sada srovnávacích testů webového výkonu, která měří desítky jazyků a aplikačních architektur.

Stručná historie .NET

Původní platforma .NET Framework byla poprvé vydána na začátku roku 2002. Od té doby následovala spousta aktualizací a mnohem více funkcí. Po letech vylepšování a nových funkcí se původní platforma .NET Framework, zejména klíčové knihovny kódů, výrazně rozrostla.

Od roku 2002 pracovala společnost Microsoft na vytváření verze architektury .NET kompatibilní s více platformami. Cílem bylo umožnit vývojářům psát jeden základ kódu a používat ho v operačních systémech macOS, Linux a Windows.

Výsledkem tohoto úsilí bylo představení platformy .NET Core okolo roku 2014. Microsoft zachoval původní rozhraní .NET Framework, ale nové funkce a vylepšení jsou vyhrazené pro .NET Core. Označení Core bylo později z názvu vypuštěno. Další hlavní verze jsou .NET 5, .NET 6, .NET 7, .NET 8 atd. Verze jsou obecně vydávány každý listopad.

Proč stojí historie platformy .NET za zmínku? Protože pravděpodobně najdete blogové příspěvky, videa a zdrojové kódy, které cílí na původní platformu .NET Framework. V některých případech budou instrukce nebo kód pořád fungovat, ale v jiných případech může být nutné udělat nějaké úpravy, aby to vyhovovalo nové platformě .NET.