Автокликер
Блог
Библиотека
Еще...

Математика

Консервирование

Салаты

Физкультура и спорт

Теория программирования

AJAX

Напитки

Assembler

Выпечка

Национальная кухня

Интернет

Кулинария

Компьютерная графика и дизайн

Плавание

Баскетбол

Рыбы

Гимнастика, фитнес, йога

Шахматы

Компьютерная литература

Теория автоматов

Беременность и уход за ребенком

Дефектология, логопедия

Массаж

Дискретная математика

Позвоночник, суставы

Книги Малахова Г.П.

Детская психология

Общая психология

ВАЗ

Ремонтная мастерская

Детская литература

Психология

Воспитателям

MatLab

Дайвинг

Книги для родителей

Кошки

Хомячки

Собаки

Фотография

Практическая и прикладная психология

Рукоделие

Попугаи

Боевые искусства, самооборона

Linux, Unix, FreeBSD, MacOS

Мир животных

Вождение

Ремонт и строительство

Здоровый образ жизни

Книги для девочек

Цветоводство

Автотранспорт

Энциклопедии, познавательная литература

Зрение

Здоровое питание и диеты

SQL и MySQL

Гастроэнтерология

Фастфуд

JavaScript

Mathcad

Мода, стиль и красота

Flash

Железо

Тяжелая атлетика

PHP

Эзотерика. Парапсихология. Тайны

Книги Болотова Б.В.

Бизнес-книги

Системное программирование

Диетическая кухня

Психология общения

Художественная литература

Сказки

Дизайн, интерьер

ЗАЗ

История бизнеса

Менеджмент

Медицина и здоровье

Зарубежная литература

Развитие и воспитание детей

Компьютерные сети

Ландшафтный дизайн

Педагогика

Возрастная психология

Авто-право

HTML

XML

Python

Perl

Windows

Excel

Правила дорожного движения

Visual Basic

Хобби, увлечения, досуг

Сад, огород

Рисование

Художественная кулинария

Лечебная физкультура

Барбекю. Гриль. Мангал

Книги для мальчиков

Экономика

Нетрадиционная медицина

Маркетинг, реклама и PR

Очищение организма

Банковское дело

Коллекционирование

Бухгалтерский учет, аудит

Финансы, инвестиции

Физика

Генетика

Психодиагностика и тестирование

Механика

Термодинамика

Электромагнетизм, электроника

Оптика

Авторское право

Квантовая физика

MicroSoft Office, OpenOffice

Колебания и волны

C, C , C#

Право

Статистика

CSS

jQuery

Тайм-менеджмент

Трехмерная графика

Социальная психология

Сердце и сосуды

BIOS

DELPHI и Pascal

История психологии

Java, J2ME

Гинекология

Праздники, игры, развлечения

Мотоциклы

Психология личности

Футбол

История педагогики

Десерты

Молекулярная физика

Социальная педагогика

Теория обучения и воспитания

Уголовное право

Фармакология

Малый бизнес

Недвижимость

Теория бизнеса

iPhone и iPad

Ruby

Криптография

CMS

Android

Раскрутка и продвижение сайта

Литература

Личности в истории

ASP.NET

Системное администрирование

САПР

Дом, семья, дети

Здоровое и раздельное питание

Биографии

Путешествия

Современная проза

Саморазвитие

Анатомия и физиология

Семейное и жилищное право

Торговля, продажи, логистика

Словари

Химия

Психотерапия

Oracle

Музыка и танцы

Видеомонтаж

Международное право

Математический анализ

Английский язык

Философия

История России

Изучение языков

Французский язык

Музыка и звук на компьютере

Поэзия

Немецкий язык

Биографии, мемуары

Хирургия

Школьный психолог

Испанский язык

Публицистика

История

Коррекционная педагогика

Культура и искусство

Социология

Политология

Религия

Финансовое право

Всемирная история

1C

Литературоведение

Естествознание

Линейная алгебра

Прокуратура, адвокатура

Русский язык

Итальянский язык

Краткое изложение произведений

Школьный курс

Биология, экология

Промышленная экология

Архитектура

AJAX в действии

AJAX в действии

Дейв Крейн, Эрик Паскарелло, Даррен Джеймс

В этой книге описан новый подход к созданию Web-приложений, известный как Ajax. Авторы осматривают составные части Ajax: JavaScript, CSS, DOM и объект XMLHttpRequest. Кроме того, в книге нашли отражение вопросы управления кодом, взаимодействия клиента и сервера и применения архитектуры «модель-представление-контроллер« на разных уровнях приложения.

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

Вильямс, 2006.

ISBN 978-5-8459-1034-9, 1-9323-9461-3

Количество страниц: 640.

Содержание книги «AJAX в действии»:

  • 31 I. НОВЫЙ ВЗГЛЯД НА WEB-ПРИЛОЖЕНИЕ
    • 33 1. Каким должен быть Web-интерфейс
      • 34 1.1. Нужны ли богатые клиенты
        • 35 1.1.1. Действия пользователя при работе с приложением
        • 39 1.1.2. Накладные расходы при работе в сети
        • 42 1.1.3. Асинхронное взаимодействие
        • 45 1.1.4. Независимый и переходный образы использования
      • 47 1.2. Четыре основных принципа Ajax
        • 47 1.2.1. Браузер имеет дело с приложением, а не с содержимым
        • 49 1.2.2. Сервер доставляет данные, а не содержимое
        • 51 1.2.3. Пользователь может непрерывно взаимодействовать с приложением
        • 53 1.2.4. Реальное кодирование требует порядка
      • 54 1.3. Применение богатых клиентов Ajax
        • 54 1.3.1. Системы, созданные с использованием Ajax
        • 55 1.3.2. Google Maps
      • 58 1.4. Альтернативные технологии
        • 58 1.4.1. Macromedia Flash
        • 59 1.4.2. Java Web Start
      • 59 1.5. Резюме
      • 60 1.6. Ресурсы
    • 63 2. Знакомство с Ajax
      • 64 2.1. Основные элементы Ajax
      • 66 2.2. JavaScript изучался не зря
      • 68 2.3. Определение внешнего вида с помощью CSS
        • 68 2.3.1. Селекторы CSS
        • 70 2.3.2. Свойства стилей
        • 71 2.3.3. Простой пример использования CSS
      • 76 2.4. Организация просмотра с помощью DOM
        • 78 2.4.1. Обработка DOM с помощью JavaScript
        • 80 2.4.2. Поиск узла DOM
        • 81 2.4.3. Создание узла DOM
        • 82 2.4.4. Добавление стилей к документу
        • 83 2.4.5. Свойство innerHTML
      • 84 2.5. Асинхронная загрузка с использованием XML
        • 84 2.5.1. Элементы IFrame
        • 86 2.5.2. Объекты XmlDocument и XMLHttpRequest
        • 89 2.5.3. Передача запроса серверу
        • 91 2.5.4. Использование функции обратного вызова для контроля запроса
        • 92 2.5.5. Жизненный цикл процедуры поддержки запроса
      • 95 2.6. Отличия Ajax от классических технологий
      • 97 2.7. Резюме
      • 98 2.8. Ресурсы
    • 99 3. Управление кодом Ajax
      • 100 3.1. Порядок из хаоса
        • 101 3.1.1. Образы разработки
        • 102 3.1.2. Реструктуризация и Ajax
        • 102 3.1.3. Во всем надо знать меру
        • 103 3.1.4. Реструктуризация в действии
      • 106 3.2. Варианты применения реструктуризации
        • 107 3.2.1. Несоответствие браузеров: образы разработки Facade и Adapter
        • 110 3.2.2. Управление обработчиками событий: образ разработки Observer
        • 113 3.2.3. Повторное использование обработчиков событий: образ разработки Command
        • 116 3.2.4. Обеспечение единственной ссылки на ресурс: образ разработки Singleton
      • 120 3.3. «Модель-представление-контроллер»
      • 122 3.4. Применение MVC для серверных программ
        • 123 3.4.1. Серверная программа Ajax, созданная без применения образов разработки
        • 126 3.4.2. Реструктуризация модели
        • 129 3.4.3. Разделение содержимого и представления
      • 132 3.5. Библиотеки независимых производителей
        • 133 3.5.1. Библиотеки, обеспечивающие работу с различными браузерами
        • 137 3.5.2. Компоненты и наборы компонентов
        • 140 3.5.3. Элементы, располагаемые на стороне сервера
      • 143 3.6. Резюме
      • 144 3.7. Ресурсы
  • 145 II. ОСНОВНЫЕ ПОДХОДЫ К РАЗРАБОТКЕ ПРИЛОЖЕНИЙ
    • 147 4. Web-страница в роли приложения
      • 148 4.1. Разновидности архитектуры MVC
        • 148 4.1.1. Применение архитектуры MVC к программам различных уровней
        • 149 4.1.2. Применение архитектуры MVC к объектам присутствующим в среде браузера
      • 151 4.2. Представление в составе Ajax-приложения
        • 152 4.2.1. Отделение логики от представления
        • 157 4.2.2. Отделение представления от логики
      • 161 4.3. Контроллер в составе Ajax -приложения
        • 161 4.3.1. Классические JavaScript-обработчики
        • 164 4.3.2. Модель обработки событий W3C
        • 165 4.3.3. Реализация гибкой модели событий в JavaScript
      • 169 4.4. Модель в составе Ajax-приложения
        • 170 4.4.1. Использование JavaScript для моделирования предметной области
        • 171 4.4.2. Взаимодействие с сервером
      • 173 4.5. Генерация представления на основе модели
        • 173 4.5.1. Отражение объектов JavaScript
        • 177 4.5.2. Обработка массивов и объектов
        • 180 4.5.3. Включение контроллера
      • 183 4.6. Резюме
      • 183 4.7. Ресурсы
    • 185 5. Роль сервера в работе Ajax-приложения
      • 186 5.1. Программы, выполняемые на сервере
      • 187 5.2. Создание программ на стороне сервера
        • 187 5.2.1. Популярные языки программирования
        • 188 5.2.2. N-уровневые архитектуры
        • 189 5.2.3. Управление моделью предметной области на стороне клиента и на стороне сервера
      • 190 5.3. Принципы создания программ на сервере
        • 190 5.3.1. Серверные программы, не соответствующие основным принципам разработки
        • 192 5.3.2. Использование архитектуры Model2
        • 193 5.3.3. Использование архитектуры на базе компонентов
        • 196 5.3.4. Архитектуры, ориентированные на использование Web-служб
      • 200 5.4. Частные решения: обмен данными
        • 201 5.4.1. Взаимодействие, затрагивающее только клиентскую программу
        • 201 5.4.2. Пример отображения информации о планетах
        • 204 5.4.3. Взаимодействие, ориентированное на содержимое
        • 207 5.4.4. Взаимодействие, ориентированное на сценарий
        • 212 5.4.5. Взаимодействие, ориентированное на данные
      • 217 5.5. Передача данных серверу
        • 217 5.5.1. Использование HTML-форм
        • 219 5.5.2. Использование объекта XMLHttpRequest
        • 221 5.5.3. Управление обновлением модели
      • 230 Резюме
      • 231 Ресурсы
  • 235 III. СОЗДАНИЕ ПРОФЕССИОНАЛЬНЫХ AJAX-ПРИЛОЖЕНИЙ
    • 237 6. Информация для пользователя
      • 238 6.1. Создание качественного приложения
        • 239 6.1.1. Отклик программы
        • 239 6.1.2. Надежность
        • 240 6.1.3. Согласованность
        • 241 6.1.4. Простота
        • 241 6.1.5. Как получить результат
      • 242 6.2. Предоставление сведений пользователю
        • 242 6.2.1. Поддержка ответов на собственные запросы
        • 244 6.2.2. Обработка обновлений, выполненных другими пользователями
      • 248 6.3. Создание системы оповещения
        • 249 6.3.1. Основные принципы оповещения
        • 251 6.3.2. Определение требований к пользовательскому интерфейсу
      • 252 6.4. Реализация базовых средств оповещения
        • 252 6.4.1. Отображение пиктограмм в строке состояния
        • 255 6.4.2. Отображение подробных сообщений
        • 256 6.4.3. Формирование готовой системы
      • 262 6.5. Предоставление информации в запросах
      • 266 6.6. Информация о новизне данных
        • 266 6.6.1. Простой способ выделения данных
        • 268 6.6.2. Выделение данных с использованием библиотеки Scriptaculous
      • 269 6.7. Резюме
      • 270 6.8. Ресурсы
    • 271 7. Безопасность Ajax-приложений
      • 272 7.1. JavaScript и защита браузера
        • 273 7.1.1. Политика «сервера-источника»
        • 273 7.1.2. Особенности выполнения сценариев в Ajax-приложении
        • 274 7.1.3. Проблемы с поддоменами
        • 275 7.1.4. Несоответствие средств защиты в различных браузерах
      • 276 7.2. Взаимодействие с удаленным сервером
        • 277 7.2.1. Сервер в роли посредника при обращении к удаленной службе
        • 278 7.2.2. Взаимодействие с Web-службами
      • 288 7.3. Защита конфиденциальной информации
        • 288 7.3.1. Вмешательство в процесс передачи данных
        • 289 7.3.2. Организация защищенного HTTP-взаимодействия
        • 291 7.3.3. Передача шифрованных данных в ходе обычного HTTP-взаимодействия
      • 293 7.4. Управление доступом к потокам данных Ajax
        • 293 7.4.1. Создание защищенных программ на уровне сервера
        • 297 7.4.2. Ограничение доступа к данным из Web
      • 302 7.5. Резюме
      • 302 7.6. Ресурсы
    • 303 8. Производительность приложения
      • 304 8.1. Что такое производительность
      • 305 8.2. Скорость выполнения JavaScript программ
        • 306 8.2.1. Определение времени выполнения приложения
        • 310 8.2.2. Использование профилировщика Venkman
        • 313 8.2.3. Оптимизация скорости выполнения Ajax-приложения
      • 324 8.3. Использование памяти JavaScript-кодом
        • 324 8.3.1. Борьба с утечкой памяти
        • 327 8.3.2. Особенности управления памятью в приложениях Ajax
      • 333 8.4. Разработка с учетом производительности
        • 333 8.4.1. Измерение объема памяти, занимаемой приложением
        • 337 8.4.2. Простой пример управления памятью
        • 342 8.4.3. Как уменьшить объем используемой памяти в 150 раз
      • 344 8.5. Резюме
      • 345 8.6. Ресурсы
  • 347 IV. AJAX В ПРИМЕРАХ
    • 349 9. Динамические связанные комбинации
      • 350 9.1. Сценарий двойной комбинации
        • 350 9.1.1. Недостатки клиентского решения
        • 351 9.1.2. Недостатки клиентского решения
        • 352 9.1.3. Решения, предлагаемые Ajax
      • 353 9.2. Архитектура клиента
        • 353 9.2.1. Разработка формы
        • 355 9.2.2. Разработка взаимодействия клиент/сервер
      • 356 9.3. Реализация сервера: VB.NET
        • 357 9.3.1. Определение формата XML-ответа
        • 358 9.3.2. Написание кода сервера
      • 360 9.4. Представление результатов
        • 361 9.4.1. Навигация в документе XML
        • 362 9.4.2. Применение каскадных таблиц стилей
      • 364 9.5. Дополнительные вопросы
        • 364 9.5.1. Запросы при выборе нескольких элементов
        • 365 9.5.2. Переход от двойного связного выбора к тройному
      • 366 9.6. Реструктуризация
        • 367 9.6.1. Новый и улучшенный объект net.ContentLoader
        • 372 9.6.2. Создание компонента двойного списка
      • 379 9.7. Резюме
    • 381 10. Опрережающий ввод
      • 382 10.1. Изучаем опережающий ввод
        • 382 10.1.1. Типичные элементы приложений опережающего ввода
        • 384 10.1.2. Google Suggest
        • 385 10.1.3. Ajax как средство опережающего ввода
      • 386 10.2. Структура серверной части сценария: С#
        • 386 10.2.1. Сервер и база данных
        • 388 10.2.2. Тестирование серверного кода
      • 389 10.3. Структура клиентской части сценария
        • 389 10.3.1. HTML
        • 390 10.3.2. JavaScript
        • 400 10.3.3. Обращение к серверу
      • 410 10.4. Дополнительные возможности
      • 411 10.5. Реструктуризация
        • 412 10.5.1. День 1: план разработки компонента TextSuggest
        • 415 10.5.2. День 2: создание TextSuggest - понятного и настраиваемого компонента
        • 418 10.5.3. День 3: включаем Ajax
        • 423 10.5.4. День 4: обработка событий
        • 430 10.5.5. День 5: пользовательский интерфейс всплывающего окна с предлагаемыми вариантами
        • 437 10.5.6. Итоги
      • 437 10.6. Резюме
    • 439 11. Улучшенный Web-портал Ajax
      • 440 11.1. Эволюционирующий портал
        • 440 11.1.1. Классический портал
        • 442 11.1.2. Портал с богатым пользовательским интерфейсом
      • 443 11.2. Создание портала с использованием Java
      • 444 11.3. Регистрация Ajax
        • 445 11.3.1. Таблица пользователя
        • 446 11.3.2. Серверная часть кода регистрации: Java
        • 449 11.3.3. Структура регистрации (клиентская часть)
      • 454 11.4. Реализация окон DHTML
        • 454 11.4.1. База данных окон портала
        • 455 11.4.2. Серверный код окна портала
        • 460 11.4.3. Добавление внешней библиотеки JavaScript
      • 462 11.5. Возможность автоматического сохранения
        • 463 11.5.1. Адаптация библиотеки
        • 465 11.5.2. Автоматическая запись информации в базе данных
      • 468 11.6. Реструктуризация
        • 470 11.6.1. Определение конструктора
        • 471 11.6.2. Адаптация библиотеки AjaxWindows.js
        • 473 11.6.3. Задание команд портала
        • 476 11.6.4. Обработке средствами Ajax
        • 477 11.6.5. Выводы
      • 478 11.7. Резюме
    • 479 12. «Живой» поиск с использованием XSLT
      • 480 12.1. Понимание технологий поиска
        • 480 12.1.1. Классический поиск
        • 482 12.1.2. Недостатки использования фреймов и всплывающих окон
        • 483 12.1.3. «Живой» поиск с использованием Ajax и XSLT
        • 484 12.1.4. Возврат результатов клиенту
      • 485 12.2. Код клиентской части сценария
        • 486 12.2.1. Настройка клиента
        • 487 12.2.2. Инициализация процесса
      • 488 12.3. Код серверной части приложения: PHP
        • 489 12.3.1. Создание XML-документа
        • 491 12.3.2. Создание документа XSLT
      • 494 12.4. Объединение документов XSL и XML
        • 496 12.4.1. Совместимость с браузером Microsoft Internet Explorer
        • 496 12.4.2. Совместимость с браузерами Mozilla
      • 497 12.5. Последние штрихи
        • 498 12.5.1. Применение каскадных таблиц стилей
        • 499 12.5.2. Улучшение поиска
        • 501 12.5.3. Использовать ли XSLT
        • 502 12.5.4. Решение проблемы закладок
      • 503 12.6. Реструктуризация
        • 504 12.6.1. Объект XSLTHelper
        • 508 12.6.2. Компонент «живого» поиска
        • 512 12.6.3. Выводы
      • 512 12.7. Резюме
    • 515 13. Создание приложений Ajax, не использующих сервер
      • 516 13.1. Считывание информации из внешнего мира
        • 517 13.1.1. Поиск XML лент
        • 518 13.1.2. Изучение структуры
      • 520 13.2. Богатый пользовательский интерфейс
        • 521 13.2.1.Чтение лент
        • 522 13.2.2. HTML структура без таблиц
        • 525 13.2.3. Гибкое CSS-форматирование
      • 530 13.3. Загрузка RSS-лент
        • 530 13.3.1. Глобальный уровень
        • 532 13.3.2. Предварительная загрузка средствами Ajax
      • 535 13.4. Богатый эффект перехода
        • 536 13.4.1. Правила прозрачности, учитывающие индивидуальность браузеров
        • 536 13.4.2. Реализация затухающего перехода
        • 538 13.4.3. Интеграция таймеров JavaScript
      • 540 13.5. Дополнительные возможности
        • 540 13.5.1. Введение дополнительных лент
        • 542 13.5.2. Интеграция функций пропуска и паузы
      • 545 13.6. Как избежать ограничений проекта
        • 545 13.6.1. Обход системы безопасности браузеров Mozilla
        • 548 13.6.2. Изменение масштаба приложения
      • 548 13.7. Реструктуризация
        • 549 13.7.1. Модель приложения
        • 551 13.7.2. Представление приложения
        • 555 13.7.3. Контроллер приложения
        • 567 13.7.4. Выводы
      • 567 13.8. Резюме
  • 569 V. ПРИЛОЖЕНИЯ
    • 571 А. Инструменты для профессиональной работы с Ajax
      • 572 А.1. Правильный набор инструментов
        • 572 А.1.1. Получение совместимых инструментов
        • 574 А.1.2. Создание собственных инструментов
        • 574 А.1.3. Сопровождение набора инструментов
      • 575 А.2. Редакторы и IDE
        • 575 А.2.1. Что требуется от редактора кода
        • 577 А.2.2. Существующие продукты
      • 582 А.3. Отладчики
        • 582 А.3.1. Для чего нужен отладчик
        • 582 А.3.2. Отладчики JavaScript
        • 587 А.3.3. Отладчики HTTP
        • 589 А.3.4. Создание консоли вывода, встроенной в браузер
      • 592 А.4. Инспекторы DOM
        • 592 А.4.1. Использование DOM Inspector для браузеров Mozilla
        • 594 А.4.2. Инспекторы DOM для браузера Internet Explorer
        • 594 А.4.3. Средство Safari DOM Inspector для Mac OS X
      • 595 А.5. Установка расширений Firefox
      • 597 А.6. Ресурсы
    • 597 Б. JavaScript и объектно-ориентированное программирование
      • 598 Б.1. JavaScript - это не Java
      • 599 Б.2. Объекты в JavaScript
        • 600 Б.2.1. Формирование объектов
        • 604 Б.2.2. Функции-конструкторы, классы и прототипы
        • 606 Б.2.3. Расширение встроенных классов
        • 607 Б.2.4. Наследование прототипов
        • 608 Б.2.5. Отражение в JavaScript-объектах
        • 610 Б.2.6. Интерфейсы и виртуальные типы
      • 613 Б.3. Методы и функции
        • 613 Б.3.1. Функции как независимые элементы
        • 615 Б.3.2. Присоединение функций к объектам
        • 615 Б.3.3. Заимствование функций из других объектов
        • 616 Б.3.4. Обработка событий в Ajax-программах и контексты функций
        • 620 Б.3.5. Замыкания JavaScript
      • 623 Б.4. Выводы
      • 623 Б.5. Ресурсы
    • 625 В. Библиотеки Ajax
    • 639 Предметный указатель

Скачать книгу AJAX в действии / Дейв Крейн, Эрик Паскарелло, Даррен Джеймс в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.