Чтение онлайн

на главную - закладки

Жанры

Программирование для карманных компьютеров

Волков Владимир

Шрифт:

NET и Compact Framework

Ответить на вопрос: «Что такое. NET» – не очень просто. Изначально Microsoft позиционировала свое новое начинание как базирующуюся на веб-сервисах технологию, которая соединяет информацию, людей, системы и устройства. Такое утверждение может создать устойчивое впечатление, что. NET – это в первую очередь сетевая технология. На самом деле. NET – это общее понятие, которое объединяет в себе огромную исследовательскую работу, проделанную Microsoft, по созданию практически новой распределенной операционной среды. Технология. NET насыщена как новыми решениями, так и весьма прозрачными заимствованиями из огромного количества

источников.

Реализации. NET

В настоящий момент существует несколько реализаций того, что мы называем. NET.

1. NET Framework – версия среды выполнения для серверных и настольных компьютеров с операционной системой Microsoft Windows. Она поставляется в составе операционных систем Windows XP Tablet Edition и Windows Server 2003. Для других версий Windows.NET Framework может быть свободно загружена с сайта Microsoft.

2. NET Compact Framework – среда выполнения для платформ на основе Windows CE.

3. Shared Source Common Language Infrastructure (CLI) – открытый исходный код для наиболее значимых классов CLI. Может быть загружена с сайта Microsoft.

4. DotGNU – проект GNU, развивающий реализацию. NET Framework для платформ с открытым исходным кодом. Подробности этого проекта можно узнать на сайте dotgnu.org.

5. Mono Project – еще один проект, развивающий. NET Framework для платформ с открытым исходным кодом. Подробности на сайте www.mono-project.com.

Области применения. NET

Как и было заявлено Microsoft с самого начала обнародования сведений о. NET, этот набор технологий в первую очередь адресован программистам, которые работают с веб-приложениями, и предназначен для создания расширяемых распределенных приложений, которые, взаимодействуя друг с другом через сеть, объединяют людей, информацию и компьютерные системы в прозрачную среду взаимодействия. Основным инструментом разработчиков, работающих над подобными задачами, является технология ASP.NET, предназначенная для быстрой разработки активных сервeрных страниц.

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

Разработку для мобильных и наладонных устройств можно выделить в отдельную область применения. NET. Несмотря на то что технологии используются те же самые, сама природа мобильных устройств и их способ взаимодействия с данными позволяет особо выделить эту область.

Три класса приложений. NET

Приложения WebForms

Для конечного пользователя приложение WebForms выглядит как обычное веб-приложение. Если в нем не используется выборка данных, то можно даже не заподозрить наличия активной составляющей на стороне сервера. Для программиста же это выглядит как полноценное приложение WebForms, созданное при помощи технологии ASP.NET в среде Microsoft Visual Studio.NET и выполняемое на сервере под управлением среды выполнения. NET.

Приложения WindowsForms

Как и приложение WebForms, для конечного пользователя приложение Windows-Forms мало отличается от привычного приложения с графическим интерфейсом пользователя, связанного или не связанного с данными и выполняющего все те же функции. Единственная разница заключается в том, что это приложение не может быть выполнено на операционной системе, если в ней не установлена среда выполнения. NET.

Веб-сервисы

Веб-сервисы являются третьим классом приложений. NET. У этих приложений нет графического интерфейса, зато

они поддерживают интерфейсы распределенных приложений. Основанные на специальном протоколе SOAP, реализующем RPC (удаленный вызов процедур), веб-сервисы поддерживают взаимодействие через Интернет.

Базовые программные элементы. NET

Хорошо организованный интерфейс программирования

Тот, кто часто сталкивается с необходимостью использования Win32 API, знает, насколько противоречиво, запутанно и несистематично организован этот программный интерфейс. В Win32 API программист может обнаружить вызовы функций с одинаковыми именами (старая версия, оставленная для обратной совместимости, новая версия и улучшенная совсем новая версия), громоздкие структуры, передаваемые в качестве аргументов, в которых множество членов зарезервировано для будущего использования, отсутствие объектно-ориентированного подхода и явное присутствие хаоса. Кроме этого, при разработке в Win32 одним из «вечно живых» вопросов была проблема утечек памяти, вызванная обязанностью в явной форме захватывать и освобождать память, возложенной на программиста. Конечно, это не столько вина, сколько беда разработчиков Microsoft, которые все время существования и развития Windows заботились об обратной совместимости программ и средств программирования. В.NET был сделан большой шаг вперед. Интерфейс программирования. NET является полностью объектно-ориентированный интерфейсом, с хорошо организованной иерархией имен и классов, легкий для изучения и интуитивно понятный для программиста.

Common Intermediate Language

Когда разработчик пишет программы для Microsoft Windows на C/C++, в результате он получает файл с расширением. exe, то есть файл в формате PE (portable executаble). Файлы в таком формате всегда содержат код, специфичный для процессора, на котором они выполняются. Файлы, созданные в технологии. NET, также имеют расширение. exe и внешне подобны файлам в формате PE. Однако на самом деле внутри они содержат не машинные инструкции процессора, а инструкции некоторого промежуточного языка, который известен под несколькими названиями (аббревиатурами) – Common Intermediate Language (CIL), Microsoft Intermediate Language (MSIL) или просто Intermediate Language (IL) . Этот язык имеет одинаковый формат для любой платформы, на которой выполняется. NET Framework. Окончательная компиляция запускаемого файла в машинные инструкции. NET Framework производится в момент запуска. При этом выполняется оптимизирующая компиляция, то есть компилятор отслеживает вызовы всех методов и компилирует только те методы, которые реально вызываются в программе. Такой способ запуска программ приводит к повышению эффективности потребления ресурсов и называется JIT-compilation . Скомпилированный код помещается в native image cache , что приводит к быстрому повторному обращению к уже вызывавшимся методам.

Common language runtime

Этот общий промежуточный язык, независимый от платформы и являющийся результатом работы разных программных средств, позволяет обеспечивать взаимодействие между программным кодом, написанным на разных языках. Модуль, написанный на одном языке, может быть с легкостью использован программой, написанной на другом языке. К межъязыковой среде выполнения относится и сборщик мусора (garbage collector), который должен следить не только за памятью каждой программы, но и за уборкой памяти. Естественно, автоматическое распределение памяти также относится к области ответственности межъязыковой среды выполнения.

Поделиться:
Популярные книги

Черный дембель. Часть 2

Федин Андрей Анатольевич
2. Черный дембель
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Черный дембель. Часть 2

Кодекс Крови. Книга ХIV

Борзых М.
14. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХIV

Магия чистых душ 3

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Магия чистых душ 3

Жестокая свадьба

Тоцка Тала
Любовные романы:
современные любовные романы
4.87
рейтинг книги
Жестокая свадьба

Усадьба леди Анны

Ром Полина
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Усадьба леди Анны

Измена. Возвращение любви!

Леманн Анастасия
3. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Возвращение любви!

Два лика Ирэн

Ром Полина
Любовные романы:
любовно-фантастические романы
6.08
рейтинг книги
Два лика Ирэн

Опасная любовь командора

Муратова Ульяна
1. Проклятые луной
Фантастика:
фэнтези
5.00
рейтинг книги
Опасная любовь командора

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

Мымра!

Фад Диана
1. Мымрики
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мымра!

Таня Гроттер и магический контрабас

Емец Дмитрий Александрович
1. Таня Гроттер
Фантастика:
фэнтези
8.52
рейтинг книги
Таня Гроттер и магический контрабас

Имперский Курьер

Бо Вова
1. Запечатанный мир
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Имперский Курьер

Страж. Тетралогия

Пехов Алексей Юрьевич
Страж
Фантастика:
фэнтези
9.11
рейтинг книги
Страж. Тетралогия

Сердце дракона. Танец с врагом

Серганова Татьяна
2. Танец с врагом
Любовные романы:
любовно-фантастические романы
5.25
рейтинг книги
Сердце дракона. Танец с врагом