`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Microsoft Atlas: за или против Ajax?

Статья опубликована в №22 (541) от 13 июня

0 
 

.aspx-страницы Microsoft Atlas за или против Ajax? Листинг 4. Код JavaScript-функций

Для примера сконструируем интерактивную страницу, способную выводить текущие дату и время. В качестве источника данных выступит простая Web-служба, которая содержит всего один метод (Листинг 1).

Начнем с организации поддержки Atlas в ASP.NET-странице, для чего в секции стандартного .aspx-файла необходимо вставить код, отвечающий за подключение ключевого элемента среды – ScriptManager. Здесь же нужно указать ссылку на нашу Web-службу (Листинг 2).

Затем оформим тело страницы, указав секцию Results для вывода результатов (Листинг 3). Добавим JavaScript-код функции DoHello, отвечающей за асинхронный вызов метода Web-службы, и OnRequestComplete, размещающей результат в положенном месте (Листинг 4).

Работа готового приложения происходит достаточно стандартным для Ajax образом, но даже такой простой пример хорошо иллюстрирует и основные особенности Atlas: серверной частью Web-приложения может быть обычное ASP.NET-решение, например Web-служба, а вызов XMLHTTPRequest осуществляется самой средой Atlas.

Расширения JavaScript

Об ограничениях JavaScript известно давно. На самом деле ни один программист, ценящий свое время, не станет рассматривать этот язык в качестве основного инструмента для создания серьезного Web-приложения. Пожалуй, наиболее существенной причиной тому является слишком ограниченная поддержка ООП.

Microsoft могла бы пойти своим излюбленным путем и реализовать в Internet Explorer новую версию JavaScript, устраняющую наиболее серьезные проблемы, и, естественно, несовместимую с прочими браузерами. Однако постоянные антимонопольные разбирательства и динамика на рынке браузеров делают подобный шаг сегодня излишне рискованным, поэтому в корпорации поступили иначе. Расширенные возможности этого языка содержатся в Atlas, значит, они доступны и во всех поддерживаемых браузерах.

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

Трансформация ASP.NET-приложений

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

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

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

Кроме того, даже стандартные элементы управления ASP.NET становятся более интерактивными благодаря специальным «расширителям» (extenders) – например, с их помощью для поля ввода можно организовать автозаполнение.

Для поддержания визуальной обратной связи с пользователем во время обновления данных Atlas предлагает элемент управления UpdateProgress. Также существует возможность задать callback-функции, которые будут вызваны в случае превышения времени ожидания при асинхронном вызове Web-службы.

Atlas-приложения могут работать и со сложной инфраструктурой сайтов или взаимодействующих между собой Web-сервисов (что характерно для концепции Web 2.0). С этой целью в Atlas поддерживается специальный механизм мостов (bridge), с помощью которых можно получать данные от удаленных Web-служб и представлять их в контексте одного первичного сайта, просматриваемого пользователем. Для этого, кстати, не обязательно наличие административных полномочий, что актуально в обычных условиях, применяемых хостинговыми компаниями.

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

Декларативная разметка

Другая интересная возможность, предоставляемая Atlas, – это поддержка декларативной разметки, посредством которой можно реализовать ту же функциональность, что и с помощью JavaScript.

Microsoft Atlas за или против Ajax?
Листинг 5. Пример декларативной разметки

Блок декларативной разметки начинается со стандартного тега , но с указанием для атрибута type значения «text/xml-script». Далее идут специальные теги и атрибуты, с помощью которых задается реакция на события, последовательность исполнения действий, передаваемые параметры и пр. К примеру, Листинг 5 представляет ту же функциональность, что и реализованная на JavaScript в Листинге 4.

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

Atlas Control Toolkit

Microsoft Atlas за или против Ajax?
Элементы управления из Atlas Control Toolkit позволяют с минимальными усилиями значительно повысить интерактивность интерфейса Web-приложений

Наряду с самой платформой Atlas Microsoft работает также над набором элементов управления – Atlas Control Toolkit (atlas.asp.net/atlastoolkit). Занимается этим специальная команда – Agility Team – некое спецподразделение, главная задача которого состоит в полевых испытаниях новейших технологий корпорации.

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

Atlas – это не только ASP.NET и IIS

В том, что Atlas поддерживает различные браузеры, нет ничего удивительного, поскольку сегодня Microsoft обязана считаться с пользователями альтернативных программ. Однако настоящей сенсацией стало известие о том, что в качестве серверной платформы для Atlas может использоваться не только ASP.NET, и даже не обязательно IIS.

Невероятно, но факт: Microsoft обещает поддержку других Web-серверов (это достигается благодаря независимости клиентской и серверной составляющих Atlas). Наверняка для связки IIS/ASP.NET будет предоставлено больше возможностей, но все же вариант применения Atlas с Apache и PHP выглядит достаточно интересным.

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

Заключение

Возвращаясь к вопросу о том, что же представляет собой Atlas, можно утверждать, что эта среда унаследовала от Ajax базовые технологии, а от ASP.NET – идеологию разработки. Таким образом, налицо некоторая двойственность. С одной стороны, это, несомненно, очередная реализация концепции Ajax, но с другой – альтернатива традиционным Ajax-решениям, поскольку Atlas призван в максимальной степени сохранить принципы и достоинства ASP.NET. Более того, как мы выяснили, с помощью Atlas можно создавать полноценные Ajax-приложения, вообще не прибегая к помощи JavaScript.

Не вызывает сомнения, что Atlas завоюет популярность среди разработчиков, использующих технологии Microsoft. Сегодня среда еще находится в стадии бета-тестирования, но уже можно посетить сайты, которые ее используют: Windows Live, конструктор персонализированных домашних страниц PageFlakes, онлайновый почтовый клиент и RSS-агрегатор Squeet, сервис для отслеживания продаж и популярности книг TitleZ, развлекательный ресурс YTV. Но гораздо более интересно оценить дальнейшие перспективы Atlas, как самодостаточной технологии.

Учитывая, насколько органично удалось разработчикам Microsoft вписать Atlas в существующую идеологию ASP.NET, можно утверждать, что Atlas станет стандартной составляющей последующих версий ASP.NET. Однако для самой Microsoft Atlas является, скорее, переходным этапом на пути к куда более впечатляющей Windows Presentation Foundation/Everywhere (WPF/E) – независимой от платформы среде представления информации и построения пользовательского интерфейса.

e-mail автора: koldovsky@koldovsky.com

0 
 

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT