Платформа .NET

Download Report

Transcript Платформа .NET

Из цикла лекций «Internet-технологии разработки приложений» для студентов 4-го курса кафедры Компьютерных
технологий физического факультета Донецкого национального университета
Платформа .NET
MS: «Среда .NET – это решение Microsoft для Web-служб, или
следующее поколение программного обеспечения, которое
объединяет миры информации, устройств и людей
унифицированным индивидуализированным способом».
ДонНУ, кафедра КТ, проф.В.К.Толстых
Концепция .NET
•
Быстрая и простая разработка приложений.
•
Упрощенное развертывание приложений.
•
Бесперебойный доступ к службам и данным
•
Возможность взаимодействия приложений.
Компания Microsoft инвестирует сотни миллионов долларов в проект
взаимодействующих сетевых ресурсов .NET, который отражает их представление о
ближайшем будущем Internet. Создаваемая система позволяет проводить
автоматизированный обмен сетевыми ресурсами между отдельными программами,
приложениями, базами данных, пользователями, основываясь на XML, как на
ключевой технологии.
Введение в .NET Framework
среда разработки и исполнения .NET приложений
(на примере среды разработки Delphi for .NET)
среда разработки
исходные коды – .bdsproj, .pas (–Delphi, C#, C++,VB… для .NET)
компиляция на промежуточный язык
по правилам CLS (Common Language Specification), в результате получаем
управляемые модули (нуждаются в CLR) – .dcuil
на языке IL (Intermediate Language) ≈ код ассемблер
сборки модулей (assembly)
приложения .NET – .exe . dll, . bpl
– это модули, дополненные метаданными (данные о типах, используемых в
модуле и других модулях, на которые он ссылается)
…продолжение
среда исполнения – CLR (Common Language Runtime) на языке IL
JIT-компилятор (Just in Time) ≈ интерпретатор:
загружает классы только при обращении к ним,
компилирует методы только при первом обращении…
Основные компоненты CLR: executing engine (выполняет код IL), code manager
(управляет памятью), GC – Garbage Collector (сборщик мусора в хипе, удаляет
отработавшие объекты – без Free)…
базовый машинный код для процессора
Неуправляемые
модули – Win32
(нуждаются в ОС)
операционная система
Windows (FreeBSD, Linux - “Mono”…)
Достоинства
•
Отсутствуют проблемы с версиями среды .NET Framework. На компьютере может существовать
сразу несколько версий .NET Framework.
•
Одновременно могут существовать несколько версий одной библиотеки-сборки .dll. Разные версии
одной сборки могут одновременно исполняться. Не требуются инсталляции сборок (приложений
.NET), их, просто, копируют в папку.
•
Когда CLR исполняет ваш код, ей неизвестно на чём вы его писали, это означает, что выбор языка –
это личное предпочтение программиста.
•
JIT-компилятор в реальном времени преобразует в машинный код (native-код) только те IL-коды
сборок, которые требуется выполнить и так, что части кода компилируются всего один раз при
первом обращении к ним.
•
Управляемые приложения могут потреблять меньше памяти.
•
Компилированные части JIT-компилятор помещает в совой кэш, которым можно управлять
(задавать время существования…) из приложений. Скорость выполнения кэшированного кода
– максимальна.
•
JIT-компилятор знает, на каком типе процессора будет запущена программа и формирует
оптимальный для процессора код.
•
Среда CLR может отслеживать частоту вызовов кэшированного кода. Если CLR видит, что раздел
JIT-компилированного кода не вызывался в течение длительного времени, то может освободить
место, занятое им. При следующем вызове код будет перекомпилирован снова.
•
Сборщик мусора GC позволяет предотвратить утечку памяти и облегчает работу программиста (не
надо отслеживать и удалять объекты из памяти).
Особенности версии .NET 3.0
Windows Communication Foundation (WCF) — предоставляет единую инфраструктуру разработки, повышающую производительность и снижающую затраты на
создание безопасных, надёжных и транзакционных Web-служб нового поколения.
Windows Presentation Foundation — графическая (презентационная) подсистема.
Оно включает новое ядро, которое должно заменить GDI и GDI+. Сейчас его можно
назвать альтернативным вариантом Adobe Flash и Java-апплетам.
Windows CardSpace — патентованная технология единого входа от Microsoft.
WCS — это способ простой и безопасной идентификации пользователей при
перемещении между ресурсами Интернета без необходимости повторного ввода
имен и паролей.
Windows Workflow Foundation (WF) представляет собой технологию для
определения, выполнения и управления рабочими процессами. Данная технология
представляет новый, более высокий, уровень абстракции в программировании под
.NET. По сути – это визуальные (в VS 2008) блок-схемы с возможность вставки
кодов, Windows-сервисов, веб-сервисов, приложений-серверов, IIS-
приложений…
Windows Workflow Foundation
В сложных случаях мы
обычно детально
углубляемся в
проектирование,
например, рисуем
временные диаграммы.
Теперь мы можем
перенести эти эскизы в
MS Visual Stuidio 2008 с
помощью встроенного
редактора.
Мы можем просто взять
и перенести участок кода
на другое место. Тут же
его скомпилировать и
сравнить с исходным
вариантом.