.NET
.NET ("dot net", predtým známy ako .NET Core), je voľná a open source platforma na vývoj softvéru pre Windows, Linux a macOS. Dá sa využiť aj na tvorbu aplikácií pre Android a iOS. Jej vývoj zastrešuje nezisková organizácia .NET Foundation a na jeho vývoji sa podieľajú dobrovoľní programátori (veľký počet je ale z Microsoftu). Jej zdrojový kód je voľne dostupný pod licenciou MIT.[1]
.NET | |
Logo | |
Základné informácie | |
---|---|
Vývojár | .NET Foundation a komunita |
Uvedenie | 27.6.2016 |
Posledná stabilná verzia | 7.0.5 (11.4.2023) |
Repozitár | https://github.com/dotnet/core |
Vyvinutý v | C++, C# |
Operačný systém | Windows, macOS, Linux, Android, iOS |
Licencia | MIT |
Ďalšie odkazy | |
Webová stránka | http://dotnet.microsoft.com/ |
Pozri aj Informačný portál |
.NET nahrádza starší .NET Framework od Microsoftu, ktorý bol dostupný iba pre platformy Windows. Má byť jeho moderným a výkonnejším nástupcom.[2] Celá platforma pozostáva z viacerých dielov: Common Language Runtime (behové prostredie pre všetky .NET aplikácie), Roslyn kompilátor, dotnet rozhranie v príkazovom riadku, štandardné knižnice a podpora pre tri programovacie jazyky: C#, F# a Visual Basic.[1] Existujú aj iné jazyky ktoré môžu používať platformu .NET, ale tie dnes nie sú priamo podporované autormi platformy.[3]
História
upraviťV Júni 2016 bol vydaný .NET Core, spolu s knižnicou na tvorbu webových aplikácii ASP.NET Core a knižnicou na prácu s objektami v databáze Entity Framework Core. Všetky tri vo verzii 1.0. Tieto tri softvérové riešenia slúžili ako otvorená a viac výkonná alternatíva ku .NET Framework, ktorý bol v tom čase len pre platformy Windows a nemal otvorený zdrojový kód.[4] Nasledovali ďalšie verzie a od verzie 5, sa .NET Core premenoval len na .NET.[5] Microsoft ohlásil, že .NET Framework už nebude dostávať nové aktualizácie s výnimkou opráv kritických bezpečnostných chýb. Microsoft odporúča nové projekty začínať na tejto novej platforme, .NET Framework je podporovaný len pre staré projekty, ktoré už na ňom fungujú.[2]
Nová stabilná verzia platformy je vydaná približne raz ročne. Každá druhá verzia má predĺženú podporu (long-term support), ktorá zaručuje bezpečnostné opravy a podporu na 3 roky, namiesto štandardných 18 mesiacov.[6]
Architektúra
upraviť.NET pri kompilácii programu nevytvára strojový kód pre konkrétnu platformu. Namiesto toho, každý program napísaný v hociktorom z podporovaných jazykov, je pri spustení skompilovaný do medzijazyku (intermediary language alebo IL). Tento medzikód je potom spustený cez behové prostredie ktoré ho prekladá za chodu do strojového kódu pre konkrétnu platformu na ktorom program beží (takzvaná just-in-time kompilácia). Preto je na spustenie akéhokoľvek .NET programu, potrebné mať na počítači nainštalované toto behové prostredie (.NET Runtime).[7]
.NET používa na správu pamäte garbage collection, takže behové prostredie samo uvoľňuje pamäť, ktorá sa uź nebude používať. Preto sa aj .NET kód nazýva manažovaný kód. Manažovaný kód sa ale môže pristupovať aj ku knižniciam, ktoré sú nemanažované, teda rovno predkompilované pre konkrétnu platformu (napríklad napísané v jazyku C alebo C++). Tam ale .NET nevie zaručiť, že nedojde k chybám ktoré sa vyskytujú pri manuálnej práci s pamäťou.[8]
Ekosystém
upraviťOkrem samotnej .NET platformy, .NET Foundation vyvíja aj rôzne knižnice a vývojové rámce, ktoré pomáhajú s vývojom aplikácií:
- ASP.NET Core je vývojový rámec na tvorbu webových aplikácií a stránok.[9] Je považovaný za jeden z najrýchlejších dostupných webových platform.[10]
- Entity Framework Core je knižnica na mapovanie objektov v pamäti programu na tabuľky v relačných databázach a naopak. Takzvaný object-relational mapping alebo ORM.[11]
- MAUI je knižnica na tvorbu multiplatformových používateľských rozhraní pre počítačové a mobilné platformy.[12]
.NET obsahuje aj správcu balíčkov NuGet ktorý umožňuje sťahovať otvorené knižnice pre .NET publikované hocikým.[13]
Referencie
upraviť- ↑ a b https://learn.microsoft.com/en-us/dotnet/core/introduction
- ↑ a b https://learn.microsoft.com/en-us/dotnet/standard/choosing-core-framework-server
- ↑ https://www.ibm.com/docs/en/db2/11.5?topic=routines-net-common-language-runtime-clr
- ↑ https://devblogs.microsoft.com/dotnet/announcing-net-core-1-0/
- ↑ https://devblogs.microsoft.com/dotnet/announcing-net-5-0/
- ↑ https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core/
- ↑ Definition of CLI (Common Language Infrastructure) - Gartner Information Technology Glossary [online]. Gartner, [cit. 2023-04-19]. Dostupné online. (po anglicky)
- ↑ Difference between Managed and Unmanaged code in .NET [online]. 2019-04-24, [cit. 2023-04-19]. Dostupné online. (po anglicky)
- ↑ What is ASP.NET? | .NET [online]. Microsoft, [cit. 2023-04-19]. Dostupné online. (po anglicky)
- ↑ GORSKI, Dustin Moris. How fast is ASP.NET Core? [online]. dusted.codes, [cit. 2023-04-19]. Dostupné online. (po anglicky)
- ↑ AJCVICKERS. Overview of Entity Framework Core - EF Core [online]. learn.microsoft.com, [cit. 2023-04-19]. Dostupné online. (po anglicky)
- ↑ .NET Multi-platform App UI (.NET MAUI) | .NET [online]. Microsoft, [cit. 2023-04-19]. Dostupné online. (po anglicky)
- ↑ JONDOUGLAS. NuGet documentation [online]. learn.microsoft.com, [cit. 2023-04-19]. Dostupné online. (po anglicky)