stringtranslate.com

.СЕТЬ

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

История

В конце 1990-х годов компания Microsoft начала разработку среды выполнения управляемого кода и языка программирования ( C# ), которые она представила как часть «платформы .NET», при этом основная среда выполнения и библиотеки программного обеспечения составляли .NET Framework .

В основе платформы .NET лежит .NET Framework — высокопроизводительная многоязыковая среда разработки и исполнения для создания и запуска веб-сервисов с такими важными функциями, как кросс-языковое наследование и отладка. [5]

Вскоре после анонса языка C# на конференции Professional Developers Conference в 2000 году и появления предварительных версий его программного обеспечения Microsoft начала работу по стандартизации через ECMA того, что она назвала Common Language Infrastructure . В то же время компания продолжала разрабатывать и поддерживать собственную реализацию в качестве закрытого программного обеспечения .

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

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

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

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

В ноябре 2020 года Microsoft выпустила .NET 5.0. [21] Брендинг «Core» был отменен, а версия 4.0 была пропущена, чтобы избежать смешения с .NET Framework, все последние выпуски которого использовали версию 4.x для всех значимых (не исправленных) выпусков с 2010 года.

В нем рассматриваются патентные проблемы, связанные с .NET Framework [ необходима ссылка ] .

В ноябре 2021 года Microsoft выпустила .NET 6.0, [22] в ноябре 2022 года выпустила .NET 7.0, [23] а в ноябре 2023 года выпустила .NET 8.0. [24]

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

Windows Arm64 изначально поддерживается, начиная с .NET 5. Ранее .NET на ARM означал приложения, скомпилированные для архитектуры x86 и работающие через уровень эмуляции ARM. [30]

Языковая поддержка

.NET использует инфраструктуру общего языка (CLI)

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

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

Архитектура

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

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

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

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

Как реализация стандартных библиотек CLI , [43] CoreFX использует подмножество API .NET Framework, однако он также поставляется со своими собственными API, которые не являются частью .NET Framework. [36] Вариант библиотеки .NET используется для UWP . [44]

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

Диаграмма пакета UML иерархии потоков в .NET

.NET МАУИ

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

Талисман

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

Официальным талисманом сообщества .NET является .NET Bot (стилизованный как «dotnet bot» или «dotnet-bot»). Dotnet bot служил в качестве разработчика-заполнителя для первоначальной проверки исходного кода .NET, когда он был открыт. [47] С тех пор он используется в качестве официального талисмана.

Примечания

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

Ссылки

  1. ^ "Загрузить .NET 8.0" . Получено 13 августа 2024 г. .
  2. ^ "Загрузить .NET 9.0" . Получено 13 августа 2024 г. .
  3. ^ ab "core/LICENSE.TXT". GitHub . Получено 4 июня 2018 г. .
  4. ^ "Загрузить .NET Core". microsoft.com . Microsoft . Получено 31 октября 2017 г. .
  5. ^ «Microsoft представляет первые инструменты разработчика платформы .NET для создания веб-сервисов». 11 июля 2000 г. Получено 5 ноября 2023 г.
  6. ^ «.NET Core — будущее .NET». 6 мая 2019 г.
  7. ^ «.NET Framework умер – да здравствует .NET 5». 7 мая 2019 г.
  8. ^ «Почему компания по разработке .NET может стать идеальным стимулом | Pangea.ai». www.pangea.ai . Получено 8 декабря 2022 г. .
  9. ^ де Икаса, Мигель . «Открытые исходные коды Microsoft .NET и Mono». Личный блог Мигеля де Икаса . Проверено 16 ноября 2014 г.
  10. ^ Ландверт, Иммо (12 ноября 2014 г.). ".NET Core — это проект с открытым исходным кодом". Блог .NET Framework . Microsoft . Получено 30 декабря 2014 г. .
  11. ^ "dotnet/corefx". GitHub . Получено 16 ноября 2014 г. .
  12. ^ "Microsoft/referencesource". GitHub . Получено 16 ноября 2014 г.
  13. Брайт, Питер (27 июня 2016 г.). «.NET Core 1.0 выпущен, теперь официально поддерживается Red Hat». Ars Technica . Condé Nast .
  14. ^ Фоли, Мэри Джо (27 июня 2016 г.). «Microsoft демонстрирует SQL Server, .NET Core на Red Hat Enterprise Linux». ZDNet . CBS Interactive .
  15. ^ "Анонс .NET Core Tools 1.0 | Блог .NET". Blogs.msdn.microsoft.com. 7 марта 2017 г. Получено 18 января 2020 г.
  16. ^ ab "Представляем .NET Core 2.0". Блог .NET . Microsoft. 14 августа 2017 г.
  17. ^ ab "Представляем .NET Core 2.1". Блог .NET . Microsoft. 30 мая 2018 г.
  18. ^ ab "Представляем .NET Core 2.2". Блог .NET . Microsoft. 4 декабря 2018 г.
  19. ^ ".NET Core — будущее .NET". Блог .NET . 6 мая 2019 г. Получено 17 мая 2019 г.
  20. ^ "Что нового в .NET Core 3.0". Документация .NET . Получено 30 декабря 2020 г. .
  21. ^ "Анонсируем .NET 5.0". .NET Blog . 10 ноября 2020 г. . Получено 21 ноября 2020 г. .
  22. ^ ab Lander, Richard (8 ноября 2021 г.). «Анонсируем .NET 6 – самый быстрый .NET на сегодняшний день». Блог .NET . Получено 6 мая 2022 г. .
  23. ^ ab Douglas, Jon (8 ноября 2022 г.). ".NET 7 доступен сегодня". Блог .NET . Получено 13 января 2024 г. .
  24. ^ ab Seth, Gaurav (14 ноября 2023 г.). "Announcing .NET 8". .NET Blog . Получено 13 января 2024 г. .
  25. ^ "Официальная политика поддержки .NET Core". .NET . Microsoft.
  26. ^ "Представляем .NET Core 1.0". Блог .NET . Microsoft. 27 июня 2016 г.
  27. ^ "Представляем .NET Core 1.1". Блог .NET . Microsoft. 16 ноября 2016 г.
  28. ^ "Представляем .NET Core 3.0". Блог .NET . Microsoft. 23 сентября 2019 г.
  29. ^ "Представляем .NET Core 3.1". Блог .NET . Microsoft. 3 декабря 2019 г.
  30. ^ ab "Анонсируем .NET 5.0". Блог .NET . Microsoft. 10 ноября 2020 г.
  31. ^ "Alpine 3.10.0 выпущен | Alpine Linux". alpinelinux.org . Получено 9 июня 2020 г. .
  32. ^ "dotnet/core". GitHub . Получено 9 июня 2020 г. .
  33. ^ ".NET Framework поддерживает различные языки программирования" . Получено 21 апреля 2022 г. .
  34. ^ "Visual Basic в .NET Core 3.0 | Блог Visual Basic". Blogs.msdn.microsoft.com. 12 октября 2019 г. Получено 18 января 2020 г.
  35. ^ "Поддержка Visual Basic запланирована для .NET 5.0 | Блог Visual Basic". Blogs.msdn.microsoft.com. 11 марта 2020 г. Получено 26 августа 2020 г.
  36. ^ abc Картер, Филлип; Кнежевич, Златко (апрель 2016 г.). «.NET Core – .NET становится кроссплатформенным с .NET Core». Журнал MSDN . Microsoft .
  37. ^ Ландер, Рич (7 мая 2018 г.). «.NET Core 3 и поддержка настольных приложений Windows». MSDN . Microsoft .
  38. ^ "Обновления .NET Core 2.1, 3.1 и .NET 5.0 появятся в Центре обновления Microsoft". Блог .NET . 3 декабря 2020 г. Получено 15 декабря 2020 г.
  39. ^ «Понимание .NET Framework, .NET Core, .NET Standard и будущего .NET». www.c-sharpcorner.com . Получено 1 февраля 2021 г. .
  40. ^ Ландверт, Иммо (3 февраля 2015 г.). "CoreCLR теперь с открытым исходным кодом". Блог .NET Framework . Microsoft . Получено 27 февраля 2015 г. .
  41. ^ «Почему RyuJIT? Как было выбрано название?». Блог команды разработчиков nuWave eSolutions . 25 ноября 2014 г. Получено 21 июня 2016 г.
  42. ^ Рамел, Дэвид (31 августа 2020 г.). «Microsoft Survey: Developers Held Back by Lack of 'Native AOT' in .NET Core -». Visual Studio Magazine . Архивировано из оригинала 22 октября 2020 г. . Получено 1 февраля 2021 г. .
  43. ^ Ландверт, Иммо (4 декабря 2014 г.). «Введение в .NET Core». Блог .NET Framework . Microsoft . Получено 27 февраля 2015 г. .
  44. ^ "Введение в .NET Native и CoreRT". GitHub . 23 апреля 2016 г.
  45. ^ "Введение в CLI". GitHub . 23 апреля 2016 г.
  46. ^ "Что такое .NET MAUI? - .NET MAUI". learn.microsoft.com . Получено 8 ноября 2022 г. .
  47. ^ Ван, Абель (9 сентября 2020 г.). Что такое dotnet bot? (Подкаст). Microsoft. Событие происходит на 4 секунде в . Получено 9 марта 2021 г. .

Дальнейшее чтение

Внешние ссылки