На главную | Где купить | Авторам и заказчикам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты | Прайс листы

Angular 4. Быстрая разработка сверхдинамических Web-сайтов на TypeScript и PHP

Автор Дронов В.
Название Angular 4. Быстрая разработка сверхдинамических Web-сайтов на TypeScript и PHP
Серия Профессиональное программирование
ISBN 978-5-9775-3334-8
Формат 70×100/16 (165×233 мм), мягкая обложка
Объем 448
Тематика
Оптовая цена
    Вернуться к описанию книги

Полное содержание

Введение 1
Динамические Web-сайты 1
Сверхдинамические, или одностраничные, Web-сайты 2
Angular — сверхдинамический фреймворк 3
О чем эта книга? 3
Типографские соглашения 5

Часть I. Введение в Angular и язык программирования TypeScript

7

Глава 1. Установка Angular и создание нового проекта

9
Установка необходимого ПО 9
Установка Node.js 9
Установка Angular CLI 10
Создание нового проекта 11
Содержимое проекта Angular 12
Отладочный Web-сервер Angular и его использование 13
Как сделать Web-сайт кроссплатформенным 16

Глава 2. Язык программирования TypeScript

20
Работа с переменными. Типизация 21
Указание типа переменной 21
Объявление переменных 22
Сложные типы данных 23
Типизированные экземпляры объектов. Псевдонимы типов 23
Литеральные типы 25
Перечисления 25
Функции 26
Типизация параметров и результата функций. Тип данных void 26
Необязательные параметры и параметры по умолчанию 27
Функции, принимающие произвольное количество параметров 28
Функции-стрелки 29
Классы и объекты 29
Объявление классов. Конструктор 30
Наследование 31
Модификаторы доступа 32
Свойства-константы 34
Свойства-параметры 34
Динамические свойства. Геттеры и сеттеры 35
Статические свойства и методы 36
Абстрактные классы и методы 36
Интерфейсы 37
Обобщенные типы 39
Декораторы 40
Модули, экспорт и импорт 41
Дополнительные инструменты TypeScript 43
Шаблонные строки 43
Приведение типов 44

Глава 3. Введение в Angular

45
Основные понятия Angular-программирования 45
Компоненты 45
Понятие компонента 45
Класс компонента 46
Интерфейсная часть компонента. Шаблон 48
Оформление компонента 49
Директивы. Связывание данных 49
Метамодули. Метаэкспорт и метаимпорт 50
Запускающий Web-сценарий 52
Упражнение 1. Простой вывод данных 53
Реализация вывода данных 53
Вывод данных с форматированием. Фильтры 55
Упражнение 2. Ввод данных 56
Реализация ввода данных 56
Модель 57
Двустороннее связывание данных 58
Упражнение 3. Интерактивность 58
Реализация интерактивности 59
Привязка обработчиков к событиям 60
Обратное связывание данных 61
Упражнение 4. Службы и вывод списков 61
Службы 61
Внедрение зависимостей 63
Перехватчики 64
Директивы управления выводом 65
Упражнение 5. Использование вложенных компонентов и задание оформления 66
Вложенные компоненты 66
Ссылки уровня шаблона 67
Оформление компонентов 68

Часть II. Разработка интерфейса Web-сайтов

71

Глава 4. Вывод данных

73
Шаблоны 73
Вывод данных на экран 74
Интерполяция 74
Безопасное обращение к свойствам и методам 75
Фильтры, используемые для вывода данных 76
Управление выводом 79
Условный вывод 79
Множественный условный вывод 80
Повторяющийся вывод 80
Простейший формат использования 81
Служебные локальные переменные 81
Псевдоконтейнер Angular и его использование 82
Задание параметров у элементов страницы 82
Задание значений для свойств DOM 82
Задание значений для атрибутов тегов 83
Вложенные шаблоны 83
Создание вложенного шаблона 84
Использование вложенного шаблона 85
Расширенный синтаксис директивы условного вывода 85
Вывод сложного содержимого, заданного в виде HTML-кода 86

Глава 5. Ввод данных

87
Подготовительные действия 87
Создание Web-форм и элементов управления 88
Модель элемента управления и модель Web-формы 88
Явное задание модели Web-формы 90
Получение данных, занесенных в Web-форму 90
Получение данных в коде компонента 90
Получение данных в коде шаблона 91
Получение сведений о состоянии элемента управления 92
Валидация данных 93
Валидация средствами Web-формы 93
Валидация средствами элементов управления 94
Сброс Web-формы 95
Элементы управления без модели 95

Глава 6. Интерактивность

97
Обработка событий в Angular 97
Привязка обработчиков к событиям 97
Использование объекта события 99
Специальные события Angular 100

Глава 7. Оформление

102
Таблицы стилей компонентов 102
Базовые средства указания стилей 103
Указание стилей средствами CSS 103
Указатели, поддерживаемые Angular 104
Дополнительные средства для указания стилей 105
Программное указание стилей 105
Привязка стилевых классов 105
Указание стилей 107
Глобальная таблица стилей 109

Часть III. Разработка логики Web-сайтов

111

Глава 8. Компоненты

113
Основные сведения о компонентах 113
Требования к компонентам 113
Как работают компоненты 115
Создание компонентов 115
Основные метаданные компонента 116
Создание событий у компонентов 117
Компоненты со сложным содержимым 118
Вложенные компоненты 119
Использование вложенных компонентов 119
Входные свойства 120
Компоненты с произвольным содержимым. Отображение 121
Доступ к фрагментам содержимого компонента и его родителю 122
Доступ к элементам шаблона 122
Доступ к единственному элементу шаблона 123
Доступ к нескольким однотипным элементам шаблона 124
Доступ к элементам отображаемого содержимого 126
Объект QueryList 127
Доступ к компоненту-родителю 129
Использование перехватчиков 130
Невидимые компоненты 133

Глава 9. Реактивные Web-формы

135
Подготовительные действия 135
Создание реактивных Web-форм 136
Создание внутреннего представления 136
Создание шаблона 138
Работа с реактивными Web-формами 139
Доступ к элементам управления 139
Получение значений, занесенных в Web-форму 139
Получение сведений о Web-формах и элементах управления 140
Программное занесение данных в Web-формы и элементы управления 141
Программное задание состояния у элементов управления 142
Программный сброс Web-формы 143
Разработка валидаторов для реактивных Web-форм 144
Валидаторы уровня Web-формы 144
Разработка валидаторов уровня элемента управления 145
Специальные Web-формы 146
Вложенные Web-формы 146
Массивы Web-форм 148
Создание массивов Web-форм 148
Доступ к отдельным Web-формам 150
Добавление и удаление Web-форм 150

Глава 10. Службы. Внедрение зависимостей

152
Основные сведения о службах 152
Требования к службам 152
Создание служб 153
Как работает внедрение зависимостей 153
Простейшие случаи применения служб 156
Службы-классы — простейшая разновидность служб 156
Псевдонимы служб и их использование 156
Провайдеры и их применение 157
Провайдеры классов. Фабрики 158
Провайдеры значений. Жетоны 160
Указание служб и провайдеров на разных уровнях 162
Встроенная служба Title 165

Глава 11. Маршрутизация

167
Базовые средства маршрутизации 167
Задание базового пути 167
Указание выпуска 168
Указание маршрутов 168
Инициализация маршрутизатора 171
Создание гиперссылок для навигации 172
Выделение активных гиперссылок 173
Передача данных между компонентами 174
Передача данных в составе пути 174
Параметризованные маршруты. URL-параметры 175
Указание значений URL-параметров 175
Получение значений URL-параметров: простой способ 176
Получение URL-параметров: сложный способ. Предположения 177
Передача данных через GET-параметры 179
Указание GET-параметров в гиперссылках 179
Получение GET-параметров 180
Передача значения через сам маршрут 181
Иерархическая и многоуровневая маршрутизация 182
Иерархическая маршрутизация 182
Многоуровневая маршрутизация 183
Дополнительная маршрутизация. Именованные выпуски 185
Программная навигация 186
Получение сведений о текущем интернет-адресе и маршруте 187
Стражи и их использование 188
Требования к стражам 188
Создание стражей 189
Реализация стражей 189

Глава 12. Метамодули. Структурирование Web-сайта

193
Основные сведения о метамодулях 193
Назначение метамодулей 193
Требования к метамодулям 194
Основные метаданные метамодуля 195
Создание метамодулей 196
Начала структурирования Web-сайта 197
Основы структурирования 197
Практика структурирования: изначальное состояние Web-сайта 198
Практика структурирования: собственно структурирование 199
Особенности создания компонентов для структурированного Web-сайта 201
Метамодули маршрутизации 202
Самый простой случай: один метамодуль маршрутизации 202
Более сложный случай: несколько метамодулей маршрутизации 204
Загрузка метамодулей по запросу 206
Реализация загрузки по запросу 206
Страж CanLoad 208

Часть IV. Разработка серверной части Web-сайта

209

Глава 13. Получение данных для вывода

211
Подготовка Web-сайта к разработке серверной части 211
Загрузка данных на стороне клиента 215
Подготовительные действия 215
Простая загрузка данных 215
Передача GET-параметров серверной программе 217
Обработка ошибок 218
Дополнительные инструменты для загрузки и вывода данных 220
Прямой вывод данных из предположений 220
Предзагрузчики и их использование 221
Отправка данных на стороне сервера 224
Теоретические основы 224
Практический пример серверной программы, извлекающей и отправляющей данные 225

Глава 14. Отправка данных

228
Отправка данных в формате JSON 228
Реализация на стороне клиента 228
Теоретические основы 228
Практическая реализация: добавление и правка данных 229
Практическая реализация: удаление данных 232
Реализация на стороне сервера 233
Теоретические основы 233
Практическая реализация 234
Отправка данных методом POST 235
Реализация на стороне клиента 235
Реализация на стороне сервера 236
Отправка файлов 236

Глава 15. Разграничение доступа

240
Введение в разграничение доступа 240
Разграничение доступа на стороне клиента 241
Теоретические основы 241
Практическая реализация 242
Служба разграничения доступа 242
Компоненты входа и выхода 244
Страж, запрещающий навигацию на закрытые экраны 246
Скрытие элементов интерфейса от незарегистрированных посетителей 247
Разграничение доступа на стороне сервера 247
Теоретические основы 247
Практическая реализация 248

Часть V. Дополнительные инструменты Angular

251

Глава 16. Анимация

253
Подготовительные действия 253
Создание простейшей анимации 253
Описание анимации 254
Запуск анимации 256
Практические примеры 256
Анимированный заголовок 256
Плавное появление растений в списке 257
Более сложная анимация 258
Анимация с несколькими состояниями 258
Анимация с ключевыми кадрами 260
Группы анимаций 261
Анимирование дочерних элементов 262
Указание анимации для дочерних элементов вызовом функции query 262
Указание анимации для дочерних элементов посредством триггеров 264
Дополнительные возможности анимации 265
Отключение анимации 265
Отслеживание моментов начала и завершения анимации 266

Глава 17. Разработка директив и фильтров

267
Разработка фильтров 267
Требования к фильтрам 267
Создание фильтров 268
Метаданные фильтра 268
Программирование фильтров 269
Практический пример 269
Разработка директив 270
Основные сведения о директивах 270
Требования к директивам 271
Создание директив 271
Метаданные директивы 272
Селектор директивы и его указание 272
Программирование директив 273
Основные возможности директив 273
Доступ к текущему элементу 273
Объявление дополнительных свойств 274
Доступ к свойствам текущего элемента 275
Обработка событий текущего элемента 276
Разработка директив управления выводом 276
Практические примеры 277
Директива подсветки HighlightDirective 277
Директива условного скрытия ElseDirective 278
Разработка валидаторов для шаблонных Web-форм 279

Глава 18. LESS — новый язык для написания таблиц стилей

282
Использование таблиц стилей LESS 282
Вложенные стили 283
Переменные 284
Вычисления 285
Примеси 286
Простейшие примеси 286
Параметризованные примеси 287
Статичные параметры в примесях 290
Возврат значений из примесей 291
Наборы правил 291
Стражи 292
Встроенные функции LESS 294
Функции для работы с цветом 294
Функции для работы с графическими изображениями 296
Функции для получения типа данных 297
Функции для работы с единицами измерения 298
Математические функции 299

Часть VI. Отладка и публикация Web-сайта

301

Глава 19. Средства отладки

303
Ошибки времени компиляции 303
Ошибки времени выполнения 305
Консоль Web-обозревателя и ее использование 305
Просмотр сообщений в консоли 305
Вывод в консоль произвольных отладочных данных 307
Встраиваемый отладчик Augury 308
Введение в Augury 308
Просмотр списка компонентов и элементов 308
Работа с компонентами и элементами 311
Просмотр сведений о связанных модулях 312
Просмотр исходного кода компонента 313
Трассировка программного кода 314
Просмотр списка маршрутов 317
Просмотр списка метамодулей 318

Глава 20. Публикация Web-сайта

319
Подготовка Web-сайта к публикации 319
Удаление ненужного кода и ненужных файлов 319
Задание названия Web-сайта 320
Устранение проблем с маршрутизацией 320
Создание эксплуатационной редакции Web-сайта 322

Часть VII. Разработка учебного Web-сайта

325

Глава 21. Дизайн Web-сайта. Основные разделы

327
Создание нового проекта 327
Разметка и базовое представление Web-сайта 328
Базовое представление 329
Разметка 329
Параметры Web-сайта 333
Главная Web-страница 333
Навигация 334
Метамодуль маршрутизации 334
Компонент панели навигации 335
Вывод статических Web-страниц 337
Подготовительные действия 338
Маршруты 338
Служба для загрузки HTML-файлов 339
Компонент для вывода статических Web-страниц 339
Обработка ошибок навигации 341

Глава 22. Реализация разграничения доступа

342
Подготовительные действия 342
Таблица базы данных 343
Раздел для работы с зарегистрированными пользователями 343
Серверные программы 344
Класс пользователя 346
Метамодули 346
Служба для работы с пользователями 347
Компоненты 348
Компонент списка пользователей 348
Компонент добавления и правки пользователя 351
Компонент удаления пользователя 354
Маршруты 356
Панель навигации 356
Разграничение доступа 357
Серверная программа 357
Служба входа и выхода 358
Метамодули 360
Компоненты 360
Компонент панели навигации 360
Компонент входа 362
Компонент выхода 363
Маршруты 365
Собственно разграничение доступа 365
Защита от посетителей, не выполнивших вход 365
Защита от пользователей, не являющихся администраторами 366
Защита от пользователей, выполнивших вход 367
Защита на уровне сервера 367

Глава 23. Категории

369
Таблица базы данных 369
Серверные программы 370
Класс категории 370
Панель навигации 371
Служба списка категорий 371
Компонент панели навигации 371
Раздел для работы с категориями 372
Метамодули 372
Служба для работы с категориями 373
Валидатор MinDirective 373
Компоненты 374
Маршруты 374
Разграничение доступа 375

Глава 24. Товары

376
Таблицы базы данных 376
Как мы будем хранить выгруженные файлы 378
Серверные программы 378
Программа для извлечения данных из базы 379
Программа для занесения данных в базу 383
Класс растения 387
Каталог растений 388
Служба загрузки растений 388
Фильтр PricePipe 389
Компоненты 390
Главная страница. Список особых предложений 390
Базовый класс компонента PlantBase 392
Компонент списка растений 393
Компонент сведений о растении 398
Маршруты 401
Раздел для работы со списком товаров 402
Метамодули 402
Служба для работы с растениями 403
Компоненты 404
Компонент добавления и правки растений 404
Компонент удаления растения 410
Маршруты 410

Глава 25. Комментарии

411
Таблица базы данных 411
Серверные программы 412
Программа для извлечения данных из базы 412
Программа для занесения данных в базу 414
Класс комментария 416
Добавление комментариев 417
Служба для загрузки и добавления комментариев 417
Компонент сведений о растении 418
Раздел для работы с комментариями 421
   
Заключение 423
Приложение. Описание электронного архива 425
Предметный указатель 427


На главную | Где купить | Авторам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты
© 2001–2018 Издательство «БХВ-Петербург».
Все права защищены. Частичное или полное копирование текстов, слоганов и фотоизображений без письменного согласия Правообладателя запрещено.