Поскольку. NET Framework – это мощнейшая платформа для разработки приложений, она дает возможность разрабатывать приложения совершенно различного типа.
· настольные приложения (приложения, которые запускаются на локальном компьютере пользователя);
· веб-приложения (приложения, которые работают в рамках веб-сервера и доступны пользователю через браузер в рамках протокола HTTP/HTTPS);
· веб-приложения с богатым пользовательским интерфейсом (приложения, которые доставляются пользователю по протоколу HTTP/HTTPS в рамках браузера и исполняются на клиентской стороне);
· веб-сервисы (программные код, который выполняется на стороне сервера и может быть вызван с клиента для получения каких-либо данных или выполнения операции);
· мобильные приложения (приложения, которые выполняются на мобильных устройствах).
Для каждого из приведенных типов приложений в составе. NET Framework существуют соответствующие технологии, которые позволяют создавать приложения. Кроме того,. NET Framework содержит общие библиотеки, которые можно использовать в разных типах приложениях. К таким библиотекам можно отнести библиотеки:
|
|
· для работы со строками;
· для работы с математическими функциями;
· для работы с графикой;
· доступа к данным;
· для работы с файлами и другими операциями ввода-вывода;
· для выполнения криптографических операций;
· для организации синхронизации данных между источниками данных;
· и огромное количество других библиотек.
Давайте обзорно рассмотрим каждый тип приложений. Как уже было отмечено выше, для каждого из типов приложений в составе платформы. NET Framework существуют специальные шаблоны проектов.
Настольные приложения отличаются тем, что запускаются непосредственно на компьютере пользователя. Это – наиболее распространенный тип приложений. Настольные приложения обычно имеют доступ к ресурсам компьютера пользователя, таким как жесткий диск, звуковое оборудование и т.д. К достоинствам такого типа приложений можно отнести интерактивность пользовательского интерфейса и возможность работы приложения вне зависимости от подключения к сети Интернет и другим ресурсам. Однако, для работы таких приложений их необходимо устанавливать на локальный компьютер.
Настольные приложения можно разделить на три вида – оконные приложения, консольные приложения и службы Windows. Оконные приложения обладают графическим интерфейсом. Консольные приложения обычно имеют вид командной строки, а интерфейс таких приложений является текстовым, а не графическим. Наконец, службы Windows вовсе не имеют пользовательского интерфейса, а работают в фоновом режиме.
|
|
Для построения приложений с оконным графическим интерфейсом в рамках платформы. NET Framework могут использоваться технологии Windows Forms (доступно начиная с. NET Framework 1.0) и Windows Presentation Foundation (доступно начиная с. NET Framework 3.0). Последняя технология является более новой и перспективной.
Веб-приложения отличаются от настольных тем, что работают удаленно на веб-сервере. Пользователь использует возможности веб-приложений посредством браузера и протокола HTTP /HTTPS. Преимуществом этого типа приложений является то, что нет никакой необходимости устанавливать их на компьютер каждого пользователя – приложение нужно установить на веб- сервер, после чего оно становится доступным для всех пользователей. Однако, недостатком таких приложений является ограниченные возможности построения пользовательских интерфейсов. Это происходит из-за того, что пользовательский интерфейс строится на основе форматов HTML, CSS и JavaScript, которые являются достаточно ограниченными. Поэтому функциональность пользовательских интерфейсов обычно является достаточно ограниченной.
Поскольку веб-приложения обладают серьезным недостатком – ограниченными возможностями по формированию интерфейса пользователя – появился новый тип приложений, который называется богатые интернет-приложения или интернет-приложения с богатым пользовательским интерфейсом (Rich Internet Applications, RIA). Идеология этих приложений состоит в том, что в браузер интегрируется специальное дополнение (plugin), которое способно отображать дополнительный тип содержимого. После этого, когда пользователь отрывает страницу в браузере, на сторону клиента передается программный код, который работает в рамках этого дополнения. Поскольку в этом случае весь код отрабатывает на стороне клиента, у разработчиков появляется больше возможностей по формированию пользовательских интерфейсов.
Для построения подобного типа приложений существует несколько технологий. Одна из наиболее известных технологий – это технология Adobe Flash. Кроме того, существует также технология Microsoft Silverlight, которая позволяет наиболее удобно интегрироваться с остальными технологиями в рамках. NET Framework.
Другим типом приложений являются сервисы (или веб-сервисы). Сервисы – это некий программный код, который расположен на сервере и запускается по запросу от пользователя. Например, можно создать набор сервисов по работе с данными из базы данных, хранящейся на сервере. Обычно, другие типы приложений (настольные приложения, веб-приложения и т.д.) обращаются к сервисам с целью выполнить какую-либо операцию на сервере или получить с сервера данные.
В рамках платформы. NET Framework существует ряд технологий, которые позволяют создавать сервисы. Наиболее старой технологией является ASP. NET Web Services. Она позволяет создавать простые веб-сервисы, которые работают по протоколу HTTP /HTTPS. Дальнейшим развитием стала технология Windows Communication Foundation (WCF). Эта платформа является наиболее мощным и гибким инструментом, которая поддерживает различные типы каналов (HTTP, TCP, именованные каналы и др.) и существенно расширяет возможности разработчика по созданию сервисов.
Также существуют дополнительные ответвления проекта WCF – это WCF Syndication Extensions (WCF REST) и ADO. NET Data Services. Эти проекты разработаны для того, чтобы можно было удобно строить сервисы доступа к данным.
Наконец, последним типом приложений являются мобильные приложения. Мобильные приложения работают в рамках мобильных устройств на базе операционной системы Windows Mobile. Для мобильных устройств также существует реализация подмножества возможностей. NET Framework, которая называется. NET Compact Framework.
Таким образом, весь спектр технологий в рамках платформы. NET Framework можно представить следующей схемой.