.NET — це безкоштовна та з відкритим вихідним кодом платформа для розробки програмного забезпечення, яка підтримує кілька мов програмування, бібліотек та інструментів для створення застосунків під різні операційні системи, такі як Windows, Linux та macOS. Вона була розроблена компанією Microsoft та офіційно випускається через .NET Foundation за ліцензією MIT[2].

.NET
ТипПрограмна платформа
Розробник.NET Foundation і open-source ком'юніті
Перший випуск10 листопада 2020; 4 роки тому (2020-11-10)
Стабільний випуск8.0 (10 листопада 2020; 4 роки тому (2020-11-10))
Нестабільний випуск8.0.0-rc.1 (14 вересня 2023; 14 місяців тому (2023-09-14))
Операційна системаБагатоплатформність
Мова програмуванняC++, C#, F#, VB.NET
ЛіцензіяMIT[1]
Репозиторійhttps://github.com/dotnet/core, https://github.com/dotnet/runtime
Вебсайтdotnet.microsoft.com

На відміну від своїх попередників, .NET Framework і .NET Core, платформа .NET є сучасною кросплатформною екосистемою для розробки застосунків. .NET Framework був обмежений виключно операційною системою Windows, тоді як .NET Core став першим кроком до кросплатформенності, підтримуючи Windows, Linux та macOS. .NET продовжує розвиток .NET Core, об'єднуючи його можливості з підтримкою різноманітних платформ, що дозволяє розробникам створювати сучасні веб-, мобільні та серверні застосунки для різних операційних систем з єдиною базою коду.

Історія

ред.

12 листопада 2014 року Microsoft оголосила про створення .NET Core, намагаючись включити кросплатформну підтримку для .NET, у тому числі в Linux і macOS, джерело. Мігель де Ікаса описує .NET Core як «перероблена версія .NET, яка базується на спрощеній версії бібліотек класів»[3], і Іммо Ландверт з Microsoft пояснив, що .NET Core буде «основою всього майбутнього. NET-платформи».

На момент оголошення початковий випуск проєкту .NET Core був заповнений підмножиною вихідного коду бібліотек і збігався з переліцензуванням існуючого довідкового джерела .NET від Microsoft без обмежень Ms-RSL. Ландверт визнав недоліки раніше обраної спільної ліцензії, пояснивши, що це зробило кодову назву Rotor «непочатковим» як проєкт із відкритим кодом, розроблений спільнотою, оскільки він не відповідав критеріям схваленої ліцензії Open Source Initiative (OSI).[4][5][6]

.NET Core 1.0 став доступним 27 червня 2016 року,[7] разом з Microsoft Visual Studio 2015 Update 3, який містив розробку за допомогою .NET Core.[8] .NET Core 1.0.4 і .NET Core 1.1.1 були випущені разом з .NET Core Tools 1.0 і Visual Studio 2017 7 березня 2017.[9]

.NET Core 2.0 було випущено 14 серпня 2017 року разом із Visual Studio 2017 15.3, ASP.NET Core 2.0 і Entity Framework Core 2.0.[10] .NET Core 2.1 було випущено 30 травня 2018 року.[11] .NET Core 2.2 було випущено 4 грудня 2018 року.[12]

.NET Core 3 було випущено 23 вересня 2019 року.[13] .NET Core 3 додає підтримку розробки додатків для настільних комп'ютерів Windows[14] і суттєві покращення продуктивності базової бібліотеки.

У листопаді 2020 року Microsoft випустила .NET 5.0.[15] Брендування «Core» було видалено, а версію 4.0 було пропущено, щоб уникнути змішування з . NET Framework, який залишається продуктом для Windows.

У листопаді 2021 року Microsoft випустила .NET 6.0[16], а в листопаді 2022 року. NET 7.0[17], але лише .NET 6 має довгострокову підтримку (LTS).

Version Release date Released with Latest update Latest update date Support ends[18]
Old version, no longer supported: .NET 5 02020-11-1010 листопада 2020[19] Visual Studio 2019 Version 16.8 5.0.17 02022-05-1010 травня 2022 02022-05-1010 травня 2022
Older version, yet still supported: .NET 6 02021-11-088 листопада 2021[20] Visual Studio 2022 Version 17.0 6.0.21 (LTS) 02023-08-088 серпня 2023 02024-11-1212 листопада 2024
Current stable version: .NET 7 02022-11-088 листопада 2022[17] Visual Studio 2022 Version 17.4 7.0.10 02023-08-088 серпня 2023 02024-05-1414 травня 2024
Latest preview version of a future release: .NET 8 02023-11-1414 листопада 2023[21] Visual Studio 2022 Version 17.8 8.0 LTS 02023-11-1414 листопада 2023 02026-11-1010 листопада 2026
Future release: .NET 9 02024-11листопада 2024 (projected) 02026-05травня 2026 (projected)
Легенда:
Стара версія
Стара версія, все ще підтримується
Остання версія
Остання бета-версія
Майбутній реліз

Alpine Linux, який переважно підтримує та використовує musl libc,[22] підтримується з версії .NET Core 2.1.[23]

Windows Arm64 підтримується з .NET 5. Раніше, .NET на ARM були просто програмами на x86, які запускаються за допомогою ARM емуляції.[24]

.NET MAUI

ред.

Багатоплатформовий додаток .NET з інтерфейсом (.NET Multi-platform App UI) (.NET MAUI, був представлений разом з .NET 6) — це кросплатформена основа для створення власних програм для мобільних і настільних комп'ютерів за допомогою C# і розширюваній мові розмітки програм (XAML),[25] яка також підтримує Android та iOS.

Підтримка мови

ред.
 
. NET використовує загальну мовну інфраструктуру (CLI)

.NET повністю підтримує C# і F#C++/CLI від 3.1; підтримується лише в Windows) і підтримує Visual Basic. NET (для версії 15.5 у .NET Core 5.0.100-preview.4 і деякі старі версії, які підтримуються в старших версіях .NET Core).[26]

VB.NET компілюється та працює на .NET, але станом на .NET Core 3.1, окреме середовище виконання Visual Basic не реалізовано. Microsoft спочатку оголосила, що .NET Core 3 включатиме Visual Basic Runtime, але через два роки графік такої підтримки було оновлено до .NET 5.[27][28]

Архітектура

ред.

.NET підтримує наступні кросплатформні сценарії: вебпрограми на ASP.NET Core, CLI програми, бібліотеки та програми універсальної платформи Windows. До .NET Core 3.0, не було підтримки Windows Forms або Windows Presentation Foundation (WPF), які відображають стандартний графічний інтерфейс для настільного програмного забезпечення в Windows.[29] Однак, починаючи з версії .NET Core 3, він почав впроваджувати їх разом з універсальною платформою Windows (UWP).[30] Також можна писати кросплатформні графічні програми за допомогою .NET використовуючи набір інструментів GTK.

.NET підтримує використання пакетів NuGet. На відміну від .NET Framework, яка обслуговується за допомогою Windows Update, .NET покладається на свій менеджер пакетів для отримання оновлень[29]. Однак із грудня 2020 року, оновлення .NET також почали надходити через Windows Update.[31]

Два основних компоненти .NET — це CoreCLR і CoreFX, які можна порівняти з Common Language Runtime (CLR) і Framework Class Library (FCL) - реалізації спільної мовної інфраструктури (CLI) NET Framework.[32]

Бувши реалізацією віртуальної системи виконання CLI (VES), CoreCLR є повним середовищем виконання та віртуальною машиною для керованого виконання програм CLI та включає оперативний компілятор під назвою RyuJIT.[33][a] .NET Core також містить CoreRT, .NET Native середовищу виконання, оптимізоване для інтеграції в скомпільовані двійкові файли AOT.[35]

Інтерфейс командного рядка .NET пропонує точку входу для старту операційних систем і надає такі можливості для розробника, як компіляція та керування пакетами.[36]

 
Діаграма пакета UML ієрархії потоків у . NET

Талісман

ред.
 
dotnet bot, талісман спільноти для . NET

Талісман спільноти .NET — це .NET бот (може писатися як «dotnet-bot» або «dotnet bot»). dotnet bot був як інструмент для перевірки коду, котрий пушиться в .NET, коли той став відкритим кодом.[37] Відтоді він використовується як офіційний талісман.

Подальше читання

ред.
  • Arif, Hammad; Qureshi, Habib (2020). Adopting .NET 5: Understand modern architectures, migration best practices, and the new features in .NET 5. Packt Publishing. ISBN 978-1800560567.
  • Metzgar, Dustin (2018). .NET Core in Action. Manning Publications. ISBN 978-1617294273.
  • Price, Mark J. (2021). C# 10 and .NET 6 – Modern Cross-Platform Development. Packt Publishing. ISBN 978-1801077361.
  • Price, Mark J. (2020). C# 9 and .NET 5 – Modern Cross-Platform Development. Packt Publishing. ISBN 978-1800568105.
  • Price, Mark J. (2019). C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development. Packt Publishing. ISBN 978-1788478120.
  • Price, Mark J. (2017). C# 7.1 and .NET Core 2.0 – Modern Cross-Platform Development. Packt Publishing. ISBN 978-1788398077.
  • Price, Mark J. (2017). C# 7 and .NET Core: Modern Cross-Platform Development. Packt Publishing. ISBN 978-1787129559.
  • Price, Mark J. (2016). C# 6 and .NET Core 1.0: Modern Cross-Platform Development. Packt Publishing. ISBN 978-1785285691.
  • Zimarev, Alexey (2019). Hands-On Domain-Driven Design with .NET Core. Packt Publishing. ISBN 978-1788834094.

Див. також

ред.

Коментарі

ред.
  1. Префікс «Рю» — це японське слово, що означає «дракон» (竜, ryū), і є посиланням на книгу «Упорядники: принципи, методи та інструменти» (широко відому як «Книга дракона», з раннього дизайну обкладинки), як а також персонажу з відеогри Street Fighter.[34]

Джерела

ред.
  1. core/LICENSE.TXT. GitHub. Процитовано 4 червня 2018.
  2. .NET. dotnet.microsoft.com (англ.). Microsoft. {{cite web}}: |first= з пропущеним |last= (довідка)
  3. de Icaza, Miguel. Microsoft Open Sources .NET and Mono. Personal blog of Miguel de Icaza. Процитовано 16 листопада 2014.
  4. Landwerth, Immo (12 листопада 2014). .NET Core is Open Source. .NET Framework Blog. Microsoft. Процитовано 30 грудня 2014.
  5. dotnet/corefx. GitHub. Процитовано 16 листопада 2014.
  6. Microsoft/referencesource. GitHub. Процитовано 16 листопада 2014.
  7. Bright, Peter (27 червня 2016). .NET Core 1.0 released, now officially supported by Red Hat. Ars Technica. Condé Nast.
  8. Foley, Mary Jo (27 червня 2016). Microsoft showcases SQL Server, .NET Core on Red Hat Enterprise Linux deliverables. ZDNet. CBS Interactive.
  9. Announcing .NET Core Tools 1.0 | .NET Blog. Blogs.msdn.microsoft.com. 7 березня 2017. Процитовано 18 січня 2020.
  10. Announcing .NET Core 2.0. .NET Blog. Microsoft. 14 серпня 2017.
  11. Announcing .NET Core 2.1. .NET Blog. Microsoft. 30 травня 2018.
  12. Announcing .NET Core 2.2. .NET Blog. Microsoft. 4 грудня 2018.
  13. .NET Core is the Future of .NET. .NET Blog (амер.). 6 травня 2019. Процитовано 17 травня 2019.
  14. What's new in .NET Core 3.0. .NET documentation (амер.). Процитовано 30 грудня 2020.
  15. Announcing .NET 5.0. .NET Blog (амер.). 10 листопада 2020. Процитовано 21 листопада 2020.
  16. Lander, Richard (8 листопада 2021). Announcing .NET 6 – The Fastest .NET Yet. .NET Blog (амер.). Процитовано 6 травня 2022.
  17. а б Douglas, Jon (8 листопада 2022). .NET 7 is Available Today. .NET Blog (амер.). Процитовано 7 грудня 2022.
  18. .NET Core official support policy. .NET. Microsoft.
  19. Announcing .NET 5.0. .NET Blog. Microsoft. 10 листопада 2020.
  20. Announcing .NET 6. .NET Blog. Microsoft. 8 листопада 2021.
  21. .NET Release Notes. Github. 12 вересня 2023. Процитовано 30 травня 2023.
  22. Alpine 3.10.0 released | Alpine Linux. alpinelinux.org. Процитовано 9 червня 2020.
  23. dotnet/core. GitHub (англ.). Процитовано 9 червня 2020.
  24. Announcing .NET 5.0. .NET Blog. Microsoft. 10 листопада 2020.
  25. What is .NET MAUI? - .NET MAUI. learn.microsoft.com (амер.). Процитовано 8 листопада 2022.
  26. .NET framework supports different programming languages. Процитовано 21 квітня 2022.
  27. Visual Basic in .NET Core 3.0 | Visual Basic Blog. Blogs.msdn.microsoft.com. 12 жовтня 2019. Процитовано 18 січня 2020.
  28. Visual Basic support planned for .NET 5.0 | Visual Basic Blog. Blogs.msdn.microsoft.com. 11 березня 2020. Процитовано 26 серпня 2020.
  29. а б Carter, Phillip; Knezevic, Zlatko (April 2016). .NET Core – .NET Goes Cross-Platform with .NET Core. MSDN Magazine. Microsoft.
  30. Lander, Rich (7 травня 2018). .NET Core 3 and Support for Windows Desktop Applications. MSDN. Microsoft.
  31. .NET Core 2.1, 3.1, and .NET 5.0 updates are coming to Microsoft Update. .NET Blog (амер.). 3 грудня 2020. Процитовано 15 грудня 2020.
  32. Understanding .NET Framework, .NET Core, .NET Standard And Future .NET. www.c-sharpcorner.com (англ.). Процитовано 1 лютого 2021.
  33. Landwerth, Immo (3 лютого 2015). CoreCLR is now Open Source. .NET Framework Blog. Microsoft. Процитовано 27 лютого 2015.
  34. Why RyuJIT? How was the name chosen?. nuWave eSolutions Development Team Blog. 25 листопада 2014. Процитовано 21 червня 2016.
  35. Ramel, David (31 серпня 2020). Microsoft Survey: Developers Held Back by Lack of 'Native AOT' in .NET Core -. Visual Studio Magazine (амер.). Архів оригіналу за 22 жовтня 2020. Процитовано 1 лютого 2021.
  36. Intro to CLI. GitHub. 23 квітня 2016.
  37. Wang, Abel (9 вересня 2020). What is the dotnet bot? (Podcast). Microsoft. Подія сталася на 4 seconds in. Процитовано 9 березня 2021.