Статьи

OSCON 2006: Ajax + .NET = Атлас

После ознакомления с AJAX с нуля Кристиан Венц выступил с демонстрационным докладом (мой любимый вид!), Демонстрируя многие возможности инструментария Microsoft Atlas для создания приложений AJAX в ASP.NET.

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

Atlas UpdatePanel — отличный способ «облегчить» доступ к AJAX, одновременно избавляя от одной из основных неприятностей простого ASP.NET. Оборачивая часть вашей страницы ASP.NET в Atlas UpdatePanel, эта часть страницы может выполнять обратные передачи (обходы сервера для обновления пользовательского интерфейса в ответ на ввод данных пользователем) через AJAX, без необходимости перезагружать остальную часть страница. Венц продемонстрировал, насколько просто было встроить элемент управления Calendar с интенсивным постбэком в ASP.NET в UpdatePanel, чтобы исключить все эти назойливые перезагрузки страницы.

Затем Венц создал простую демонстрацию автозаполнения в том же духе, что и Google Suggest. Это было удивительно легко сделать благодаря способности Atlas расширить существующие компоненты ASP.NET (например, TextBox) с помощью функциональности AJAX. Я был рад видеть, что это изящно уменьшилось до простого TextBox, когда JavaScript был отключен на стороне клиента.

Сложной проблемой, которая не очень хорошо обрабатывается другими инструментальными наборами AJAX, является проблема междоменных запросов (см. Мой отчет о предыдущем выступлении на эту тему), и Atlas на самом деле имеет довольно изящное решение этой проблемы: инфраструктура для создания серверных боковые прокси для вызова удаленных сервисов со стороны клиента. Такой подход к решению проблемы междоменных запросов не всегда практичен, но, по крайней мере, у Atlas есть решение, в то время как другие фреймворки часто оставляют за разработчиком возможность создать его с нуля.

Наконец, Венц развернул безобидную толпу, пожалуйста: управление картой AJAX, предоставляемое Virtual Earth. Как и следовало ожидать, это было тривиально.

Некоторые другие указатели, предоставленные Wenz: Atlas Control Toolkit — усилие сообщества по созданию новых элементов управления и расширений для инфраструктуры Atlas; предпринимаются усилия по переносу серверной части Atlas на PHP.