Разработка веб-приложений с использованием ASP.NET и AJAX
Дино Эспозито
Написанная известным экспертом в области интернет-разработок Дино Эспозито, эта книга учит современным методам разработки динамических веб-приложений на базе концепции AJAX. С ее помощью вы научитесь планировать, проектировать и создавать интернет-проекты, используя все те богатые возможности, которые предоставляет связка ASP.NET и AJAX. Вы узнаете, каким образом с помощью AJAX можно оптимизировать сложные веб-приложения, как эффективно использовать шаблоны (паттерны) проектирования для AJAX и применять JavaScript-библиотеки, например, jQuery, а также осуществлять корректную привязку данных на стороне клиента и многое другое.
Книга предназначена для программистов, работающих с ASP.NET, которые хотят освоить современные решения и методы веб-разработки, основанные на концепции AJAX.
Издательство: Питер, 2012 г.
ISBN 978-5-459-00347-5, 978-0-7356-2621-8
Количество страниц: 400.
Содержание книги «Разработка веб-приложений с использованием ASP.NET и AJAX»:
- 16 Благодарности
- 17 Введение
- 17 Для кого написана эта книга?
- 19 Часть I (Насущная) Перелицовка застарелой технологии Web
- 20 Глава 1. Под защитой AJAX
- 21 Какой Web нам нужен?
- 21 Все ради впечатления пользователя
- 22 Впечатление пользователя для «чайников»
- 23 Впечатление пользователя для пользователей с медленным соединением по сети
- 24 Впечатление пользователя для разработчиков
- 25 Пользовательский интерфейс для менеджеров
- 26 Основные принципы Web
- 26 Рождение Web
- 27 Принцип работы Web
- 27 Изначальное предназначение HTML и HTTP
- 28 Парадокс Web
- 28 Старый, прочный фундамент, на котором основан Web
- 29 Фундамент заменить нельзя
- 30 Главное преимущество AJAX
- 31 Чем на самом деле является AJAX?
- 31 Новая концепция веб-программирования
- 32 Объект XMLHttpRequest
- 33 Объектная модель документов
- 33 Изменение концепции
- 34 Модель «страницы с формами»
- 34 Модель «данные для данных»
- 36 Рефакторинг AJAX: элементы, веб-страницы и приложения
- 37 AJAX и новые веб-проекты
- 37 Внедрение возможностей AJAX
- 38 Выборочные обновления
- 38 Затраты и выгоды
- 39 Архитектура – важный вопрос
- 39 Некоторые общие вопросы архитектуры
- 40 Два уровня и формат данных
- 41 JSON как облегченная альтернатива XML
- 42 Затраты и выгоды
- 43 RIA, «богатые» интернет-приложения
- 43 Доступность против «богатства» приложений
- 44 Приложение RIA обладает более функциональным HTML
- 45 Приложение RIA обладает более функциональным JavaScript
- 45 Выводы
- 37 Внедрение возможностей AJAX
- 21 Какой Web нам нужен?
- 47 Глава 2. Легкий подход к AJAX
- 48 Инфраструктура ASP.NET AJAX
- 48 Менеджер скриптов страницы
- 49 Элемент управления ScriptManager
- 50 Оптимизация частичной отрисовки страниц
- 51 Те же скрипты, но обработанные лучше
- 53 Те же сценарии, но используемые глобально
- 54 Добавление сервисных ссылок на страницы
- 54 Определение точек истории в пределах страниц
- 56 Библиотека Microsoft JavaScript
- 57 JavaScript с более богатой функциональностью
- 58 Плюсы и минусы языка JavaScript
- 59 Добавление объектной ориентации в JavaScript
- 48 Менеджер скриптов страницы
- 60 Частичная отрисовка страниц
- 60 Элемент управления UpdatePanel
- 60 Причины для использования частичной отрисовки страниц
- 61 Беглый взгляд на синтаксис
- 63 Механизм частичной отрисовки страниц
- 64 Механизм частичной отрисовки страниц в серверной части
- 65 Роль просмотра состояния
- 66 Плавное обновление страницы
- 67 Программирование обновляемых панелей
- 67 Условные обновления
- 69 Управление программными обновлениями
- 70 Динамические шаблоны
- 71 Дополнительные возможности
- 71 Сведение к минимуму передачи данных
- 72 Золотые правила по размещению элементов управления UpdatePanel
- 72 Снижение размеров страниц для операции частичной отрисовки
- 73 Свет и тени частичной отрисовки
- 75 Обратная связь с пользователем
- 77 Отключение визуальных элементов в процессе обновлений
- 78 Проблемы с одновременными вызовами
- 79 Проблемы с опросами
- 60 Элемент управления UpdatePanel
- 79 AJAX и JavaScript-вставки
- 80 Удаленные методы
- 80 Методы страниц
- 81 Активация страничных методов
- 83 Сравнение страничных методов и сервисов
- 83 Виджеты и эффекты
- 83 AJAX Control Toolkit
- 86 Библиотека jQuery
- 80 Удаленные методы
- 87 Резюме
- 48 Инфраструктура ASP.NET AJAX
- 89 Глава 3. Архитектура AJAX
- 90 Схема сервисного уровня AJAX
- 90 Обзор архитектуры
- 91 HTTP-представление
- 92 HTTP-представление и схема сервисного уровня
- 94 Технологии HTTP-представления
- 96 Передача данных и формат данных
- 97 Почему JSON более предпочтителен, чем XML
- 98 HTML-уровень представления
- 100 Взгляд изнутри на HTTP-представление
- 100 Анализ HTTP-запросов
- 101 WCF-сервисы
- 106 Веб-сервисы ASP.NET
- 109 Пользовательские сервисы
- 110 Платформа ADO.NET Data Services
- 111 Уровень представления AJAX
- 111 Получение прокси для HTTP-представления
- 112 Использование прокси
- 114 JavaScript-шаблон «Модель-контроллер»
- 115 Вопросы безопасности
- 116 HTTP-представление – это не средний уровень вашего приложения
- 117 Встроенные контрмеры безопасности
- 118 Replay-атаки
- 118 Оградиться от посторонних
- 120 Обеспечение доверительности HTTP-представлению
- 90 Обзор архитектуры
- 121 Шаблон AJAX Server Pages
- 122 Обзор архитектуры
- 122 Классические элементы управления ASP.NET
- 123 Увеличение числа JavaScript-вставок на странице
- 125 Фоновый код и сервисный уровень
- 125 Еще одна реализация классической модели постбэков
- 125 Это тот же постбэк
- 126 Более интеллектуальная форма частичной отрисовки
- 127 Библиотеки в действии
- 128 RadControls для ASP.NET AJAX от компании Telerik
- 129 Gaia AJAX от компании Gaiaware
- 122 Обзор архитектуры
- 134 Резюме
- 90 Схема сервисного уровня AJAX
- 135 Часть II. Улучшение функциональности клиентской стороны
- 136 Глава 4. Улучшенный и более функциональный JavaScript
- 137 JavaScript сегодня
- 137 Язык JavaScript и браузер
- 138 Изначальное предназначение языка JavaScript
- 138 Обработчик сценариев
- 140 Общепризнанные недостатки
- 141 Столпы языка JavaScript
- 142 Объекты как словари
- 142 Функции как объекты
- 143 Динамическая типизация
- 144 Замыкания и прототипы
- 145 JavaScript будущего (если таковой будет в будущем)
- 146 Модернизация языка
- 146 Все дело в безопасности
- 147 JavaScript-движок V8 от Google
- 137 Язык JavaScript и браузер
- 147 Библиотека Microsoft AJAX
- 148 Обзор библиотеки
- 148 Основные файлы
- 149 Подключение библиотеки Microsoft AJAX
- 149 Без ненужных украшательств
- 150 Расширения языка JavaScript
- 150 Примитивные типы
- 151 Новые типы
- 152 Сокращенные наименования функций
- 153 Объектно-ориентированные расширения
- 154 Пространства имен и классы
- 155 Наследование и полиморфизм
- 157 Интерфейсы
- 158 Возможности платформы
- 159 Отражение
- 161 Объект Application
- 163 Операции со строками
- 163 Отладка
- 164 Сетевой стек
- 166 Модель событий
- 148 Обзор библиотеки
- 167 Выводы
- 137 JavaScript сегодня
- 169 Глава 5. JavaScript-библиотеки
- 170 От серверных элементов управления к JavaScript-виджетам
- 171 Фактор ASP.NET
- 171 Почему ASP.NET был вехой в истории веб-разработки?
- 172 Перемена ветра для серверных элементов управления
- 173 Фактор JavaScript-виджетов
- 174 Самые популярные библиотеки
- 175 Библиотека Dojo
- 175 Библиотека ExtJS
- 175 Библиотека PrototypeJS
- 177 Библиотека Script.aculo.us
- 177 Библиотека Yahoo! UI
- 179 Библиотеки и естественный отбор
- 171 Фактор ASP.NET
- 181 Библиотека jQuery
- 181 Быстрый взгляд на библиотеку
- 181 Размер библиотеки
- 182 Фундаментальные особенности
- 183 Использование библиотеки в Visual Studio 2008
- 181 Быстрый взгляд на библиотеку
- 184 Ядро библиотеки
- 184 Функция $
- 185 Упакованные наборы
- 186 Вспомогательные методы функции $
- 187 Селекторы jQuery
- 187 CSS-селекторы
- 188 CSS-селекторы в действии
- 189 Фильтры
- 194 Фильтры элементов форм
- 195 Работа с упакованными наборами
- 195 Перебор элементов в упакованном наборе
- 196 Некоторые предопределенные операции
- 197 Связывание методов в цепочки вызовов
- 198 Утилиты jQuery
- 198 Обработка событий
- 202 Визуальные эффекты
- 205 Функции для работы с AJAX
- 206 Кэширование
- 207 Подключаемые модули jQuery
- 208 Платформа jQuery UI
- 184 Функция $
- 211 Выводы
- 170 От серверных элементов управления к JavaScript-виджетам
- 212 Глава 6. Шаблоны проектирования с использованием AJAX
- 213 Шаблоны проектирования и разработка кода
- 213 Основные положения шаблонов проектирования
- 214 Применение шаблонов проектирования
- 214 Истинная ценность шаблонов
- 215 Шаблоны и идиомы
- 216 Шаблоны, используемые при разработке AJAX-приложений
- 216 Динамическая загрузка данных
- 217 Управление DOM-моделью страницы
- 217 Пользовательские действия
- 218 Уникальный URL-адрес
- 213 Основные положения шаблонов проектирования
- 219 Шаблоны JavaScript-разработки
- 220 Шаблон «Одиночка»
- 220 Общая характеристика шаблона «Одиночка»
- 221 Реализация шаблона «Одиночка» с использованием клиентской библиотеки Microsoft AJAX
- 222 Шаблон «Модель-Представление-Контроллер»
- 223 Основы шаблона «Модель-Представление-Контроллер»
- 224 Шаблон «Модель-Представление-Контроллер» в JavaScript
- 228 Шаблон загрузки по требованию в JavaScript
- 229 Основные положения JavaScript-шаблона загрузки по требованию
- 229 Использование объекта XMLHttpRequest для загрузки скриптов по запросу
- 230 Использование DOM-модели для загрузки скриптов по запросу
- 220 Шаблон «Одиночка»
- 231 Шаблон «Выборка с предсказанием»
- 232 Основные положения шаблона «Выборка с предсказанием»
- 232 Подробности шаблона «Выборка с предсказанием»
- 232 Причины для использования шаблона «Выборка с предсказанием»
- 233 Открытые вопросы в шаблоне «Выборка с предсказанием»
- 234 Пример реализации шаблона «Выборка с предсказанием»
- 234 Сценарий для шаблона «Выборка с предсказанием»
- 235 Управление удаленными вызовами
- 239 Кэширование делает приложения более быстрыми и привлекательными
- 242 Выводы о шаблоне «Выборка с предсказанием»
- 232 Основные положения шаблона «Выборка с предсказанием»
- 242 Шаблон «Время ожидания»
- 243 Основные положения шаблона времени ожидания
- 243 Подробности шаблона времени ожидания
- 244 Причины для использования шаблона времени ожидания
- 244 Прерывание сессии браузера
- 245 Пример реализации шаблона времени ожидания
- 245 Сценарий для шаблона времени ожидания
- 249 Открытые вопросы в шаблоне времени ожидания
- 250 Родственные шаблоны
- 250 Шаблон «Периодическое обновление»
- 251 Шаблон «Пульс»
- 251 Шаблон «Расписание событий»
- 243 Основные положения шаблона времени ожидания
- 252 Шаблон «Индикатор прогресса»
- 252 Основные положения шаблона индикатора прогресса
- 253 Подробности шаблона индикатора прогресса
- 253 Элемент UpdateProgress платформы ASP.NET
- 254 Открытые вопросы в шаблоне индикатора прогресса
- 255 Пример реализации шаблона индикатора прогресса
- 255 Сценарий для шаблона индикатора прогресса
- 256 Проектирование серверного программного интерфейса
- 257 Реализация задачи
- 259 Реализация приемника сообщений
- 261 Реализация клиентского программного интерфейса
- 266 Обновление пользовательского интерфейса
- 268 Отмена выполняющейся серверной задачи
- 268 Наиболее простой способ отмены операций
- 270 Проектирование серверной операции, поддерживающей отмену выполнения
- 274 Прерывание операции с клиентской стороны
- 275 Как насчет отката результатов?
- 252 Основные положения шаблона индикатора прогресса
- 276 Другие шаблоны
- 276 Шаблон «Микроссылка»
- 276 Страничные ссылки и микроссылки
- 277 Микроссылки на практике
- 278 Микроссылки в jQuery
- 279 Шаблон «Междоменный прокси-объект»
- 279 Проблема политики единого домена
- 280 Удаленные вызовы при помощи JavaScript
- 281 Обработка ошибок
- 282 Шаблон «Регулировка отправки»
- 282 Шаблон «Явная отправка»
- 283 Поэтапная отправка
- 284 Таймеры для имитации многопоточности
- 285 Шаблон «Интерактивная форма»
- 276 Шаблон «Микроссылка»
- 286 Выводы
- 213 Шаблоны проектирования и разработка кода
- 288 Глава 7. Привязка данных на стороне клиента
- 289 Архитектурный тур по привязке данных в платформе ASP.NET
- 290 Проектирование HTML-шаблона
- 290 Автоматическое формирование HTML-разметки
- 291 Формирование HTML-разметки на основе шаблонов
- 293 Интерфейс ITemplate
- 296 Сравнение шаблонного и автоматизированного подходов
- 297 Проектирование источника данных
- 297 Допустимые источники данных в ASP.NET
- 298 Свойства привязки данных
- 299 Привязка данных в эпоху AJAX
- 299 Инструменты для эффективной привязки данных на стороне клиента
- 302 Не стоит сбрасывать со счетов частичную отрисовку
- 290 Проектирование HTML-шаблона
- 303 Шаблон на стороне браузера
- 303 Основные положения шаблона на стороне браузера
- 304 Подробное описание шаблона на стороне браузера
- 304 Что же, в сущности, такое – HTML-шаблон?
- 305 Смешивание данных и шаблонов
- 306 Двусторонний шаблон
- 307 Пример реализации шаблона на стороне браузера
- 308 Шаблон на стороне браузера: общая картина
- 308 Подготовка страницы
- 311 Генератор HTML-разметки
- 317 Настройка генерации разметки для элемента данных
- 319 Генерация персонализированной разметки
- 321 Украшение вашего решения эффектами jQuery
- 303 Основные положения шаблона на стороне браузера
- 322 Шаблон «HTML-сообщение»
- 323 Основные положения шаблона «HTML-сообщение»
- 323 Подробное описание шаблона «HTML-сообщение»
- 324 Причины для использования шаблона «HTML-сообщение»
- 326 Сравнение «шаблона на стороне браузера» и HTML-сообщения
- 327 Пример реализации шаблона «HTML-сообщение»
- 327 Шаблон «HTML-сообщение»: общая картина
- 328 Удаленный сервис
- 331 Генерация разметки
- 333 Расширение DynamicPopulate
- 334 Небольшой пример реализации на платформе ASP.NET MVC
- 323 Основные положения шаблона «HTML-сообщение»
- 336 Взгляд на платформу ASP.NET AJAX 4.0
- 336 Шаблоны ASP.NET AJAX
- 336 Структура шаблона
- 338 Компонент Sys.UI.DataView
- 340 Внедрение дополнительной логики в шаблон
- 342 Компонент Sys.Data.DataSource
- 343 Поддержка сервисов данных ADO.NET
- 343 Основные положения платформы ADO.NET Data Services
- 343 Использование прокси-классов для сервисов данных ADO.NET
- 344 Отображение содержимого, возвращаемого сервисом данных ADO.NET
- 336 Шаблоны ASP.NET AJAX
- 345 Выводы
- 289 Архитектурный тур по привязке данных в платформе ASP.NET
- 346 Глава 8. Насыщенные интернет-приложения
- 346 В поисках более насыщенной Всемирной паутины
- 347 Мечта о двоичном коде, запускаемым во Всемирной паутине
- 347 Первая попытка – технология ActiveX
- 348 Тернии безопасности и совместимости
- 348 Другая попытка – технология Flash
- 349 Подключаемые модули браузера
- 350 Краткая история подключаемых модулей
- 350 Вопросы безопасности
- 351 Тег <object>
- 352 Характеристики подключаемого модуля браузера
- 352 Подключаемые модули, используемые для размещения приложений
- 347 Мечта о двоичном коде, запускаемым во Всемирной паутине
- 353 Обзор платформы Microsoft Silverlight
- 354 Элементы архитектуры Silverlight
- 354 Сравнение Silverlight и AJAX
- 355 Сравнение Silverlight и «умных» клиентов
- 356 Запуск Silverlight-приложений
- 357 Графика и мультимедиа
- 357 Элементы управления для работы с мультимедиа
- 358 Анимация
- 358 Технология Deep Zoom
- 359 Создание приложений
- 360 Код и разметка
- 361 Языки программирования
- 361 Пакеты XAP
- 362 Загрузка исполняющей среды CLR
- 354 Элементы архитектуры Silverlight
- 362 Программная модель платформы Microsoft Silverlight
- 363 Пользовательский интерфейс, основанный на WPF
- 363 Менеджер верстки
- 365 Общий набор элементов управления
- 366 Менеджер привязки данных
- 367 Совместимость между кодом Silverlight и WPF
- 368 Базовый набор классов .NET
- 369 Поддержка технологии LINQ
- 370 Поддержка многопоточности
- 372 Поддержка таймеров
- 373 Изолированное хранилище
- 373 Почему локальное хранилище так важно?
- 374 Подсистема хранения данных
- 375 Работа с файлами и папками
- 376 Работа с потоками
- 378 Управление хранилищем
- 379 Дисковые квоты
- 380 Сетевые операции
- 381 Загрузка данных
- 384 Работа с HTTP-запросами
- 385 Работа с сервисами
- 387 Выполнение междоменных запросов
- 363 Пользовательский интерфейс, основанный на WPF
- 389 Платформа Microsoft Silverlight и безопасность кода
- 389 Модель безопасности
- 389 Защита доступа по правам кода
- 390 Прозрачность кода
- 390 Атрибуты безопасности
- 391 Прозрачный код
- 391 Критичный код
- 392 Безопасно-критичный код
- 394 Безопасность, обеспечиваемая архитектурой платформы
- 395 Код приложения и код платформы
- 395 Правила наследования
- 389 Модель безопасности
- 396 Выводы
- 346 В поисках более насыщенной Всемирной паутины
Инструкция как скачать книгу Дино Эспозито: Разработка веб-приложений с использованием ASP.NET и AJAX в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.