Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

.NET (ранее названный .NET ядро ) является свободным и открытым исходным кодом , управляемого компьютером рамки программного обеспечения для ОС Windows , Linux и MacOS операционных систем . [4] Это кроссплатформенный [5] преемник .NET Framework . [6] Проект в основном разработан сотрудниками Microsoft через .NET Foundation и выпущен под лицензией MIT . [3]

История [ править ]

dotnet-bot, талисман сообщества .NET

12 ноября 2014 года Microsoft анонсировала .NET Core, стремясь включить кроссплатформенную поддержку .NET, включая Linux и macOS, исходный код для реализации .NET Core CoreCLR, исходный код для «всего стека библиотек […]» для .NET Core, а также принятие традиционной («базарной») модели разработки с открытым исходным кодом под надёжным руководством .NET Foundation . Мигель де Икаса описывает .NET Core как «переработанную версию .NET, основанную на упрощенной версии библиотек классов» [7]и Иммо Ландверт из Microsoft объяснил, что .NET Core будет «основой всех будущих платформ .NET». На момент объявления первоначальный выпуск проекта .NET Core был засеян подмножеством исходного кода библиотек и совпал с перелицензированием существующего справочного источника Microsoft .NET вдали от ограничений Ms-RSL. Landwerth признал недостатки ранее выбранной общей лицензии, объяснив, что она сделала кодовое имя Rotor «не запускаемым» как разработанный сообществом проект с открытым исходным кодом, поскольку он не отвечал критериям лицензии, одобренной Open Source Initiative (OSI). [8] [9] [10]

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

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

.NET Core 3 был выпущен 23 сентября 2019 года. [17] .NET Core 3 добавляет поддержку разработки настольных приложений Windows [18] и значительно улучшает производительность всей базовой библиотеки.

В ноябре 2020 года Microsoft выпустила .NET 5.0, который заменил .NET Framework . Торговая марка «Core» была удалена, а версия 4.0 была пропущена во избежание смешения с .NET Framework. Он обеспечивает встроенную многоплатформенную поддержку, включая Linux и macOS, и решает проблемы с патентами, связанные с .NET Framework. [19]

.NET Core 2.1 и выше, то есть включая .NET 5, поддерживает Alpine Linux (т.е. musl libc, который он использует [27] ). [28]

Начиная с .NET 5, Windows Arm64 изначально поддерживается. Раньше .NET на ARM фактически эмулировала программы x86. [25]

Языковая поддержка [ править ]

.NET использует Common Language Infrastructure (CLI)

.NET полностью поддерживает C # и F # (а также C ++ / CLI с версии 3.1; включен только в Windows) и поддерживает Visual Basic .NET (для версии 15.5 в .NET Core 5.0.100-preview.4, а также некоторые старые версии поддерживаются в старых версиях. .NET Core).

VB.NET компилируется и работает в .NET, но в .NET Core 3.1 отдельная среда выполнения Visual Basic не реализована. Первоначально Microsoft объявила, что .NET Core 3 будет включать среду выполнения Visual Basic, но через два года график такой поддержки был обновлен до .NET 5. [29] [30]

Архитектура [ править ]

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

.NET поддерживает использование пакетов NuGet . В отличие от .NET Framework , который обслуживается с помощью Центра обновления Windows , .NET полагается на свой диспетчер пакетов для получения обновлений. [31] [32] Однако, начиная с декабря 2020 года, обновления .NET также начали доставляться через Центр обновления Windows. [34]

Два основных компонента .NET являются CoreCLR и CoreFX, которые сопоставимы с Common Language Runtime (CLR) и Class Library Framework (FCL) из .NET Framework «s Common Language Infrastructure (CLI) реализации. [35]

Как CLI-реализация Virtual Execution System (VES), CoreCLR представляет собой полную среду выполнения и виртуальную машину для управляемого выполнения программ CLI и включает в себя своевременный компилятор под названием RyuJIT. [36] [a] .NET Core также содержит CoreRT, среду выполнения .NET Native, оптимизированную для интеграции в скомпилированные собственные двоичные файлы AOT . [38]

В реализации CLI из основополагающих стандартных библиотек , [39] акции CoreFX подмножество .NET Framework API - интерфейсов, однако, он также имеет свои собственные API - интерфейсы , которые не являются частью .NET Framework. [31] Для UWP используется вариант библиотеки .NET . [40]

Интерфейс командной строки .NET предлагает точку входа для выполнения для операционных систем и предоставляет такие услуги разработчика, как компиляция и управление пакетами. [41]

Примечания [ править ]

  1. ^ Префикс «Рю» - это японское слово, означающее «дракон» (竜, ryū ), и отсылка к книге « Составители: принципы, методы и инструменты» (широко известной как «Книга драконов», из раннего дизайна обложки), а также персонажу из видеоигры Street Fighter . [37]

Ссылки [ править ]

  1. ^ https://dotnet.microsoft.com/download/dotnet-core .
  2. ^ https://dotnet.microsoft.com/download/dotnet/6.0 .
  3. ^ a b "core / LICENSE.TXT" . GitHub . Проверено 4 июня 2018 .
  4. ^ "Загрузить .NET Core" . microsoft.com . Microsoft . Проверено 31 октября 2017 года .
  5. ^ «.NET Core - это будущее .NET» .
  6. ^ «.NET Framework мертв - да здравствует .NET 5» .
  7. ^ де Икаса, Мигель . «Microsoft Open Sources .NET и Mono» . Личный блог Мигеля де Икасы . Проверено 16 ноября 2014 года .
  8. ^ Landwerth, Immo (12 ноября 2014). «.NET Core - это открытый исходный код» . Блог .NET Framework . Microsoft . Проверено 30 декабря 2014 года .
  9. ^ "dotnet / corefx" . GitHub . Проверено 16 ноября 2014 года .
  10. ^ "Microsoft / источник ссылок" . GitHub . Проверено 16 ноября 2014 года .
  11. Брайт, Питер (27 июня 2016 г.). «Выпущен .NET Core 1.0, теперь официально поддерживаемый Red Hat» . Ars Technica . Condé Nast .
  12. Фоли, Мэри Джо (27 июня 2016 г.). «Microsoft демонстрирует SQL Server, .NET Core в продуктах Red Hat Enterprise Linux» . ZDNet . CBS Interactive .
  13. ^ "Объявление о .NET Core Tools 1.0 | .NET Blog" . Blogs.msdn.microsoft.com . Проверено 18 января 2020 .
  14. ^ a b «Объявление .NET Core 2.0» . Блог .NET. 14 августа 2017.
  15. ^ a b «Представляем .NET Core 2.1» . blogs.msdn.microsoft.com . Проверено 15 февраля 2019 .
  16. ^ a b «Представляем .NET Core 2.2» . blogs.msdn.microsoft.com . Проверено 15 февраля 2019 .
  17. ^ «.NET Core - это будущее .NET» . Блог .NET . 2019-05-06 . Проверено 17 мая 2019 .
  18. ^ «Что нового в .NET Core 3.0» . Документация .NET . Проверено 30 декабря 2020 .
  19. ^ "Объявление .NET 5.0" . Блог .NET . 10 ноября 2020 . Проверено 21 ноября 2020 .
  20. ^ «Официальная политика поддержки .NET Core» . .NET . Microsoft.
  21. ^ «Объявление .NET Core 1.0» . Блог .NET . Microsoft. 27 июня 2016 г.
  22. ^ «Объявление .NET Core 1.1» . Блог .NET . Microsoft. 16 ноября 2016 г.
  23. ^ «Объявление .NET Core 3.0» . Блог .NET . Microsoft. 23 сентября 2019.
  24. ^ «Объявление .NET Core 3.1» . Блог .NET . Microsoft. 3 декабря 2019.
  25. ^ a b c «Объявление .NET 5.0» . Блог .NET . Microsoft. 10 ноября 2020.
  26. ^ a b c «Знакомство с .NET 5» . Блог .NET . 2019-05-06 . Проверено 9 января 2021 .
  27. ^ "Выпущена Alpine 3.10.0 | Alpine Linux" . alpinelinux.org . Проверено 9 июня 2020 .
  28. ^ "dotnet / core" . GitHub . Проверено 9 июня 2020 .
  29. ^ "Visual Basic в .NET Core 3.0 | Блог о Visual Basic" . Blogs.msdn.microsoft.com. 2019-10-12 . Проверено 18 января 2020 .
  30. ^ «Поддержка Visual Basic планируется для .NET 5.0 | Блог о Visual Basic» . Blogs.msdn.microsoft.com. 2020-03-11 . Проверено 26 августа 2020 .
  31. ^ a b c Картер, Филипп; Кнежевич, Златко (апрель 2016 г.). «.NET Core - .NET становится кроссплатформенным с .NET Core» . Журнал MSDN . Microsoft .
  32. ^ a b Шмельцер, Джей (18 ноября 2015 г.). «Обзор .NET 2015» . Канал 9 . Microsoft . 0:07:32.
  33. Lander, Rich (7 мая 2018 г.). «.NET Core 3 и поддержка настольных приложений Windows» . MSDN . Microsoft .
  34. ^ «Обновления .NET Core 2.1, 3.1 и .NET 5.0 поступают в Центр обновления Майкрософт» . Блог .NET . 2020-12-03 . Проверено 15 декабря 2020 .
  35. ^ «Понимание .NET Framework, .NET Core, .NET Standard и будущего .NET» . www.c-sharpcorner.com . Проверено 1 февраля 2021 .
  36. ^ Landwerth, Immo (3 февраля 2015). «CoreCLR теперь с открытым исходным кодом» . Блог .NET Framework . Microsoft . Проверено 27 февраля 2015 года .
  37. ^ "Почему RyuJIT? Как было выбрано название?" . Блог группы разработчиков nuWave eSolutions . Проверено 21 июня +2016 .
  38. ^ Рамель, Дэвид; 31.08.2020. «Опрос Microsoft: сдерживание разработчиков из-за отсутствия« собственного AOT »в .NET Core -» . Журнал Visual Studio . Архивировано 22 октября 2020 года . Проверено 1 февраля 2021 .CS1 maint: numeric names: authors list (link)
  39. ^ Landwerth, Immo (4 декабря 2014). «Знакомство с .NET Core» . Блог .NET Framework . Microsoft . Проверено 27 февраля 2015 года .
  40. ^ «Введение в .NET Native и CoreRT» . 23 апреля 2016 г.
  41. ^ «Введение в интерфейс командной строки» . 23 апреля 2016 г.

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Обзор .NET Framework (MSDN)
  • Репозиторий .NET Github