Разработка веб-приложений на основе технологии ajax в среде Microsoft Visual Studio

РАЗРАБОТКА ВЕБ-ПРИЛОЖЕНИЙ НА ОСНОВЕ ТЕХНОЛОГИИ AJAX В СРЕДЕ MICROSOFT VISUAL STUDIO

В.Н. Зимин, П.В. Федосов Научный руководитель - к. т.н., доцент Б.А. Крылов

Технология AJAX позволяет реализовывать качественно новый тип веб-приложений. Это касается как увеличения скорости реакции на действия пользователя, так и сокращения объема данных, передаваемых между клиентской и серверной частями приложения. Применение специализированных сред разработки, например, Microsoft Visual Studio, значительно облегчает задачу разработки приложений такого типа.

Введение

Свойства интегрированных сред разработки

Интегрированная среда разработки представляет собой приложение, реализующее инструменты для разработки приложений для той или иной платформы, собранные в единый набор. Как правило, интегрированная среда разработки содержит такие типичные элементы, как редактор исходного кода (обычно поддерживающий подсветку синтаксиса и автоматическое форматирование, характерное для используемого языка программирования), компилятор или интерпретатор, дополнительные утилиты и отладчик. Кроме того, часто в состав интегрированных сред разработки входят дополнительные средства, такие, как, например, утилита контроля версий. Большинство современных сред ориентированы на работу с графическими операционными системами и сами используют графический интерфейс пользователя. Для облегчения создания интерфейса пользователя графических приложений современные среды разработки содержат средства визуального проектирования, в значительной степени автоматизирующие этот процесс. Так как современные языки программирования, как правило, являются объектно-ориентированными, для автоматизации и стандартизации работы с классами и объектами среды разработки содержатся специализированные инструменты, такие как инспектор объектов (object inspector) или обозреватель классов (class browser) [1].

Таким образом, можно прийти к выводу, что интегрированные среды разработки созданы для повышения производительности труда программистов. В значительной степени это достигается путем предоставления программисту возможности использования больших фрагментов готового кода, поставляемого в рамках компонентов. Типичная среда ориентированна на конкретный язык программирования и оптимизирована для максимальной поддержки концепций и парадигм, свойственных этому языку. Тем не менее, существуют и многоязыковые среды, позволяющие использовать в рамках единой среды преимущества того или иного языка в зависимости от задачи, стоящей перед разработчиком. Примером таких сред могут служить такие продукты, как NetBeans и Microsoft Visual Studio.

Потребность в создании интегрированных сред разработки возникла тогда, когда производительность труда программиста при использовании классических (не интегрированных) средств перестала отвечать растущим запросам индустрии. Первым языком, ориентированным на использование в рамках единой среды разработки, был один из вариантов Бейсика. Разумеется, эта среда не имела графического интерфейса пользователя и других типичных для сегодняшних продуктов этого класса элементов. Однако она объединяла в себе средства редактирования исходного программного кода, управления файлами, компиляции, выполнения и отладки программ, т.е. имела все основные черты, характерные для современных приложений такого класса.

Стоит так же отметить, что, несмотря на очевидные преимущества, даваемые интегрированными средствами разработки в сравнении с классическими средствами, их внедрение не сразу было воспринято положительно использовавшими их разработчиками программного обеспечения. Причина этого кроется в том, что из-за стандартизации подходов к разработке программных продуктов, лежащих в основе самой концепции интегрированной среды, поле для творчества разработчиков неизбежно сужалось. Это стало одним из неизбежных следствий внедрения новой модели разработки программного обеспечения [1].

На современном этапе все большее распространения получают системы визуального программирования. Особенность визуальных интегрированных сред заключается в том, что процесс программирования в значительной степени автоматизируется за счет использования «строительных блоков» из готового кода, которые используются для сборки приложений. Причем это касается не только визуального проектирования интерфейса пользователя. Собранные воедино компоненты, графически представляемые в процессе разработки в виде диаграмм или иных образов, затем обрабатываются компилятором аналогично классическому исходному тексту.

Используя гибкость и мощь такого подхода в области распределенных систем и широкие возможности современных веб-браузеров (таких как Internet Explorer и Firefox), можно с минимальными трудозатратами создавать достаточно мощные веб-приложения. Такой подход используется также в специализированных программах, таких, как Openlab, где конечным пользователям требуется гибкость и широкие возможности полноценного языка программирования, но без проблем, связанных с обучением ему [1].

Среда Microsoft Visual Studio 2008

Одной из самых современных интегральных сред разработки на сегодняшний день является продукт Microsoft Visual Studio 2008. Среда разработки Microsoft Visual Studio - это набор инструментов и средств, предназначенных для помощи разработчикам программ любого уровня квалификации в решении сложных задач и создания новаторских решений. Роль Visual Studio заключается в том, чтобы улучшить процесс разработки и упростить разработку высокоэффективных программ. Следует отметить

высокопроизводительные редакторы кода, поддержку технологии IntelliSense, мастеров и различных языков кодирования в одной интегрированной среде разработки. Разработчики, применяющие Visual Studio, получают в свое распоряжение интегрированный продукт, включающий инструменты, серверы и службы. В Visual Studio содержатся инструменты для всех этапов разработки программного обеспечения (разработка, тестирование, развертывание, интеграция и управление). Visual Studio 2008 в сравнении с предыдущими версиями имеет переработанный пользовательский интерфейс. Общий вид главного окна Microsoft Visual Studio 2008 представлен на рис. 1 [2].

Рис. 1. Вид главного окна VS 2008

Технология AJAX

С другой стороны, AJAX - это не самостоятельная технология, а, скорее, концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:

• использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью (например: с использованием XMLHttpRequest; через динамическое создание дочерних фреймов; через динамическое создание тега <script>);

• использование DHTML для динамического изменения содержания страницы.

В качестве формата передачи данных обычно используются JSON или XML. Впервые термин AJAX был публично использован в 2005 г., однако в той или иной

форме многие технологии были доступны и использовались гораздо раньше, например, в подходе «Remote Scripting», предложенным компанией Microsoft в 1998 г., или с использованием HTML элемента IFRAME, появившегося в Internet Explorer 3 в 1996 г.

Технология AJAX имеет следующие основные преимущества.

• Экономия трафика. Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только небольшую изменившуюся часть.

• Уменьшение нагрузки на сервер. AJAX позволяет несколько снизить нагрузку на сервер. К примеру, в Gmail, при работе с письмами, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции без необходимости повторно создавать страницу и отсылать ее клиенту.

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

Недостатки AJAX:

• Интеграция со стандартными инструментами браузера. Динамически создаваемые страницы не регистрируются браузером в истории посещения страниц, поэтому не работает кнопка «Назад», предоставляющая пользователям возможность вернуться к просмотренным ранее страницам. Другой недостаток изменения контента страницы при постоянном URL заключается в невозможности сохранения закладки на желаемый материал.

• Старые методы учета статистики сайтов становятся неактуальными. Многие сервисы статистики ведут учет просмотров новых страниц сайта, для сайтов, страницы которых широко используют AJAX, такая статистика теряет актуальность [5].

Разработка AJAX-приложения в Microsoft Visual Studio

Итак, обычно, когда программист начинает писать веб-приложение на основе AJAX предполагается, что у него уже есть как минимум базовое представление об объекте XMLHttpRequest и о том, как его создать и использовать. Но одно дело, когда речь идет об отправке пары HTML-форм, которые несложно реализовать вручную, и совсем другое, когда создается большое приложение, где только форм сотни.

Microsoft Visual Studio 2008 предоставляет уникальные возможности для создания приложений подобного рода. Благодаря наличию большого числа встроенных компонентов веб-разработчик избавлен от необходимости самостоятельно реализовывать многие компоненты, такие как календарь, часы, а порой и целые формы. На рис. 2 показано рабочее окно Visual Studio с подключенным набором Ajax элементов управления, разработанных фирмой Telerik [6].

Данный набор дополнений реализует свыше 400 различных элементов управления, которые позволяют прозрачно добавлять интерактивность фактически в любой проект. Также немаловажным преимуществом использования Visual Studio является то, что любое обычное веб-приложения легко хотя бы частично перевести на технологию AJAX в максимально сжатые сроки.

Немаловажную роль играет глубокая интеграция Visual Studio с другими компонентами, например Internet Information Services - сервером приложений, позволяющим проводить отладку веб-приложений. А тесная интеграция Visual Studio c Bug Tracking системами и отлаженная методика проведения Regression Testing позволяет всегда быть уверенным в качестве получаемого результата.

Рис. 2. Visual Studio с набором AJAX-элементов

Заключение

Литература

1. Integrated development environment [Электронный ресурс]. - Режим доступа: http://en.wikipedia.org/wiki/Integrated_development_environment

2. Microsoft Developer Network [Электронный ресурс]. - Режим доступа: -http://msdn2.microsoft.com/ru-ru/vstudio/products/default.aspx

3. Документация по веб-дизайну [Электронный ресурс]. - Режим доступа: http://webdesign.site3k.net/?/consulting/ajax.html

4. Esposito D. Introducing Microsoft ASP.Net Ajax. - Redmond: Microsoft Press, 2007 -352 с.

5. AJAX. Материал из Википедии - свободной энциклопедии [Электронный ресурс]. -Режим доступа: http://ru.wikipedia.org/wiki/Ajax

6. Ajax: Microsoft asp.net official site [Электронный ресурс]. - Режим доступа: http://asp.net/ajax/default.aspx