Список библиотек и фреймворков .NET

редактировать
Статья списка Викимедиа

Эта статья содержит список библиотек который можно использовать в языках.NET. Эти языки требуют .NET Framework или .NET Core, которые обеспечивают основу для разработки программного обеспечения, независимости от платформы, языковой совместимости и обширных библиотек фреймворка. Стандартные библиотеки (включая библиотеку базовых классов ) не включены в эту статью.

Содержание
  • 1 Преамбула
    • 1.1 Реализации.NET
  • 2 Веб-фреймворки
  • 3 Числовые библиотеки
    • 3.1 Цифровые библиотеки с открытым исходным кодом
    • 3.2 Собственные числовые библиотеки
  • 4 Трехмерная графика
    • 4.1 Трехмерная графика с открытым исходным кодом
    • 4.2 Собственная трехмерная графика
  • 5 Обработка изображений
  • 6 Графический интерфейс пользователя
  • 7 Обеспечение качества
  • 8 Объектно-реляционное сопоставление
  • 9 Примечания
  • 10 ссылок
  • 11 Внешние ссылки
Преамбула

Приложения, созданные с помощью.NET Framework или.NET Core, запускаются в программной среде, известной как Common Language Runtime (CLR), виртуальная машина приложения, которая предоставляет такие услуги, как безопасность, управление памятью и обработка исключений. Платформа включает большую библиотеку классов под названием Framework Class Library (FCL).

Благодаря виртуальной машине хоста разные .NET CLI-совместимые языки могут работать с одними и теми же структурами данных. Следовательно, все языки, совместимые с CLI, могут использовать FCL и другие библиотеки.NET, написанные на одном из языков, совместимых с CLI. Когда исходный код CLI-совместимого языка компилируется, компилятор генерирует платформенно-независимый код на Common Intermediate Language (CIL, также называемый байт-кодом ), который сохраняется в сборках CLI. При запуске приложения.NET оперативный компилятор (JIT) превращает код CIL в машинный код для конкретной платформы. Для повышения производительности.NET Framework также поставляется с Native Image Generator (NGEN), который выполняет предварительную компиляцию в машинный код.

Эта архитектура обеспечивает языковую совместимость. Каждый язык может использовать код, написанный на других языках. Вызовы с одного языка на другой точно такие же, как и в пределах одного языка программирования. Если библиотека написана на одном языке интерфейса командной строки, ее можно использовать на других языках интерфейса командной строки. Более того, приложения, которые состоят только из чистых сборок.NET, могут быть перенесены на любую платформу, которая содержит реализацию CLI, и запущены на этой платформе. Например, приложения, написанные с использованием.NET Core, могут работать в Windows, macOS и различных версиях приложений Linux.

.NET или их библиотек, однако могут зависеть от функций собственной платформы, например COM. Таким образом, независимость приложений.NET от платформы зависит от возможности переноса необходимых собственных библиотек на целевые платформы. До 2019 г. части.NET Framework Windows Forms и Windows Presentation Foundation были недоступны на других платформах.

Реализации.NET

Существует четыре основных Реализации.NET, которые активно разрабатываются и обслуживаются:

  • .NET Framework : Исходная реализация.NET, существующая с 2002 года. Хотя это еще не прекращено, Microsoft не планирует выпускать следующую основную версию, 5.0.
  • .NET Core :A кроссплатформенная повторная реализация.NET Framework, представленная в 2016 году. Это бесплатно и с открытым исходным кодом. Microsoft планирует объединить с ним.NET Framework.
  • Mono : Кросс-платформенная реализация.NET Framework от Ximian, представленная в 2004 году. Она бесплатна и имеет открытый исходный код.. Сейчас он разработан Xamarin, дочерней компанией Microsoft.
  • Универсальная платформа Windows (UWP): Реализация.NET, используемая для создания приложений UWP. Он предназначен для унификации разработки для различных целевых типов устройств, включая ПК, планшеты, фаблеты, телефоны и Xbox.

Каждая реализация.NET включает следующие компоненты:

  • Одна или несколько сред выполнения, например CLR для.NET Framework и CoreCLR для.NET Core
  • Библиотека классов

.NET Standard - это набор общих API, которые реализованы в библиотеке базовых классов любой реализации.NET. Библиотека классов каждой реализации должна реализовывать.NET Standard, но может также реализовывать дополнительные API. Традиционно приложения.NET нацелены на определенную версию реализации.NET, например.NET Framework 4.6. Начиная с.NET Standard, приложение может нацеливаться на версию.NET Standard, а затем оно может использоваться (без перекомпиляции) любой реализацией, поддерживающей этот уровень стандарта. Это обеспечивает переносимость между различными реализациями.NET.

В следующей таблице перечислены реализации.NET, соответствующие стандарту.NET Standard, а также номер версии, с которой каждая реализация стала совместимой с данной версией.NET Standard. Например, согласно этой таблице,.NET Core 3.0 была первой версией.NET Core, которая соответствовала.NET Standard 2.1. Это означает, что любая версия.NET Core выше 3.0 (например,.NET Core 3.1) также соответствует.NET Standard 2.1.

РеализацияВерсии стандарта.NET
1.01.11.21.31.41,51,62,02,1
.NET Core 1,02,03,0
.NET Framework 4.54.54.5.14.64.6.14.7. 24.7.24.7.2Н / Д
Моно 4.65.46.2
Xamarin.iOS 10.010.1412.12
Xamarin.Mac 3.03.85.12
Xamarin.Android 7.08.09.3
Универсальная платформа Windows 8 8 8.1 10 10 10 v1709 TBA
Unity 2018.1TBA
Windows Phone 8.1 Н / Д
Windows Phone, через Silverlight 8 Н / Д
Веб-фреймворки
ASP.NET
- инфраструктура серверных веб-приложений, предназначенная для веб-разработки для создания динамических веб-страниц. Это преемник технологии Microsoft Active Server Pages (ASP), построенной на Common Language Runtime (CLR). Он предоставляет отдельные шаблоны для разработки веб-приложений ASP.NET MVC, ASP.NET Web API и веб-страниц ASP.NET (платформа, использующая только страницы Razor ), которые объединены в единый MVC 6.
ASP.NET Core
преемник и повторная реализация ASP.NET как модульной веб-платформы вместе с другими платформами, такими как Entity Framework. Платформа использует новую платформу компилятора.NET с открытым исходным кодом (кодовое имя "Roslyn") и является кроссплатформенной.
Blazor
a бесплатная веб-платформа с открытым исходным кодом , которая позволяет разработчикам создавать веб-приложения, используя C # и HTML. Приложения Blazor Server размещаются на сервере ASP.NET Core в формате ASP.NET Razor, а приложения Blazor WebAssembly - это одностраничные приложения, которые загружаются в веб-браузер клиента перед запуском.
Числовые библиотеки

Числовые библиотеки с открытым исходным кодом

AForge.NET
библиотека компьютерного зрения и искусственного интеллекта. Он реализует ряд генетических алгоритмов, алгоритмов нечеткой логики и машинного обучения с несколькими архитектурами искусственных нейронных сетей с соответствующими алгоритмами обучения.
ALGLIB
кроссплатформенная библиотека численного анализа и обработки данных с открытым исходным кодом. Он состоит из наборов алгоритмов, написанных на разных языках программирования (C ++, C #, FreePascal, Delphi, VBA), и имеет двойное лицензирование - коммерческое и GPL.
Math.NET Numerics
, направленное на предоставление методов и алгоритмов для числовых вычислений. вычисления в науке, технике и повседневном использовании. Охватываемые темы включают специальные функции, линейную алгебру, вероятностные модели, случайные числа, интерполяцию, интегральные преобразования и многое другое. Лицензия MIT / X11.
Meta.Numerics
- это библиотека для расширенных научных вычислений в.NET Framework.

Собственные числовые библиотеки

ILNumerics.Net
коммерческий высокопроизводительный массив числовых типов классы и функции для общей математики, БПФ и линейной алгебры, нацелены на.NET / моно, 32- и 64-разрядные версии, скриптовый синтаксис в C #, элементы управления графиком 2D и 3D, эффективное управление памятью. Выпущено под GPLv3 или коммерческой лицензией.
Measurement Studio
коммерческий интегрированный набор элементов управления UI и библиотек классов для использования при разработке приложений для тестирования и измерения. Библиотеки классов анализа обеспечивают различную обработку цифровых сигналов, фильтрацию сигналов, генерацию сигналов, обнаружение пиков и другие общие математические функции. :NMath : коммерческие библиотеки числовых компонентов для платформы.NET от CenterSpace Software, включая классы обработки сигналов (БПФ), структуру линейной алгебры (LAPACK BLAS) и пакет статистики.
3D-графика

3D-графика с открытым исходным кодом

Open Toolkit (OpenTK)
низкоуровневая привязка C # для OpenGL, OpenGL ES и OpenAL. Он работает в Windows, Linux, Mac OS X, BSD, Android и iOS. Его можно использовать автономно или интегрировать в графический интерфейс.
Windows Presentation Foundation (WPF)
графическая подсистема для визуализации пользовательских интерфейсов, разработанная Microsoft. Он также содержит движок 3D-рендеринга. Кроме того, интерактивный 2D-контент может изначально накладываться на 3D-поверхности. Он работает только в операционных системах Windows.

Запатентованная трехмерная графика

Unity
a кроссплатформенный игровой движок, разработанный Unity Technologies и используемый для разработки видеоигры для PC, консолей, мобильных устройств и веб-сайтов.
Обработка изображений
AForge.NET
библиотека компьютерного зрения и искусственного интеллекта. В нем реализован ряд алгоритмов и фильтров обработки изображений. Он выпущен под лицензией LGPLv3 и частично GPLv3. Большая часть библиотеки написана на C # и, следовательно, кроссплатформенна. Функциональные возможности AForge.NET были расширены библиотекой Accord.NET.
Accord.NET
еще одна библиотека компьютерного зрения и искусственного интеллекта, доступная по стандартной общественной лицензии Gnu Lesser, версия 2.1. В основном он написан на C #.
Графический пользовательский интерфейс
Gtk #
C # оболочки для базовых библиотек GTK + и GNOME, написанных на C и доступен в Linux, MacOS и Windows.
Windows Forms
Среда графического интерфейса пользователя Microsoft. Исходная реализация Microsoft работает в операционных системах Windows и обеспечивает доступ к пользовательскому интерфейсу Windows общим элементам управления путем упаковки Windows API в управляемый код. Альтернативная реализация Mono - это кроссплатформенная реализация с открытым исходным кодом (она работает в Windows, Linux, Unix и OS X). Он в основном совместим с исходной реализацией, но не полностью. Библиотека написана на C #, чтобы избежать зависимости от Windows.
На мероприятии 4 декабря 2018 года Microsoft объявила о выпуске Windows Forms как проекта с открытым исходным кодом на GitHub. Он выпущен под лицензией MIT. Windows Forms стала доступна для проектов, ориентированных на платформу .NET Core. Однако структура по-прежнему доступна только на платформе Windows, а неполная реализация WinForms в Mono остается единственной кроссплатформенной реализацией.
Windows Presentation Foundation
- графическая подсистема для визуализации пользовательских интерфейсов в приложениях на базе Windows от Microsoft. Он основан на DirectX и использует XAML, язык на основе XML, для определения и связывания различных элементов интерфейса. Приложения WPF могут быть развернуты как автономные настольные программы или размещены как встроенный объект на веб-сайте.
На мероприятии Microsoft Connect 4 декабря 2018 г. Microsoft объявила о выпуске WPF с открытым исходным кодом. проект на GitHub. Он выпущен под лицензией MIT. Windows Presentation Foundation стала доступна для проектов, ориентированных на платформу .NET Core. Однако система по-прежнему доступна только на платформе Windows.
Библиотека пользовательского интерфейса Windows (WinUI)
набор элементов управления и функций пользовательского интерфейса Microsoft для универсальной платформы Windows (UWP). На мероприятии 4 декабря 2018 г. Microsoft объявила о выпуске WinUI в качестве проекта с открытым исходным кодом на GitHub. WinUI стал доступен для проектов, ориентированных на платформу .NET Core. Он выпущен под лицензией MIT. Однако библиотека по-прежнему доступна только на платформе Windows.
Xamarin.Forms
кроссплатформенный набор инструментов пользовательского интерфейса для разработки собственных пользовательских интерфейсов, которые можно запускать в приложениях macOS, iOS, Android и универсальной платформы Windows.
Пользовательский интерфейс многоплатформенного приложения.NET (.NET MAUI)
кроссплатформенный инструментарий пользовательского интерфейса, анонсированный в мае 2020 года, который возник как форк Xamarin.Forms и может работать на Android, iOS, Linux, macOS, Tizen и Windows..NET MAUI будет работать на .NET 6 и более поздних версиях. Исходный код находится под лицензией MIT License и доступен на GitHub.
Гарантии качества
NUnit
и с открытым исходным кодом модульное тестирование framework для.NET, написанный на C # и, следовательно, кроссплатформенный. Это одна из многих программ семейства xUnit. По лицензии MIT License.
объектно-реляционное сопоставление

.NET Framework изначально предоставляет утилиты для объектно-реляционного сопоставления с по ADO.NET, часть стека.NET, начиная с.NET 1.0. Кроме того, появился ряд сторонних объектно-реляционных библиотек, особенно в первые годы разработки.NET, чтобы заполнить некоторые кажущиеся пробелы в структуре.

По мере развития структуры добавлялись дополнительные были добавлены объектно-реляционные инструменты, такие как Entity Framework, включенный в .NET Framework 3.5. LINQ to SQL также был представлен в.NET 3.5. Это несколько снизило значимость и популярность сторонних объектно-реляционных библиотек.

Entity Framework
платформа с открытым исходным кодом объектно-реляционного сопоставления (ORM) для ADO.NET. Он был частью .NET Framework, но, начиная с версии 6 Entity framework, он отделен от.NET framework.
NHibernate
NHibernate - объектно-реляционный преобразователь для платформы.NET.
Примечания
Ссылки
Внешние ссылки

Общие:

Числовые библиотеки:

Data:

Последняя правка сделана 2021-05-27 11:19:20
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте