/
Страница
- 6. Оглавление
- 14. Введение
- 16. Использование примеров кода
-
17.
Возможности онлайнового обучения от компании O’Reilly
Как связаться с нами - 18. Благодарности
-
20.
1. Создание приложений
Решение - 24. Обсуждение
-
25.
1.2. Создание приложений с обширным информационным наполнением посредством Gatsby
Решение - 28. Обсуждение
-
29.
1.3. Создание универсальных приложений с помощью Razzle
Решение -
31.
Обсуждение
1.4. Создание серверного и клиентского кода посредством Next.js - 32. Решение
- 33. Обсуждение
-
34.
1.5. Создание крошечных приложений посредством Preact
Решение - 37. Обсуждение
-
38.
1.6. Создание библиотек посредством набора инструментов nwb
Решение -
40.
Обсуждение
1.7. Добавление React в код Rails посредством Webpacker
Решение -
42.
Обсуждение
1.8. Создание пользовательских элементов посредством Preact
Решение - 45. Обсуждение
-
46.
1.9. Разработка компонентов посредством Storybook
Решение -
49.
Обсуждение
1.10. Тестирование кода в браузере посредством Cypress
Решение - 50. Обсуждение
- 52. 2. Маршрутизация
- 53. Решение
- 59. Обсуждение
- 60. 2.2. Размещение состояния в маршрутах
- 61. Решение
- 65. Обсуждение
- 66. 2.3. Модульное тестирование посредством MemoryRouter
- 67. Решение
- 68. Обсуждение
- 69. 2.4. Подтверждение ухода со страницы посредством компонента Prompt
- 70. Решение
-
76.
Обсуждение
2.5. Создание переходов посредством библиотеки React Transition Group - 77. Решение
-
82.
Обсуждение
2.6. Создание защищенных маршрутов - 83. Решение
- 87. Обсуждение
- 88. 3. Управление состоянием
- 89. Решение
- 95. Обсуждение
-
96.
3.2. Создание возможности ’’Отмена”
Решение - 102. Обсуждение
-
103.
3.3. Создание форм и проверка действительности их данных
Решение -
111.
Обсуждение
3.4. Часы для измерения времени
Решение - 114. Обсуждение
-
115.
3.5. Мониторинг состояния сетевого подключения
Решение -
117.
Обсуждение
3.6. Управление глобальным состоянием посредством библиотеки Redux
Решение - 123. Обсуждение
- 124. 3.7. Сохранение состояния при обновлении страниц посредством Redux Persist
- 125. Решение
-
128.
Обсуждение
3.8. Вычисление производного состояния посредством Reselect - 129. Решение
- 132. Обсуждение
- 134. 4. Проектирование для обеспечения интерактивности
- 135. Решение
- 139. Обсуждение
-
140.
4.2. Создаем интерактивное справочное руководство
Решение -
147.
Обсуждение
4.3. Сложные взаимодействия посредством преобразователей - 148. Решение
-
154.
Обсуждение
4.4. Взаимодействие с клавиатурой
Решение -
157.
Обсуждение
4.5. Создание насыщенного содержимого посредством редактора Markdown
Решение -
162.
Обсуждение
4.6. Анимация посредством классов CSS
Решение -
164.
Обсуждение
4.7. Анимация средствами React - 165. Решение
-
169.
Обсуждение
4.8. Анимация информационной графики посредством библиотеки TweenOne - 170. Решение
- 176. Обсуждение
- 177. 5. Подключение к службам
- 178. Решение
- 183. Обсуждение
- 184. 5.2. Автоматическое обновление посредством счетчиков состояния
- 185. Решение
- 192. Обсуждение
-
193.
5.3. Отмена сетевых запросов посредством маркеров
Решение -
196.
Обсуждение
5.4. Сетевые вызовы посредством Redux - 197. Решение
- 202. Обсуждение
-
203.
5.5. Подключение к GraphQL
Решение - 210. Обсуждение
- 211. 5.6. Уменьшение сетевой нагрузки при помощи очищенных запросов
- 212. Решение
- 214. Обсуждение
- 215. 6. Библиотеки компонентов
- 216. Решение
- 223. Обсуждение
-
224.
6.2. Простой пользовательский интерфейс посредством React Bootstrap
Решение -
228.
Обсуждение
6.3. Просмотр наборов данных посредством окна React Window
Решение -
231.
Обсуждение
6.4. Создание реагирующих диалоговых окон посредством библиотеки Material-UI
Решение - 233. Обсуждение
-
234.
6.5. Создание консоли администратора посредством React Admin
Решение -
241.
Обсуждение
6.6. Использование Semantic UI вместо дизайнера - 242. Решение
- 247. Обсуждение
-
248.
7. Безопасность
Решение - 256. Обсуждение
-
257.
7.2. Аутентификация посредством физических ключей
Решение - 267. Обсуждение
-
268.
7.3. Работа с протоколом HTTPS
Решение -
272.
Обсуждение
7.4. Аутентификация посредством отпечатка пальца
Решение - 277. Обсуждение
-
278.
7.5. Подтверждение действий, предоставляя учетные данные
Решение - 284. Обсуждение
-
285.
7.6. Однофакторная аутентификация
Решение - 289. Обсуждение
- 290. 7.7. Проверка приложения на устройстве Android
- 291. Решение
-
292.
Обсуждение
7.8. Проверка безопасности посредством ESlint - 293. Решение
- 296. Обсуждение
-
297.
7.9. Удобные для браузера формы входа в систему
Решение - 298. Обсуждение
- 300. 8. Тестирование
- 302. Решение
- 308. Обсуждение
-
309.
8.2. Использование Storybook для тестирования отрисовки
Решение - 315. Обсуждение
-
316.
8.3. Тестирование без сервера посредством Cypress
Решение - 323. Обсуждение
-
324.
8.4. Использование Cypress для офлайнового тестирования
Решение -
327.
Обсуждение
8.5. Использование Selenium для тестирования в браузере - 328. Решение
- 334. Обсуждение
-
335.
8.6. Тестирование внешнего вида на разных браузерах посредством ImageMagick
Решение - 342. Обсуждение
-
343.
8.7. Добавление консоли в браузер мобильного устройства
Решение - 346. Обсуждение
- 347. 8.8. Удаление произвольности из тестов
- 348. Решение
- 350. Обсуждение
-
351.
8.9. Путешествие во времени
Решение - 356. Обсуждение
- 357. 9. Доступность специальных возможностей
- 360. Решение
-
363.
Обсуждение
9.2. Применение ролей - 364. Решение
- 372. Обсуждение
-
373.
9.3. Проверка доступности посредством ESlint
Решение - 379. Обсуждение
-
380.
9.4. Динамический анализ посредством axe DevTools
Решение - 384. Обсуждение
-
385.
9.5. Автоматизация тестирования в браузере посредством Cypress Axe
Решение - 388. Обсуждение
- 389. 9.6. Добавление в страницу кнопок пропуска содержимого
- 390. Решение
- 395. Обсуждение
- 396. 9.7. Добавление возможности пропуска областей страницы
- 397. Решение
-
405.
Обсуждение
9.8. Захват области действия в модальных окнах - 407. Решение
-
408.
Обсуждение
9.9. Создание считывателя экрана посредством Speech API - 409. Решение
- 413. Обсуждение
- 414. 10. Производительность
- 415. Решение
-
422.
Обсуждение
10.2. Слежение за отрисовкой посредством Profiler - 423. Решение
-
428.
Обсуждение
10.3. Создание модульных тестов с Profiler
Решение - 432. Обсуждение
- 433. 10.4. Точное измерение времени
- 434. Решение
- 435. Обсуждение
- 437. 10.5. Уменьшение размера приложений посредством разделения кода
- 438. Решение
- 443. Обсуждение
- 444. 10.6. Объединение сетевых обещаний
- 445. Решение
- 447. Обсуждение
-
448.
10.7. Отрисовка на стороне сервера
Решение - 458. Обсуждение
- 459. 10.8. Использование основных показателей веб-производительности
- 460. Решение
- 462. Обсуждение
- 463. 11. Прогрессивные веб-приложения
- 466. Решение
- 480. Обсуждение
-
481.
11.2. Создание прогрессивных веб-приложений посредством Create React Арр
Решение -
484.
Обсуждение
11.3. Кеширование сторонних ресурсов
Решение -
488.
Обсуждение
11.4. Автоматическая перезагрузка воркеров - 490. Решение
-
493.
Обсуждение
11.5. Добавление извещений - 494. Решение
- 500. Обсуждение
-
501.
11.6. Модификации в режиме офлайн посредством фоновой синхронизации
Решение - 506. Обсуждение
- 507. 11.7. Добавляем специализированный установочный пользовательский интерфейс
- 508. Решение
- 511. Обсуждение
- 512. 11.8. Предоставление ответов в режиме офлайн
- 513. Решение
- 516. Обсуждение
- 518. Предметный указатель
- 526. Об авторах
- 527. Об обложке
Автор: Гриффитс Д.
Теги: языки программирования компьютерные технологии программирование java язык программирования javascript
ISBN: 978-5-9775-6839-5
Год: 2023