Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C# / Microsoft.docx
Скачиваний:
18
Добавлен:
03.06.2015
Размер:
59 Кб
Скачать

Microsoft .NET Compact Framework — это интегральный компонент для устройств под управлением Windows Mobile и Windows Embedded CE, позволяющий выполнять построение и запускать управляемые приложения и использовать веб-службы. В платформу .NET Compact Framework включена оптимизированная общеязыковая среда выполнения (CLR) и подмножество библиотеки классов .NET Framework, поддерживающей такие возможности, как Windows Communication Foundation (WCF) и Windows Forms. В ней также содержатся классы, разработанные только для платформы .NET Compact Framework.

Платформа .NET Compact Framework унаследовала архитектуру полной версии .NET Framework среды CLR и выполнения управляемого кода.

Архитектура платформы .NET Compact Framework

Платформа .NET Compact Framework унаследовала архитектуру полной версии .NET Framework среды CLR, используемую для выполнения управляемого кода. Она обеспечивает взаимодействие с операционной системой Windows CE устройства, позволяя осуществлять доступ к собственным функциям и встраивать в приложение необходимые собственные компоненты.

Управляемые и собственные приложения можно запускать параллельно. Узел домена приложения, являясь собственным приложением, запускает экземпляр среды CLR для выполнения управляемого кода.

Архитектура

На следующем рисунке представлена вся архитектура платформы .NET Compact Framework.

Windows CE

Платформа .NET Compact Framework использует операционную систему Windows CE для доступа к базовой функциональности и нескольким специальным возможностям устройств. Несколько типов и сборок, например, используемых для Windows Forms, графики, рисования и веб-служб, были не просто скопированы из полной версии .NET Framework, а перестроены для более эффективной работы на устройствах.

Платформа .NET Compact Framework обеспечивает следующее взаимодействие с Windows CE:

  • Совместимость с собственной безопасностью.

  • Полная интеграция с собственными программами установки.

  • Взаимодействие с машинным кодом посредством COM-взаимодействия и вызова неуправляемого кода.

Среда CLR

Среда CLR платформы .NET Compact Framework также была перестроена для поддержки запуска ограниченных ресурсов в условиях малого объема памяти, а также для более эффективного использования заряда батарей.

Уровень адаптации платформы, не показанный на рисунке, находится между Windows CE и средой CLR и используется для сопоставления служб и интерфейсов устройства, необходимых среде CLR и платформе .NET Framework, со службами и интерфейсами Windows CE.

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

Платформа .NET Compact Framework является подмножеством платформы .NET Framework, а также содержит функции, разработанные специально для .NET Compact Framework. Эта платформа обеспечивает простоту использования и позволяет разработчикам собственных приложений устройств перейти в .NET Framework, а разработчикам приложений для настольных компьютеров — разрабатывать приложения для устройств.

Visual Studio

При использовании системы Microsoft Visual Studio 2005 разработка приложений для интеллектуальных устройств осуществляется так же просто, как и приложений для настольных компьютеров. Средства разработки программ для интеллектуальных устройств в Visual Studio включают набор типов проектов и эмуляторов, предназначенных для разработки программ для карманных ПК, смартфонов и Windows Embedded CE.

.NET Framework предоставляет среду выполнения (среду CLR), которая выполняет код и предлагает службы, облегчающие процесс разработки.

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

Чтобы включить в среде выполнения предоставление служб управляемому коду, языковые компиляторы должны предоставлять метаданные с описанием типов, членов и ссылок в коде.Метаданные хранятся вместе с кодом. Они содержатся в каждом загружаемом переносимом исполняемом (PE) файле среды CLR.Метаданные в среде выполнения используются для поиска и загрузки классов, размещения экземпляров в памяти, разрешения имен при вызове методов, создания машинного кода, обеспечения безопасности и установки границ контекста времени выполнения.

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

Среда CLR упрощает разработку компонентов и приложений, объекты которых могут работать в разных языках.Объекты, написанные на разных языках, могут взаимодействовать друг с другом, а их поведение может быть тесно интегрировано.Например, разработчик может определить класс, а затем на другом языке создать производный от него класс или вызвать метод из исходного класса.Можно также передать экземпляр класса в метод класса, написанного на другом языке.Такая интеграция языков программирования возможна в силу того, что языковые компиляторы и программы, которые обращаются к среде выполнения, используют систему общих типов, определенную средой выполнения, и следуют правилам среды выполнения при определении новых типов, а также при создании, использовании, сохранении и привязки к типам.

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

Языковые компиляторы и программы предоставляют функции среды выполнения так, чтобы они были полезны и интуитивно понятны для разработчиков.Это означает, что некоторые средства среды выполнения могут быть заметными в одной среде больше, чем в другой.Характеристики среды выполнения зависят от используемых языковых компиляторов и программ.Например, разработчик Visual Basic при работе со средой CLR может заметить, что язык Visual Basic имеет больше средств объектно-ориентированного программирования, чем раньше.Среда выполнения предоставляет следующие преимущества:

  • повышение производительности;

  • возможность легко использовать компоненты, разработанные на других языках;

  • расширяемые типы, предоставляемые библиотекой классов;

  • языковые возможности (например, наследование, интерфейсы и перегрузку) для объектно-ориентированного программирования;

  • поддержку явной свободной потоковой обработки, позволяющую создавать масштабируемые многопотоковые приложения;

  • поддержку структурированной обработки исключений;

  • поддержку настраиваемых атрибутов;

  • сборка мусора;

  • использование делегатов вместо указателей на функции для повышения типобезопасности и уровня защиты.

Знакомство с .Net Compact Framework

Microsoft .NET Compact Framework (.NET CF) - это версия .NET Framework, которая разработана для запуска приложений на устройствах, основанных на платформе Windows CE, таких как PDA, мобильные телефоны, заводские контроллеры и других. .NET Compact Framework использует библиотеки, подобные полной версии .NET Framework, вместе с тем имеются специальные наборы библиотек для мобильных устройств, например, Windows CE InputPanel.

Если вы знакомы с программированием для .NET Framework, то вам не составит труда перейти к освоению особенностей программирования для КПК и мобильных телефонов под управлением Windows Mobile. Ведь писать программы придется в уже знакомой вам среде Visual Studio .NET. Более того, вам даже не обязательно иметь сам карманный компьютер или смартфон для проверки написанного кода, так как в Visual Studio .NET уже имеются эмуляторы для этих мобильных устройств.

Цель данной лекции - сформировать представление о .Net Compact Framework технологии, ее развитии и возможностях.

Таблица 3.1.

Версия

Дата выхода

1.0 RTM

Конец 2002

1.0 SP1

Неизвестно

1.0 SP2

Неизвестно

1.0 SP3

Январь 2005

2.0 RTM

Октябрь 2005

2.0 SP1

Июнь 2006

2.0 SP2

Март 2007

3.5 Beta 1

Май 2007

3.5 Beta 2

Неизвестно

3.5 RTM

19 ноября 2007

3.5

25 января 2008

Конечно, технология .NET Compact Framework несколько отличается от .NET Framework. Считается, что .NET Compact Framework является частью полной библиотеки .NET Framework. Действительно, между двумя этими платформами очень много общего. Но все же говорить о .NET Compact Framework как о подмножестве полной .NET Framework не совсем корректно. Дело в том, что .NET Compact Framework поддерживает серию классов, которых нет в полной библиотеке классов. Эти классы созданы специально для мобильных устройств и позволяют поддерживать, например, программную клавиатуру, возможности инфракрасной связи и отправки SMS.

Критерии, по которым создавалась первая версия .Net Compact Framework

  1. .NET Compact Framework необходимо было создавать как подмножество разработанной ранее для настольных компьютеров и серверов среды .NET Framework, совместимое с последней на уровне двоичных кодов и удовлетворяющее требованиям стандартов.

  2. Межплатформенные возможности.

  3. Мощные возможности клиентской стороны, включая поддержку рисования и форм, выполнение функций клиента Web-служб и предоставление модели доступа к данным, обладающей широкими возможностями.

  4. Низкие требования к объему установленной на устройстве и занимаемой платформой памяти.

  5. Требовалось предоставить практическую поддержку по крайней мере, двух языков .NET-С# и Visual Basic .NET.

  6. Платформа должна была служить удобной заменой собственных кодов для большинства приложений коммерческого, научного, производственного и развлекательного характера.

  7. Возможность доступа к средствам базовой операционной системы, если в этом возникает необходимость.

Соседние файлы в папке C#