Table of contents : Предисловие Введение Для кого эта книга Структура Условные обозначения Использование примеров кода Благодарности От издательства Глава 1. Среда разработки Текстовый редактор Терминал Использование отдельного приложения терминала Использование VSCode Навигация по файловой системе Инструменты командной строки и Homebrew (только для Mac) Node.js и NPM Установка Node.js и NPM для macOS Установка Node.js и NPM для Windows MongoDB Установка и запуск MongoDB для macOS Установка и запуск MongoDB для Windows Git Expo Prettier ESLint Наводим красоту Итоги Глава 2. Введение в API Что мы создаем Как мы будем все это создавать Начало Итоги Глава 3. Создание веб-приложения с помощью Node и Express Hello World Nodemon Расширение опций порта Итоги Глава 4. Наш первый GraphQL API Превращение сервера в API (ну, вроде того) Основы GraphQL Схемы Распознаватели Адаптация API Итоги Глава 5. База данных Начало работы с MongoDB Подключение MongoDB к приложению Чтение и запись данных Итоги Глава 6. Операции CRUD Разделение GraphQL-схемы и распознавателей Написание CRUD-схемы CRUD-распознаватели Время и дата Итоги Глава 7. Учетные записи пользователей и аутентификация Процесс аутентификации в приложении Шифрование и токены Шифрование паролей JSON Web Token Интеграция аутентификации в API Пользовательские схемы Распознаватели аутентификации Добавление пользователя в контекст распознавателя Итоги Глава 8. Действия пользователя Подготовка Прикрепление пользователя к новым заметкам Пользовательские разрешения на изменение и удаление Запросы пользователей Избранные заметки Вложенные запросы Итоги Глава 9. Детали Передовые методы Express.js для веб-приложений Express Helmet Совместное использование ресурсов между источниками Пагинация Ограничения данных Прочие соображения Тестирование Подписки Платформа Apollo GraphQL Итоги Глава 10. Развертывание API Размещение базы данных Развертывание приложения Настройка проекта Развертывание Тестирование Итоги Глава 11. Интерфейсы пользователей и React JavaScript и UI Декларативные интерфейсы в JavaScript Достаточно одного React Итоги Глава 12. Построение веб-клиента с помощью React Что мы создаем Как мы будем это создавать Начало Создание приложения Маршрутизация Создание ссылок Компоненты UI Итоги Глава 13. Стилевое оформление приложения Создание компонента макета CSS CSS-in-JS Создание компонента Button Добавление глобальных стилей Стили компонентов Итоги Глава 14. Работа с Apollo Client Настройка Apollo Client Запросы к API Стиль Динамические запросы Пагинация Итоги Глава 15. Аутентификация и состояние Создание формы регистрации Формы и состояния в React Мутация signUp JSON Web Token и локальное хранилище Переадресация Прикрепление заголовков к запросам Управление локальным состоянием Выход из системы Создание формы авторизации Защищенные маршруты Итоги Глава 16. Операции создания, чтения, изменения и удаления Создание заметок Чтение заметок пользователей Изменение заметок Удаление заметок Добавление в избранное Итоги Глава 17. Развертывание приложения Статические сайты Конвейер развертывания Хостинг исходного кода с помощью Git Развертывание с помощью Netlify Итоги Глава 18. Создание десктопных приложений с помощью Electron Что мы создаем Как мы будем его создавать Начало Наше первое приложение на Electron Детали окна приложения для macOS Инструменты разработчика Electron API Итоги Глава 19. Интеграция веб-приложения в Electron Интеграция веб-приложения Предупреждения и ошибки Конфигурация Политика защиты контента CSP Итоги Глава 20. Развертывание Electron Electron Builder Настройка Electron Builder Сборка для нашей текущей платформы Иконки приложения Сборка для нескольких платформ Подписание кода Итоги Глава 21. Мобильные приложения на React Native Что мы создаем Как мы будем его создавать Начало Итоги Глава 22. Оболочка мобильного приложения Из чего состоит React Native Style и Styled Components Styled Components Маршрутизация Маршрутизация по вкладкам с помощью React Navigation Навигация по стеку Добавление заголовков экранов Иконки Итоги Глава 23. GraphQL и React Native Создание списка и прокручиваемого содержимого Маршрутизация списка GraphQL с Apollo Client Написание GraphQL-запросов Добавление индикатора загрузки Итоги Глава 24. Аутентификация в мобильном приложении Поток аутентификации Создание формы авторизации Аутентификация с помощью GraphQL-мутаций Аутентифицированные GraphQL-запросы Добавление формы регистрации Итоги Глава 25. Дистрибуция мобильного приложения Настройка app.json Иконки и экраны загрузки приложения Иконки приложения Экраны-заставки Публикация через Expo Создание нативных сборок iOS Android Дистрибуция через магазины приложений Итоги Послесловие Приложение A. Локальное выполнение API Приложение Б. Локальное выполнение веб-приложения Об авторе Об обложке