Платформа разработки: .NET
.NET Framework
Библиотека классов (Framework Class Library, FCL).
Версии .NET Framework
Версии .NET Framework
Версии .NET Framework
Версии .NET Framework
Версии .NET Framework
Версии .NET Framework
Версии .NET Framework
Версии .NET Framework
Версии .NET Framework
Версии .NET Framework
Назначение .NET Framework
Общеязыковая исполняющая среда (CLR)
Компиляция файлов
Методанные
Управляемый и неуправляемый код
Объединение управляемых модулей в сборку
Содержание сборки
Преимущества CLR и FCL.
Преимущества CLR и FCL.
Преимущества CLR и FCL.
Преимущества CLR и FCL.
Преимущества CLR и FCL.
Преимущества CLR и FCL.
607.76K
Category: programmingprogramming

Платформа разработки .NET Framework

1. Платформа разработки: .NET

2. .NET Framework

.NET Framework состоит из двух
частей:
• общеязыковой исполняющей
среды (common language runtime,
CLR)
• библиотеки классов (Framework
Class Library, FCL).

3. Библиотека классов (Framework Class Library, FCL).

• FCL предоставляет объектноориентированный API-интерфейс,
используемый всеми моделями
приложений. В ней содержатся
определения типов, которые
позволяют разработчикам выполнять
большой круг задач. Естественно, что
все эти определения типов
соответствуют существующей CLR в
модели программирования.

4. Версии .NET Framework

.NET Framework 1.0
• Первый релиз .NET Framework вышел 5
января 2002 года для Windows 98, NT
4.0, 2000 и XP. Общая поддержка,
осуществляемая компанией
Майкрософт, закончилась 10 июля 2007
года, расширенная поддержка
закончилась 14 июля 2009 года.

5. Версии .NET Framework

.NET Framework 1.1
• Следующий релиз .NET Framework вышел 1
апреля 2003 года. Это была первая версия,
автоматически устанавливаемая вместе с
операционной системой (Windows Server
2003). Для более старых операционных систем
.NET Framework 1.1 была доступна в виде
отдельного установочного пакета. Общая
поддержка, осуществляемая компанией
Майкрософт, закончилась 14 октября 2008
года, а расширенная поддержка закончилась 8
октября 2013 года.

6. Версии .NET Framework

• .NET Framework 2.0
• Версия 2.0 была выпущена одновременно с
Visual Studio 2005, SQL Server 2005 и BizTalk
2006. С выходом версии 2.0 была добавлена
поддержка настраиваемых (обобщённых)
(англ. generic) классов, анонимных методов,
полная поддержка 64-битных платформ x64 и
IA-64. Общая поддержка, осуществляемая
компанией Майкрософт, закончилась 12
апреля 2011 года, а расширенная поддержка
закончится 12 апреля 2016 года.

7. Версии .NET Framework


.NET Framework 3.0
Первоначально .NET Framework 3.0 носила имя WinFX, что
отражало её суть: расширение .NET Framework 2.0 с
сохранением всех библиотек и добавлением четырёх новых
компонентов:
Windows Presentation Foundation (WPF) — презентационная
графическая подсистема, использующая XAML;
Windows Communication Foundation (WCF) — унифицированная
программная модель межплатформенного взаимодействия;
Windows Workflow Foundation (WF) — технология определения,
выполнения и управления рабочими процессами;
Windows CardSpace — технология унифицированной
идентификации.
Поддержка, осуществляемая компанией Майкрософт,
закончилась 12 июля 2011 года.

8. Версии .NET Framework

.NET Framework 3.5
Как и версия 3.0, .NET 3.5 использует CLR
версии 2.0. Новшества по сравнению с .NET
Framework 3.0 включают в себя:
– C# 3.0 и VB.NET 9.0
– Добавлен язык LINQ и провайдеры LINQ to Objects,
LINQ to XML и LINQ to SQL
– ASP.NET AJAX включён в поставку
– Расширена функциональность WF и WCF
– Добавлено пространство имён System.CodeDom

9. Версии .NET Framework

• .NET Framework 4.0
Нововведения включают в себя:
• Parallel Extensions — PLINQ (Parallel LINQ) и
библиотеку параллельных задач (Task Parallel
Library), предназначенные для упрощения
программирования для многопроцессорных и
распределённых систем
• Нововведения в Visual Basic и C#
• Технологию Managed Extensibility Framework (MEF)
• Поддержку подмножеств .NET Framework и
ASP.NET в варианте Server Core
• Поддержку Code Contracts
Окончательная версия .NET Framework 4.0 была
выпущена 12 апреля 2010 года вместе с
окончательной версией Visual Studio 2010.

10. Версии .NET Framework

.NET Framework 4.5
При установке удаляет .NET Framework 4.0.
Несовместима с Windows XP и более ранними
версиями Windows. Нововведения включают в
себя:
• Возможность уменьшения количества
перезапусков системы путем обнаружения и
закрытия приложений платформы .NET Framework
версии 4 во время развертывания.
• Поддержка массивов, размер которых превышает
2 гигабайта (ГБ) на 64-разрядных платформах.
• Улучшенная производительность благодаря
фоновой сборке мусора для серверов. При
использовании серверной сборки мусора в .NET
Framework 4.5 фоновая сборка мусора включается
автоматически.

11. Версии .NET Framework

.NET Framework 4.5
• Фоновая компиляция по требованию (JIT), которая
опционально доступна на многоядерных
процессорах для повышения производительности
приложения.
• Возможность ограничить, как долго обработчик
регулярных выражений будет пытаться разрешить
регулярное выражение до истечения времени
ожидания.
• Возможность определить культуру по умолчанию
для домена приложения.
• Поддержка кодировки Юникод (UTF-16) в консоли.

12. Версии .NET Framework

.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.

13. Версии .NET Framework

.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; Криптографический
API в .NET Framework 4.6 использует последнюю версию API
от Microsoft CryptoAPI, благодаря этому стал доступен набор
алгоритмов шифрования «Suite B» — AES, SHA-2, Elliptic curve
Diffie-Hellman, ECDSA.

14. Назначение .NET Framework

• Microsoft .NET Framework позволяет
разработчикам в гораздо большей степени
задействовать готовые технологии, чем
предыдущие платформы разработки от
Microsoft. В частности, .NET Framework
предоставляет реальные возможности
повторного использования кода, управления
ресурсами, многоязыковой разработки,
безопасности, развертывания и
администрирования.

15. Общеязыковая исполняющая среда (CLR)

• CLR предоставляет модель
программирования, используемую во
всех типах приложений. У CLR
собственный загрузчик файлов,
диспетчер памяти (сборщик мусора),
система безопасности (безопасность
доступа к коду), пул потоков и другое.
Кроме того, CLR предоставляет
объектно-ориентированную модель
программирования, определяющую, как
выглядят и ведут себя типы и объекты.

16.

Исполняющая среда CLR
Возможности CLR
доступны любым
языкам

17. Компиляция файлов

В прошлом почти все
компиляторы генерировали
код для конкретных
процессорных архитектур.Все
CLR-совместимые
компиляторы вместо этого
генерируют IL-код. IL-код
иногда называют
управляемым (managed
code), потому что CLR
управляет его жизненным
циклом и выполнением.

18. Методанные

Каждый компилятор, предназначенный
для CLR, кроме генерации IL-кода,
также должен создавать полные
метаданные (metadata) для каждого
управляемого модуля.
• Методанные – это набор таблиц данных,
описывающих то, что определено в
модуле, например типы и их члены.

19. Управляемый и неуправляемый код

• Неуправляемый код компилируется для
конкретного процессора и при вызове просто
исполняется.
• В управляемой среде компиляция
производится в 2 этапа:
– 1) компилятор переводит C# код в IL
– 2) для исполнения нужно перевести IL код в
машинный код процессора, что требует доп.
динамической памяти и времени.

20. Объединение управляемых модулей в сборку

• Сборка (assembly) — двоичный файл,
содержащий управляемый код.
• Во-первых, это логическая группировка одного
или нескольких управляемых модулей или
файлов ресурсов.
• Во-вторых, это самая маленькая единица с
точки зрения повторного использования,
безопасности и управления версиями.

21. Содержание сборки

В состав сборки входят:
• Номер версии ПО,
• Метаданные,
• Инструкции IL,
• Сведения о других сборках, на которые они
ссылаются.
Иначе говоря, CLR знает о сборке все, что нужно для ее
выполнения. Не нужно размещать никакой
дополнительной информации ни в реестре, ни в службе
каталогов Active Directory.

22. Преимущества CLR и FCL.

• Единая программная модель В отличие от
существующего подхода, когда одни функции
ОС доступны через процедуры динамически
подключаемых библиотек (DLL), а другие —
через СОМ-объекты, весь прикладной сервис
представлен общей объектноориентированной программной моделью.
• Упрощенная модель программирования CLR
Избавляет от работы с разными потаенными
структурами, как это было с Win32 и СОМ. Так,
разработчику не нужно разбираться с
реестром, глобальными уникальными
идентификаторами (GUID).

23. Преимущества CLR и FCL.

• Отсутствие проблем с версиями архитектура
.NET Framework позволяет изолировать
прикладные компоненты, так что приложение
всегда загружает компоненты, с которыми оно
строилось и тестировалось.
• Упрощенное развертывание компоненты .NET
Framework не связаны с реестром. По сути
установка приложений .NET Framework
сводится лишь к копированию файлов в
нужные каталоги и созданию ярлыков в меню
Start (Пуск), на рабочем столе или на панели
быстрого запуска задач.

24. Преимущества CLR и FCL.

• Работа на многих платформах При компиляции кода
для .NET Framework компилятор генерирует код на
общем промежуточном языке (common intermediate
language, CIL), а не традиционный код, состоящий из
процессорных команд. При исполнении CLR
транслирует CIL в команды процессора.
• Интеграция языков программирования СОМ
поддерживает взаимодействие разных языков — .NET
Framework обеспечивает интеграцию разных языков, то
есть один язык может использовать типы, созданные на
других языках.

25. Преимущества CLR и FCL.

• Упрощенное повторное использование кода
Все описанные выше механизмы позволяют
создавать собственные классы,
предоставляющие сервис сторонним
приложениям. Теперь многократное
использование кода становится
исключительно простым и создается большой
рынок готовых компонентов (типов).
• Автоматическое управление памятью CLR
автоматически отслеживает использование
ресурсов, гарантируя, что не произойдет их
утечки. По сути она исключает возможность
явного «освобождения» памяти.

26. Преимущества CLR и FCL.

• Проверка безопасности типов CLR может
проверять безопасность использования типов
в коде, что гарантирует корректное обращение
к существующим типам.
• Развитая поддержка отладки Поскольку CLR
используется для многих языков, можно
написать отдельный фрагмент программы на
языке, наиболее подходящем для конкретной
задачи, — CLR полностью поддерживает
отладку многоязыковых приложений.

27. Преимущества CLR и FCL.

• Единый принцип обработки в CLR обо всех сбоях
сообщается через исключения, которые
позволяют отделить код, необходимый для
восстановления после сбоя, от основного
алгоритма.
• Взаимодействие с существующим кодом В
Microsoft понимают, что разработчики накопили
огромный объем кода и компонентов.
Переписывание всего этого кода, так чтобы он
задействовал все достоинства .NET Framework,
значительно замедлило бы переход к этой
платформе. Поэтому в .NET Framework
реализована полная поддержка доступа к СОМкомпонентам в существующих DLL.
English     Русский Rules