Владимир Волков - Программирование для карманных компьютеров
Common language runtime
Ртот общий промежуточный язык, независимый РѕС‚ платформы Рё являющийся результатом работы разных программных средств, позволяет обеспечивать взаимодействие между программным РєРѕРґРѕРј, написанным РЅР° разных языках. Модуль, написанный РЅР° РѕРґРЅРѕРј языке, может быть СЃ легкостью использован программой, написанной РЅР° РґСЂСѓРіРѕРј языке. Рљ межъязыковой среде выполнения относится Рё сборщик РјСѓСЃРѕСЂР° (garbage collector), который должен следить РЅРµ только Р·Р° памятью каждой программы, РЅРѕ Рё Р·Р° СѓР±РѕСЂРєРѕР№ памяти. Естественно, автоматическое распределение памяти также относится Рє области ответственности межъязыковой среды выполнения.
Common Language Specification
Общеязыковая спецификация – это набор стандартов, определяющих основные требования к архитектуре языка, соблюдение которых делают программы, написанные на разных языках «прозрачными» друг для друга. На самом деле, если промежуточный язык один и тот же, среда выполнения одна и та же, то нужна только небольшая синхронизация общих правил, чтобы программа, написанная на одном языке, ничем не отличалась от программы, написанной на другом языке после компиляции обеих программ в IL. А если на уровне IL отличий нет, то значит программы, написанные на одном языке, могут с легкостью использовать модули, написанные на другом языке. Мало того, извечный спор и противостояние языков C и VB в. NET теряет смысл, посколько на уровне IL разница в коде между ними стирается.
Common type system
Общая система типов является основой построения общеязыковой спецификации и определяет типы, которые в обязательном порядке должен поддерживать любой компилятор, совместимый с. NET.
Common Language Infrastructure
Ртот набор правил, процедур Рё низкоуровневых деталей реализации. NET зарегистрирован как открытый стандарт РІ ECMA. РћРЅ предназначен для создания компиляторов, средств разработки программ Рё отладки любыми разработчиками, желающими создавать подобные инструменты для. NET.
Compact Framework
NET Compact Framework это подмножество полной версии. NET Framework, которое предоставляет программисту большинство возможностей, присутствующих в полной версии для настольных и серверных машин. К этим возможностям относятся межъязыковая среда выполнения, JIT-компиляция, защита кода и управление памятью при помощи сборщика мусора. Также в. NET CF разработчик может использовать Windows Forms, средства доступа к данным, XML и веб-сервисы на основе XML.
Application domains
Каждое приложение, запускаемое под управлением. NET Compact Framework, выполняется в некоторой совокупности ресурсов системы, называемой доменом приложения. Функционально домен приложения подобен процессу для приложений Win32, но в одном реальном процессе Win32 может быть запущено несколько доменов приложений.
Управление памятью
В.NET Compact Framework управление памятью оптимизировано таким образом, чтобы как можно меньше загружать память и ресурсы процессора. В частности, такая часть. NET Framework, как native image cache , в Compact Framework отсутствует.
РЎР±РѕСЂРєР° РјСѓСЃРѕСЂР°
Сборка мусора в. NET Compact Framework также подчинена оптимизации использования памяти. Сборщик мусора гарантирует, что вся память, захваченная приложением, будет корректно освобождена после завершения его работы.
Основные отличия между базовой версией. NET Framework и Compact Framework
Как уже говорилось ранее, разница в версиях. NET не так уж велика, но все же существует. Основные отличия перечислены в следующем списке.
1. CLR в версии CF составляет около 12 % по объему от настольной версии.
2. Взаимодействие СЃ COM-объектами ограничено. РР· управляемого РєРѕРґР° невозможно создавать COM-объекты или вызывать ActiveX-компоненты. Непосредственный доступ Рє API Windows CE также невозможен. РќРѕ, используя Platform Invokation Service (PInvoke), разработчик может вызывать функции РёР· DLL, РІ которых, РІ СЃРІРѕСЋ очередь, описывать вызов функций API.
3. Взаимодействие с данными происходит через мобильную реализацию ADO.NET и SQL Server CE.NET Data Provider
4. В CF не поддерживается ASP.NET.
5. Поддержка XML ограничена из соображений экономии памяти. Не поддерживается XML sсhema validation.
Некоторые важные термины и понятия
В этом разделе будут рассмотрены наиболее важные концепции технологии. NET, которые необходимо знать для дальнейшей работы.
? В технологии. NET не принято говорить о библиотеках, компонентах или модулях. Для обозначения некоторой наименьшей единицы построения приложений принят термин «сборка». Сборка (assembly) – наименьший логический модуль в системе. NET, относительно которого работают правила разграничения доступа и кэширования загрузки.
? Метаданные (MetaData) – это данные, которые содержит в себе каждая сборка. Благодаря этому механизму любая сборка и вообще весь код. NET являются самодокументированными. Состав метаданных следует рассмотреть подробнее.
• Описание сборки – идентификаторы (имя, версия), зависимость от других сборок, ограничения безопасности.