Первые динамические сайты (сайты с динамическими страницами) изначально строились по технологии CGI (Common Gateway Interface). CGI генерировал страницу с наполнением ее из базы данных в соответствии с заданными пользователем запросом к серверу.
Аналогичный подход используется и сейчас и в ASP.NET, и в PHP и т.д.
Недостатком такого подхода является необходимость полной перегенерации страницы даже при незначительных ее изменениях, например, при сортировке одной из таблиц.
В 2004 году появилась новая технология AJAX (Asynchronous JavaScript + XML). В данной технологии запрос к серверу (как и получение результата) осуществляется с использованием JavaScript, что не требует полной перегрузки страницы в браузере. На сервер и с сервера передаются только те данные, которые необходимы для данного запроса.
Технология получилась эффективная, но достаточно сложная, и широкого применения пока не нашла.
Компания Microsoft не пропустила новую технологию и создала инструмент ASP.NET Atlas, позволяющий создавать сайты на ASP.NET с использованием AJAX . В этот инструмент входит библиотека, содержащая ряд компонентов, использующих AJAX. Для большинства случаев при использовании этих компонентов даже нет необходимости знать принципы работы AJAX.
Первоначально Atlas появление планировалось в Visual Studio 2007, но уже сейчас ее можно бесплатно скачать с сайта atlas.asp.net и подключить к Visual Studio 2005.
Но у технологии Atlas сохранились и недостатки AJAX, из-за которых переход и на нее происходит довольно медленно:
- Большой размер JavaScript-кода — порядка 100 килобайт.
- Нужно реализовывать возврат к предыдущему состоянию — как и в случае с фреймами, кнопка браузера «Назад» мало помогает в AJAX-приложениях.
- URL почти никак не отображает состояние страницы (все модификации страницы имеют один и тот же адрес);
- Трудно зафиксировать момент модификации страницы;
- Большой объем JavaScript-кода на странице приводит к снижению работы компьютера пользователя.
Технология несомненно нужная и востребованная, при создании веб-приложений следует только не зацикливаться на максимальное ее использование и демонстрацию всех ее возможностей, использовать ее именно тогда, когда она необходима.