Информация о книге

978-5-97060-072-6,978-5-97060-580-6

Главная  » Научно-техническая литература » Информационные технологии. Компьютеры » Интернет, Интранет, компьютерные сети » Разработка для Интернет » Разработка одностраничных веб-приложений. Руководство

Миковски М., Разработка одностраничных веб-приложений. Руководство

ДМК Пресс, 2014 г., 978-5-97060-072-6,978-5-97060-580-6


Описание книги

Если ваш сайт представляет собой набор дергающихся страниц, связанных ссылками, то вы отстали от жизни. Следующей ступенью вашей карьеры должны стать одностраничные приложения (SPA). В таком приложении отрисовка пользовательского интерфейса и...

Скачать, но не бесплатно эту книгу можно в интернет-магазинах

  Литрес - 639 руб.

Читать онлайн


Доступен для чтения фрагмент книги

Ключевые слова

Поделиться ссылкой на книгу



Содержание книги

Предисловие
Вступление
Благодарности
Об этой книге
Об иллюстрации на обложке
Часть I. Введение в SPA
Глава 1. Наше первое одностраничное
приложение
1.1.Определение, немного истории и несколько
слов
о предмете книги
1.1.1. Немного истории
1.1.2. Почему SPA на JavaScript появились так
поздно?
1.1.3. Предмет книги
1.2.Создаем наше первое SPA
1.2.1. Постановка задачи
1.2.2. Общая структура файла
1.2.3. Настройка инструментов разработчика в
Chrome
1.2.4. Разработка HTML и CSS
1.2.5. Добавление JavaScript-кода
1.2.6. Изучение приложения с помощью
инструментов разработчика в Chrome
1.3. Чем хорошо написанное SPA удобно
пользователям
1.4. Резюме
Глава 2. Новое знакомство с JavaScript
2.1. Область видимости переменной
2.2. Поднятие переменных
2.3. Еще о поднятии переменных и объекте
контекста выполнения
2.3.1. Поднятие
2.3.2. Контекст выполнения и объект контекста
выполнения
Цепочка областей видимости
Объекты в JavaScript и цепочка прототипов
2.5.1. Цепочка прототипов
2.6.Функции - более пристальный взгляд
2.6.1. Функции и анонимные функции
2.6.2. Самовыполняющиеся анонимные функции
2.6.3. Паттерн модуля - привнесение в JavaScript
закрытых переменных
2.6.4. Замыкания
2.7.Резюме
Часть II. Клиентская часть одностраничного
приложения
Глава 3. Разработка оболочки
3.1. Знакомимся с Shell
3.2. Организация файлов и пространств имен
3.2.1. Создание дерева файлов
3.2.2. HTML-файл приложения
3.2.3. Создание корневого пространства имен CSS
3.2.4. Создание корневого пространства имен
JavaScript
3.3.Создание функциональных контейнеров
3.3.1. Стратегия
3.3.2. HTML-код модуля Shell
3.3.3. CSS-стили модуля Shell
3.4.Отрисовка функциональных контейнеров
3.4.1. Преобразование HTML в JavaScript-код
3.4.2. Добавление HTML-шаблона в JavaScript-код
3.4.3. Создание таблицы стилей для Shell
3.4.4. Настройка приложения для использования
Shell
3.5.Управление функциональными контейнерами
3.5.1. Метод сворачивания и раскрытия окна чата
3.5.2. Добавление обработчика события щелчка
мышью
по окну чата
3.6.Управление состоянием приложения
3.6.1. Какого поведения ожидает пользователь
браузера?
3.6.2. Стратегия работы с элементами управления
историей
3.6.3. Изменение якоря при возникновении
события
истории
3.6.4.Использование якоря для управления
состоянием
приложения
3.7.Резюме
Глава 4. Добавление функциональных модулей
4.1.Стратегия функциональных модулей
4.1.1. Сравнение со сторонними модулями
4.1.2. Функциональные модули и паттерн
"фрактальный MVC"
4.2.Подготовка файлов функционального модуля
4.2.1. Планируем структуру каталогов и файлов
4.2.2. Создание файлов
4.2.3. Что мы соорудили
4.3.Проектирование API модуля
4.3.1. Паттерн якорного интерфейса
4.3.2. API конфигурирования модуля Chat
4.3.3. API инициализации модуля Chat
4.3.4. Метод setSliderPosition из API модуля Chat
4.3.5. Каскадное конфигурирование и
инициализация
4.4.Реализация API функционального модуля
4.4.1. Таблицы стилей
4.4.2. Модификация модуля Chat
4.4.3. Модификация модуля Shell
4.4.4. Прослеживание выполнения
4.5.Добавление часто используемых методов
4.5.1. Метод removeSlider
4.5.2. Метод handleResize
4.6.Резюме
Глава 5. Построение модели
5.1.Что такое модель
5.1.1. Что мы собираемся сделать
5.1.2. Что делает модель
5.1.3. Чего модель не делает
5.2.Подготовка файлов модели, и не только
5.2.1. Планируем структуру каталогов и файлов
5.2.2. Создание файлов
5.2.3. Использование унифицированной
библиотеки ввода
5.3.Проектирование объекта people
5.3.1. Проектирование объекта person
5.3.2. Проектирование API объекта people
5.3.3. Документирование API объекта people
5.4.Реализация объекта people
5.4.1. Создание подставного списка людей
5.4.2. Начало реализации объекта people
5.4.3. Завершение работы над объектом people
5.4.4. Тестирование API объекта people
5.5.Реализация аутентификации и завершения
сеанса в Shell
5.5.1. Проектирование пользовательского
интерфейса аутентификации
5.5.2. Модификация JavaScript-кода модуля Shell
5.5.4. Тестирование аутентификации и
завершения сеанса
в пользовательском интерфейсе
5.6.Резюме
Глава 6. Завершение модулей Model и Data
6.1.Проектирование объекта chat
6.1.1. Проектирование методов и событий
6.1.2. Документирование API объекта chat
6.2.Реализация объекта chat
6.2.1. Начинаем с метода join
6.2.2. Модификация модуля Fake для поддержки
метода chat.join
6.2.3. Тестирование метода chat.join
6.2.4. Добавление средств работы с сообщениями
в объект chat
6.2.5. Модификация модуля Fake для имитации
работы
с сообщениями
6.2.6.Тестирование работы с сообщениями в чате
6.3.Добавление поддержки аватаров в модель
6.3.1. Добавление поддержки аватаров в объект
chat
6.3.2. Модификация модуля Fake для имитации
аватаров
6.3.3. Тестирование поддержки аватаров
6.3.4. Разработка через тестирование
6.4.Завершение функционального модуля Chat
6.4.1. Модификация JavaScript-кода модуля Chat
6.4.2. Модификация таблиц стилей
6.4.3. Тестирование пользовательского
интерфейса чата
6.5.Разработка функционального модуля Avatar
6.5.1. JavaScript-код модуля Avatar
6.5.2. Создание таблицы стилей для модуля
Avatar
6.5.3. Модификация модуля Shell и головного
HTML-документа
6.5.4. Тестирование функционального модуля
Avatar
6.6. Привязка к данным и jQuery
6.7. Разработка модуля Data
6.8. Резюме
Часть III. Сервер SPA
Глава 7. Веб-сервер
7.1. Роль сервера
7.1.1. Аутентификация и авторизация
7.1.2. Валидация
7.1.3. Сохранение и синхронизация данных
7.2.Node.js
7.2.1. Почему именно Node.js?
7.2.2. Приложение "Hello World" для Node.js
7.2.3. Установка и использование Connect
7.2.4. Добавление промежуточного уровня
Connect
7.2.5. Установка и использование Express
7.2.6. Добавление промежуточного уровня
в Express-приложение
7.2.7. Окружения в Express
7.2.8. Обслуживание статических файлов с
помощью Express
7.3.Более сложная маршрутизация
7.3.1. CRUD-маршруты для управления
пользователями
7.3.2. Обобщенная маршрутизация для операций
CRUD
7.3.3. Перенос маршрутизации в отдельный
модуль Node.js
7.4.Добавление аутентификации и авторизации
7.4.1. Базовая аутентификация
7.5.Веб-сокеты и Socket.IO
7.5.1. Простой пример применения Socket.IO
7.5.2. Socket.IO и сервер обмена сообщениями
7.5.3. Обновление JavaScript-кода с помощью
Socket.IO
7.6.Резюме
Глава 8. Серверная база данных
8.1.Роль базы данных
8.1.1. Выбор хранилища данных
8.1.2. Исключение преобразования данных
8.1.3. Помещайте логику туда, где она нужнее
8.2.Введение в MongoDB
8.2.1. Документоориентированное хранилище
8.2.2. Динамическая структура документа
8.2.3. Начало работы с MongoDB
8.3.Драйвер MongoDB
8.3.1. Подготовка файлов проекта
8.3.2. Установка и подключение MongoDB
8.3.3. Использование методов CRUD в MongoDB
8.3.4. Добавление операций CRUD в серверное
приложена
8.4.Валидация данных, поступивших от клиента
8.4.1. Проверка типа объекта
8.4.2. Проверка объекта
8.5.Создание отдельного модуля CRUD
8.5.1. Подготовка структуры файлов
8.5.2. Перенос операций CRUD в отдельный
модуль
8.6.Реализация модуля chat
8.6.1. Начало модуля Chat
8.6.2. Создание обработчика сообщения adduser
8.6.3. Создание обработчика сообщения
updatechat
8.6.4. Создание обработчиков отключения
8.6.5. Создание обработчика сообщения
updateavatar
8.7.Резюме
Глава 9. Подготовка SPA к промышленной
эксплуатации
9.1.Поисковая оптимизация SPA
9.1.1. Как Google индексирует SPA
9.2.Облачные и сторонние службы
9.2.1. Анализ работы сайта
9.2.2. Протоколирование ошибок на стороне
клиента
9.2.3. Сети доставки содержимого
9.3.Кэширование и отключение кэширования
9.3.1. Варианты кэширования
9.3.2. Веб-хранилище
9.3.3. HTTP-кэширование
9.3.4. Кэширование на сервере
9.3.5. Кэширование запросов к базе данных
9.4.Резюме
Приложение А. Стандарт кодирования
на JavaScript
А.1. Зачем нам стандарт кодирования?
А.2. Форматирование кода и комментарии
А.2.1. Форматирование кода с учетом удобства
чтения
А.2.2. Комментарии как средство пояснения
и документирования
А.З. Именование переменных
А.3.1. Сокращение и повышение качества
комментариев
за счет соглашений об именовании
А.З.2. Рекомендации по именованию
А.3.3. Практическое применение рекомендаций
А.4. Объявление и присваивание переменным
А.5. Функции
А.6. Пространства имен
А.7. Имена и структура дерева файлов
А.8. Синтаксис
А.8.1. Метки
А.8.2. Предложения
А.8.3. Прочие замечания о синтаксисе
А.9. Валидация кода
А.9.1. Установка J S Lint
А.9.2. Настройка J S Lint
А.9.3. Использование JSLint
АЛО. Шаблон модуля
А.11. Резюме
Приложение Б. Тестирование SPA
Б.1. Режимы тестирования
Б.2. Выбор каркаса тестирования
Б.З. Настройка nodeunit
Б.4. Создание комплекта тестов
Б.4.1. Инструктируем Node.js загрузить наши
модули
Б.4.2. Подготовка одного теста в nodeunit
Б.4.3. Создание первого настоящего теста
Б.4.4. План событий и тестов
Б.4.5. Создание комплекта тестов
Б.5. Адаптация модулей SPA для тестирования
Б.6. Резюме
Предметный указатель


Об авторе


Отзывы

Интересная книга  [17 June 2014]
Книга интеерсная, правда пока до конца не дочитал. Но хотелось книгу SPA на чистом JS т.е. без библиотек. В книге сильная привязка изложения к JQuery и его плагинам. Не понравилась центральная завязка на на события anchor, что сильно загромождает основную логику приложения. Пишу на JS под встроенные браузеры у которых нет ни кнопок вперед и назад(соответственно нет и истории), ни поддержки JQuery, поэтому из книги подчерпнул только концепции и интересные идеи. Сама книга напечатана на хорошей бумаге, но ее тяжело читать из за маленького размера страничек, было бы еще здорово помимо увеличения размера странички еще обложку твердую.

Плюсы:
Много комментариев и примеров.

Минусы:
- jquery.uriAnchor плохо описана, хотя используется активно.
- маленькие листы
- мягкая обложка
Хорошо написана и хоршо напечатана.  [16 April 2014]
Прочитал пока половину. Хорошо написано (четкая логика изложения сдобренная понятными иллюстрациями и юмором). Хорошо напечатано (бумага белая приятно держать в руках). Со всех сторон полезный продукт! Спасибо!

Последние поступления в рубрике "Разработка для Интернет"



Легкий способ выучить Python 3 еще глубже Легкий способ выучить Python 3 еще глубже Шоу З.

Воплотите ваши идеи в код самого высокого качества! Зед Шоу – один из тех, кто по-настоящему разбирается в Python. Его советы помогли миллионам программистов по всему миру, помогут они и вам. От вас потребуется лишь дисциплина, желание и упорство, все......

Разработка веб-приложений с помощью Node.js, MongoDB и Angular. Исчерпывающее руководство по использованию стека MEAN Разработка веб-приложений с помощью Node.js, MongoDB и Angular. Исчерпывающее руководство по использованию стека MEAN Дейли Б.

Node.js является главной средой для программирования на стороне сервера, MongoDB — самой распространенной базой данных типа NoSQL и Angular— ведущим каркасом для разработки веб-приложений на стороне клиента по шаблону MVC. Совместно они образуют легко......

Программирование GPU при помощи Python и CUDA Программирование GPU при помощи Python и CUDA Тоуманнен Б.

Книга предлагает быстрое погружение в программирование GPU. Вы узнаете, как применять закон Амдала, использовать профилировщик для определения узких мест в коде на Python, настроить окружения для программирования GPU. По мере чтения вы будете......

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Миковски М., Разработка одностраничных веб-приложений. Руководство в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.