Очікує на перевірку

.NET Core

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
.NET Core
ТипПрограмна платформа
Розробник.NET Foundationі open-source ком'юніті
Перший випуск27 червня2016;8 років тому(2016-06-27)
Стабільний випуск3.1 (19 березня2019;5 років тому(2019-03-19))
Операційна системаБагатоплатформність
Мова програмуванняC++,C#,F#
ЛіцензіяMIT[1]
Вебсайтdotnet.microsoft

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

.NET Core містить у собі CoreFX, яка становить собою часткове відгалуження FCL (стандартна бібліотека класів.NET фреймворку) Реалізації усіх класів також відкриті та доступні на GitHub[5].У той час як.NET Core розділяє підмножину API.NET Framework, він містить також власний API, який не є частиною.NET Framework. Крім того.NET Core містить CoreRT, оптимізований під інтеграцію в АОТ(компіляція перед виконанням) бінарні файли. Варіант бібліотеки.NET Core використовується для UWP (універсальна платформа Windows). UWP платформа створена Microsoft і вперше представлена в Windows 10. Метою даної платформи є допомога у створенні універсальних додатків Windows, що запускаються як на Windows 10, так і наWindows 10 Mobileбез зміни в коді.Інтерфейс командного рядка.NET Core пропонує точку входу для операційних систем і надає послуги для розробників, такі як компіляція і пакети управління.

.NET Core підтримує чотири крос-платформних сценарії: ASP.NET Core веб-аплікації, консольні додатки, бібліотеки і UWP (універсальна платформа Windows) додатки. Він не реалізує Windows Forms або WPF, які створюють стандартний графічний інтерфейс для настільних ПК на Windows..NET Core модульна платформа, а це означає, що замість збірок, розробники працюють з пакетамиNuGet.

На відміну від.NET Framework, який обслуговується за допомогою служби Windows Update,.NET Core залежить від його менеджера пакетів при отриманні оновлень.

Історія

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

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

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

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

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

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

Version Release date Released with Latest update Latest update date Support ends[18]
Old version, no longer supported:.NET Core 1.0 02016-06-2727 червня2016[19] Visual Studio 2015Update 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[20] Visual Studio 2017Version 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[21] 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[22] 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[23] Visual Studio 2019Version 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[24] 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[25] Visual Studio 2019 Version 16.4 3.1.32 (LTS) 02022-12-1313 грудня2022 02022-12-1313 грудня2022
Легенда:
Стара версія
Стара версія, все ще підтримується
Остання версія
Остання бета-версія
Майбутній реліз

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

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

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

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

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

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

Архітектура

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

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

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

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

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

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

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

Талісман

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

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

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

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

Див. також

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

Коментарі

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

Джерела

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