.NET Framework (произносится
дот нэт) — программная платформа, выпущенная компанией
Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения
Common Language Runtime (CLR), которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.
Считается, что платформа .NET Framework явилась ответом компании Microsoft на набравшую к тому времени большую популярность платформу
Java компании
Sun Microsystems (ныне принадлежит
Oracle).
История версий
Net Framework 1.0:
Начиная с девяностых годов в Microsoft уже занимались разработкой этой платформы. Но
релиз первой версии состоялся только 5 января 2002 года. Понятно, что эта версия уже сильно устарела. Поддержка первого Framework’a закончилась аж десятого июля 2007 года.
Net Framework 1.1:
Отличало эту версию от прошлой то, что она распространялась уже вместе с операционной системой (начиная с
Windows Server 2003).
Net Framework 2.0:
Начиная со второй версии, все последующие версии выпускались одновременно с
Visual Studio – средой разработки от Microsoft. Вторая версия net framework’a была выпущена вместе с Visual Studio 2005. В этой версии была реализована поддержка шестидесяти четырех разрядных платформ, включены обобщенные классы и некоторые другие изменения.
Net Framework 3.0:
В эту версию не было добавлено никаких новых возможностей кроме самого главного – были добавлены:
Windows Presentation Foundation (WPF);
Windows Communication Foundation (WCF);
Windows Workflow Foundation (WF);
Windows CardSpace.
Net Framework 3.5:
Основана она на второй версии net framework’a, но включает некоторые новинки: использует обновления языков
C# и VB.NET, добавлен язык LINQ, расширение функций WF и WCF и некоторые дополнительные обновления.
Net Framework 4.0:
Анонс этой версии был сделан 29 сентября 2008 года, приурочен к выходу Visual Studio 2010. В нее были включены: PLINQ (специально для многопроцессорных систем), некоторые изменения языков программирования, поддержка дополнительных языков и тд. Финальная версия была выпущена 12 апреля 2010 года.
Net Framework 4.5:
Вышла 15 августа 2012 года.
При установке заменяет .NET Framework 4.0. Несовместима с
Windows XP и более ранними версиями
Windows. Нововведения включают в себя:
- Возможность уменьшения количества перезапусков системы путём обнаружения и закрытия приложений платформы .NET Framework версии 4 во время развертывания.
- Поддержка массивов, размер которых превышает 2 гигабайта (ГБ) на 64-разрядных платформах.
- Улучшенная производительность благодаря фоновой сборке мусора для серверов. При использовании серверной сборки мусора в .NET Framework 4.5 фоновая сборка мусора включается автоматически.
- Фоновая компиляция по требованию (JIT), которая опционально доступна на многоядерных процессорах для повышения производительности приложения.
- Возможность ограничить, как долго обработчик регулярных выражений будет пытаться разрешить регулярное выражение до истечения времени ожидания.
- Возможность определить культуру по умолчанию для домена приложения.
- Поддержка кодировки Юникод (UTF-16) в консоли.
- Поддержка управления версиями культурных данных сортировки и сравнения строк.
- Улучшенная производительность при извлечении ресурсов.
- Улучшения сжатия ZIP.
- Возможность настраивать контекст отражения для переопределения поведения отражения по умолчанию.
- Поддержка версии 2008 стандарта интернационализированных доменных имен в приложениях, когда класс используется в Windows 8.
- Делегирование сравнения строк операционной системе, которая реализует Юникод 6.0, если платформа .NET Framework используется в Windows 8. При работе на других платформах платформа .NET Framework включает собственные сведения о сравнении строк, которые реализуют Юникод 5.xx.
- Возможность вычисления хеш-кода для строк на основе домена для каждого приложения.
- Поддержка JSON
Net Framework 4.5.1:
.NET Framework 4.5.1 выпущен 17 октября 2013 года вместе с Visual Studio 2013. Эта версия требует
Windows Vista SP2 или более свежую версию, и поставляется вместе с
Windows 8.1 и Windows Server 2012 R2.
Net Framework 4.5.2:
.NET Framework 4.5.2 является обновлением .NET Framework 4.5.1, .NET Framework 4.5, и .NET Framework 4. Устанавливается, при необходимости, бок о бок с .NET Framework 3.5 Service Pack 1.
Net Framework 4.6:
.NET Framework 4.6 является обновлением .NET Framework 4.5.2, .NET Framework 4.5.1, .NET Framework 4.5, и .NET Framework 4. Устанавливается, при необходимости, бок о бок с .NET Framework 3.5 Service Pack 1.
Является частью редакции Microsoft Visual Studio 2015.
.NET Framework 4.6 поддерживает новый JIT-
компилятор для 64-разрядных систем (RyuJIT); WPF и WinForms обновлены для поддержки
экранов с высоким DPI; в WCF была добавлена поддержка TLS 1.1 и TLS 1.2. Криптографический API в .NET Framework 4.6 использует последнюю версию
API от Microsoft CryptoAPI, благодаря этому стал доступен набор алгоритмов шифрования «Suite B» — AES, SHA-2, Elliptic curve Diffie-Hellman, ECDSA.
Net Framework 4.6.1:
.NET Framework 4.6.1 является обновлением .NET Framework 4.6, .NET Framework 4.5.2, .NET Framework 4.5.1, .NET Framework 4.5, и .NET Framework 4. Устанавливается, при необходимости, бок о бок с .NET Framework 3.5 Service Pack 1.
Является частью редакции Microsoft Visual Studio 2015 Update 1.
Net Framework 4.6.2:
Вышла 20 июля 2016 года.
Net Framework 4.7 и 4.8:
Версия 4.7 увидела свет 5 апреля 2017 года. Версия 4.8 вышла спустя год – 18 апреля 2019 года.
Архитектура .NET
Программа для .NET Framework, написанная на любом поддерживаемом языке программирования, сначала переводится компилятором в единый для .NET промежуточный байт-код Common Intermediate Language (CIL) (ранее назывался Microsoft Intermediate Language, MSIL). В терминах .NET получается сборка, англ. assembly. Затем код либо исполняется виртуальной машиной Common Language Runtime (CLR), либо транслируется утилитой NGen.exe в исполняемый код для конкретного целевого процессора. Использование виртуальной машины предпочтительно, так как избавляет разработчиков от необходимости заботиться об особенностях аппаратной части. В случае использования виртуальной машины CLR встроенный в неё JIT-компилятор «на лету» (just in time) преобразует промежуточный байт-код в машинные коды нужного процессора. Современная технология динамической компиляции позволяет достигнуть высокого уровня быстродействия. Виртуальная машина CLR также сама заботится о базовой безопасности, управлении памятью и системе исключений, избавляя разработчика от части работы.
Архитектура .NET Framework описана и опубликована в спецификации Common Language Infrastructure (CLI), разработанной Microsoft и утверждённой ISO и ECMA. В CLI описаны типы данных .NET, формат метаданных о структуре программы, система исполнения байт-кода и многое другое.
Объектные классы .NET, доступные для всех поддерживаемых языков программирования, содержатся в библиотеке Framework Class Library (FCL). В FCL входят классы Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation и другие. Ядро FCL называется Base Class Library (BCL).
Cреды разработки
Среды разработки, поддерживающие .NET:
- Microsoft Visual Studio (C#, Visual Basic .NET, Managed C++, F#)
- SharpDevelop
- MonoDevelop
- Embarcadero RAD Studio (Delphi for .NET); ранее Borland Developer Studio (Delphi for .NET, C#)
- A#
- Zonnon
- PascalABC.NET
- JetBrains Rider
Приложения .NET также можно разрабатывать в текстовом редакторе, просто вызывая компилятор из
командной строки.
Языки программирования в .NET
Одной из основных идей Microsoft .NET является совместимость программных частей, написанных на разных языках. Например, служба, написанная на
C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на
Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.
Языки, поставляемые вместе с Microsoft Visual Studio:
- C#
- Visual Basic .NET
- JScript .NET
- C++/CLI — новая версия Managed C++
- F# — член семейства языков программирования ML, включён в VS2010/VS2012/VS2015/VS2017
- J# — последний раз был включён в VS2005
© greenmile
Источники:
paveldev.blogspot.com,
ru.wikipedia.org
В начало