Microsoft.NET Framework

Продукт
Разработчики: Microsoft
Дата последнего релиза: 2014/08/14
Технологии: Средства разработки приложений

Содержание

.NET Framework — программная технология от компании Microsoft, предназначенная для создания обычных программ и веб-приложений. Одной из основных идей Microsoft .NET является совместимость различных служб, написанных на разных языках. Например, служба, написанная на C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.

.NET является патентованной технологией корпорации Microsoft. Тем не менее, после заключения договоренности с компанией Novell[1], технология Mono была признана как реализация .NET на Unix-подобных системах (GNU/Linux, Mac OS X). Однако договорённость касается Novell и клиентов Novell, также технологии ASP.NET, ADO.NET и Windows.Forms не были стандартизированы ECMA/ISO и использование их в Mono находится под угрозой претензий со стороны Microsoft (претензии возможны только в странах, где существуют патенты на программное обеспечение[2]). Mono предоставляет реализацию ASP.NET, ADO.NET и Windows.Forms, но в то же время рекомендует обходить эти API.[2]

Среды разработки .NET-приложений:

  • Microsoft Visual Studio (C#, Visual Basic .NET, Managed C++),
  • SharpDevelop,
  • MonoDevelop,
  • Eclipse,
  • Borland Developer Studio (Delphi for .NET, C#),
  • PascalABC.NET и т. д.

Приложения также можно разрабатывать в текстовом редакторе и использовать консольный компилятор.

Подобно технологии Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной. Входной язык этой машины в .NET называется MSIL (Microsoft Intermediate Language), или CIL (Common Intermediate Language, более поздний вариант), или просто IL. Применение байт-кода позволяет получить кроссплатформенность на уровне скомпилированного проекта (в терминах .NET: сборка), а не только на уровне исходного текста, как, например, в С. Перед запуском сборки в среде исполнения CLR байт-код преобразуется встроенным в среду JIT-компилятором (just in time, компиляция на лету) в машинные коды целевого процессора. Также существует возможность скомпилировать сборку в родной (native) код для выбранной платформы с помощью поставляемой вместе с .NET Framework утилиты NGen.exe.

Следует отметить, что один из первых JIT-компиляторов для Java был также разработан фирмой Microsoft. Современная технология динамической компиляции позволяет достигнуть уровня быстродействия, аналогичного традиционным «статическим» компиляторам (например, C++), и вопрос быстродействия зачастую зависит от качества того или иного компилятора.

.NET Core является модульной платформой для создания веб-приложений и микросервисов, кроссплатформенным (Windows, Mac, Linux) аналогом .NET Framework с открытым исходным кодом. Он содержит среду CoreCLR — кросс-платформенную реализацию CLR, в которую входит JIT-компилятор — RyuJIT. Также .NET Core включает в себя CoreFX — набор библиотек, функциональность которых частично совпадает с BCL (Base Class Library).

.NET Core предоставляет подмножество API .NET Framework, но также и ряд собственных API.

2017

Поддержка .NET Core 2.0 продуктами Red Hat

Компания Red Hat 25 августа 2017 года объявила о планах обеспечить поддержку .NET Core 2.0 в рамках своего семейства Open Source технологий. .NET Core 2.0 позволяет создавать приложения .NET для различных платформ и развертывать их как на Red Hat Enterprise Linux, Red Hat OpenShift Container Platform, так и на других платформах.

.NET Core 2.0

.NET Core 2.0 теперь входит в состав Red Hat Developer Program, поддерживает .NET Standard 2.0, что обеспечивает оптимизированную совместимость с платформами и переносимость при использовании любых сред исполнения и рабочих нагрузок .NET. Она также помогает оптимизировать упаковку приложений за счет более удобного доступа к стеку для разработки веб-приложений ASP.NET Core 2.0 и ORM-прослойке Entity Framework Core 2.0. Кроме того, при использовании с Red Hat Enterprise Linux или Red Hat OpenShift Container Platform .NET Core 2.0 позволяет создавать современные контейнеризированные приложения на языках программирования C#, F# и Visual Basic.

Поддержка в продуктах Red Hat

Red Hat предложит полную поддержку .NET Core корпоративного уровня в рамках своего портфолио, предоставив разработчикам возможность использовать .NET Core 2.0 для разработки и развертывания приложений на следующих платформах:

  • Red Hat Enterprise Linux
  • Red Hat Enterprise Linux Atomic Host
  • Red Hat OpenShift Container Platform
  • Red Hat OpenShift Online
  • Red Hat OpenShift Dedicated
  • Red Hat OpenStack Platform

Доступность

В ближайшее время .NET Core 2.0 станет доступна для соответствующих продуктов Red Hat в виде пакетов в репозитории (rpm) или в качестве контейнерных образов.

«
За счет поддержки .NET на платформе Red Hat Enterprise Linux мы можем предложить рынку полностью открытую платформу разработки, обеспеченную поддержкой корпоративного уровня и гарантирующую надежную промышленную эксплуатацию рабочих нагрузок .NET на системах, отличных от Windows, — заявил Гарри Моуэр (Harry Mower), директор направления Developer Programs, Red Hat.
»

Релиз .NET Core 2.0

14 августа 2017 года корпорация Microsoft анонсировала релиз .NET Core 2.0 — модульной платформы .NET с открытым исходным кодом. Данная версия обеспечивает значительное повышение производительности Runtime и Framework. Кроме этого реализована поддержка .NET Standard 2.0, которая более чем удваивает количество API, доступных для разработчиков. .NET Core 2.0 уже доступен в Azure Web Apps.[1]

Список основных изменений:

  • Runtime:
    • Значительные улучшения производительности Runtime и Framework;
    • Внедрён .NET Standard 2.0;
    • Обеспечена поддержка еще 6 платформ, включая Debian Stretch, macOS High Sierra и др.;
    • RyuJIT — это x86 JIT в .NET Core 2.0;
    • Обеспечена предварительная поддержка Linux ARM32.

  • SDK:

    • dotnet restore теперь является неявной командой;
    • Проекты NET Core и .NET Standard могут ссылаться на пакеты и проекты .NET Framework NuGet;
    • .NET Core SDK может быть собран из репозитория открытого исходного кода.

  • Visual Studio:

    • Live Unit Testing поддерживает .NET Core;
    • Реализованы улучшения навигации по коду;
    • C# Azure Functions поддерживаются «из коробки»;
    • Обеспечена поддержка CI/CD в контейнерах.

Разработчики могут установить .NET Core 2.0 вместе с .NET Core 1.0 и 1.1. Существующие .NET-приложения, при необходимости, могут продолжать использовать Runtime 1.0 и 1.1.

Исходные тексты компонентов .NET Core распространяются под лицензиями MIT и Apache 2, ASP.NET Core поставляется под лицензией Apache 2. Кроме Windows, заявлена поддержка Red Hat Enterprise Linux 7, CentOS 7, Debian 8/9, Fedora 25/26, SUSE Linux Enterprise Server 12 SP2+, openSUSE 42.2+, Oracle Linux 7, Ubuntu 14.04/16.04/17.04, Linux Mint 17/18, macOS 10.12/10.13.[2]

Презентация версии .NET Core 2.0, 14 августа 2017 года.

2016: Выпуск .NET Core 1.0

27 июня 2016 года вышла .NET Core версии 1.0 — модульная платформа .NET с открытым исходным кодом. Вместе с релизом версии 1.0 стал доступен продукт Microsoft Visual Studio 2015 Update 3, в которой поддерживается разработка под .NET Core.

16 ноября 2016 года был выпущен .NET Core версии 1.1.

2014: Открыт исходный код серверной части .NET

13 ноября 2014 года Microsoft объявила об открытии полного доступа к исходному коду серверной части платформы .NET и расширила её возможности для работы с ОС Linux и Mac.

«Сегодня на рынке представлено множество устройств, поэтому разработчики нуждаются в универсальном инструменте, который подходит для работы с любой платформой и форм-фактором, - отметил Павел Бетсис, президент Microsoft в России. – Благодаря возможностям Visual Studio и .NET мы предлагаем комплексное решение для создания и управления приложениями на всех устройствах и платформах».

Кроссплатформенная разработка стала возможной посредством доступа к полному набору серверных технологий платформы .NET с открытым исходным кодом, в том числе к ASP.NET, компилятору .NET, .NET Core Runtime, инфраструктуре и библиотекам приложений.

2012: Выпуск .NET Framework 4.5

Версия .NET Framework 4.5 вышла 15 августа 2012 года .NET Framework 4.5 предлагает несколько принципиально новых возможностей, которые позволят разработчикам в разы увеличить личную производительность при создании приложений с управляемым кодом:

Языки. C# и Visual Basic теперь включают встроенную поддержку для написания асинхронного кода, который можно создавать так же легко, как и синхронный. F# включает провайдеры типов, что облегчает доступ к данным программам и компонентам F#.

Производительность. Чтобы повысить производительность, в первую очередь, серверных приложений и сервисов, была значительно модернизирована общеязыковая среда выполнения (Common Language Runtime). Теперь управляемые приложения могут запускаться быстрее и работать с более высокой скоростью и меньшим периодом ожидания благодаря таким дополнениям, как сборка мусора в фоновом режиме на стороне сервера, многопоточная фоновая компиляция и оптимизация, основанная на профилях.

Сеть. .Net Framework 4.5 включает высококачественные сетевые библиотеки, что обеспечивает постоянную поддержку облачных сервисов на разных типах устройств. Благодаря возможности объединять современные библиотеки HTTP и веб-сокеты, обеспечивается высококачественная разработка сервисов.

Помимо указанных улучшений, .Net Framwork 4.5 предлагает улучшенную поддержку HTML5, новые возможности Entity Framework и разработки мобильных приложений с помощью ASP.Net, а также много других новых возможностей для разработчиков, создающих клиентские и облачные приложения.

2010: Релиз .NET Framework 4.0

Окончательная версия .NET Framework 4.0 была выпущена 12 апреля 2010 года вместе с окончательной версией Visual Studio 2010.

Дистрибутивный пакет платформы Microsoft .NET Framework версии 4.0 устанавливает среду CLR и связанные файлы, необходимые для работы приложений, разработанных для платформы .NET Framework 4.0. Microsoft .NET Framework 4.0 — содержит новый функционал и улучшения в базовых классах (BCL) в дополнение к тем, которые были представлены ранее в .NET 4 Beta 1. Многие эти улучшения были сделаны благодаря отзывам и рекомендациям от клиентов, полученным через Microsoft Connect.

Примечания



ПРОЕКТЫ (8) ПРОЕКТЫ НА БАЗЕ (70) ИНТЕГРАТОРЫ (7)
РЕШЕНИЕ НА БАЗЕ (18) СМ. ТАКЖЕ (68) ОТРАСЛИ (19)


Подрядчики-лидеры по количеству проектов

За всю историю
2016 год
2017 год
2018 год
Текущий год

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2016 год
2017 год
2018 год
Текущий год

  Oracle (3, 4)
  IBM (2, 3)
  Диасофт (Diasoft) (2, 2)
  Abbyy Россия (Аби) (2, 2)
  Haulmont (Хоулмонт) (2, 2)
  Другие (13, 15)

Распределение базовых систем по количеству проектов, включая партнерские решения

За всю историю
2016 год
2017 год
2018 год
Текущий год

  CUBA.platform - 2 (1, 1)
  Hyperledger Fabric - 2 (2, 0)
  IBM API Connect - 2 (2, 0)
  Java - 2 (2, 0)
  Diasoft MeNext - 2 (1, 1)
  Другие 17