.NET Core

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

.NET (вимовляється як «дот нет»; раніше називався .NET Core) — це безплатне кероване програмне забезпечення з відкритим кодом для операційних систем Windows, Linux і macOS.[2] Це кросплатформна[3] заміна.NET Framework.[4] Проєкт в основному розроблено співробітниками Microsoft за допомогою .NET Foundation і випущено за ліцензією MIT.

Історія[ред. | ред. код]

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

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

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

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

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

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

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

Version Release date Released with Latest update Latest update date Support ends[20]
Old version, no longer supported: .NET Core 1.0 02016-06-2727 червня 2016[21] Visual Studio 2015 Update 3 1.0.16 02019-05-1414 травня 2019 02019-06-2727 червня 2019
Old version, no longer supported: .NET Core 1.1 02016-11-1616 листопада 2016[22] Visual Studio 2017 Version 15.0 1.1.13 02019-05-1414 травня 2019 02019-06-2727 червня 2019
Old version, no longer supported: .NET Core 2.0 02017-08-1414 серпня 2017[23] Visual Studio 2017 Version 15.3 2.0.9 02018-07-1010 липня 2018 02018-10-011 жовтня 2018
Old version, no longer supported: .NET Core 2.1 02018-05-3030 травня 2018[24] Visual Studio 2017 Version 15.7 2.1.39 (LTS) 02023-07-1111 липня 2023 02021-08-2121 серпня 2021
Old version, no longer supported: .NET Core 2.2 02018-12-044 грудня 2018[25] Visual Studio 2019 Version 16.0 2.2.8 02019-11-1919 листопада 2019 02019-12-2323 грудня 2019
Old version, no longer supported: .NET Core 3.0 02019-09-2323 вересня 2019[26] Visual Studio 2019 Version 16.3 3.0.3 02020-02-1818 лютого 2020 02020-03-033 березня 2020
Old version, no longer supported: .NET Core 3.1 02019-12-033 грудня 2019[27] Visual Studio 2019 Version 16.4 3.1.32 (LTS) 02022-12-1313 грудня 2022 02022-12-1313 грудня 2022
Old version, no longer supported: .NET 5 02020-11-1010 листопада 2020[28] 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[29] 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[19] 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
RC.1
02023-11-1414 листопада 2023[30] 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,[31] підтримується з версії .NET Core 2.1.[32]

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

Підтримка мови[ред. | ред. код]

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

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

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

Архітектура[ред. | ред. код]

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

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

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

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

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

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

.NET MAUI[ред. | ред. код]

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

Талісман[ред. | ред. код]

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

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

Примітки[ред. | ред. код]

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

Посилання[ред. | ред. код]

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

Подальше читання[ред. | ред. код]

  • 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.

Посилання[ред. | ред. код]