LibCoder

Разработка веб-приложений GraphQL с React, Node.js и Neo4j

1C Agda DataBase (SQL)
Разработка веб-приложений GraphQL с React, Node.js и Neo4j
Дата выхода: 2023
Издательство: ДМК Пресс
Количество страниц: 264
Размер файла: 5,1 МБ
Тип файла: PDF
Добавил: LibCoder
Оглавление
Предисловие от издательства....11 Вступление....12 Благодарности....13 О книге....14 Кому адресована эта книга....14 Организация книги....14 О примерах программного кода....15 Требования к программному обеспечению....15 Живое обсуждение книги....16 Другие онлайн-ресурсы....16 Об авторе....17 Об иллюстрации на обложке....17 Часть I. Введение в стек GraphQL....18 Глава 1....19 Что такое стек GraphQL?....19 1.1. Обзор стека GraphQL....19 1.2. GraphQL....21 1.2.1. Определения типов в GraphQL....21 1.2.2. Запросы GraphQL....23 1.2.3. Преимущества GraphQL....26 1.2.4. Недостатки GraphQL....28 1.2.5. Инструменты GraphQL....29 1.3. React....31 1.3.1. Компоненты React....32 1.3.2. JSX....32 1.3.3. Инструменты React....32 1.4. Apollo....34 1.4.1. Apollo Server....34 1.4.2. Apolo Client....34 1.5. База данных Neo4j....34 1.5.1. Графовая модель свойств....35 1.5.2. Язык запросов Cypher....35 1.5.3. Инструменты Neo4j....36 1.6. Как все это сочетается....39 1.6.1. React и Apollo Client: выполнение запроса....39 1.6.2. Apollo Server и серверная часть GraphQL....40 1.6.3. React и Apollo Client: обработка ответа....42 1.7. Что мы будем строить в этой книге....43 1.8. Упражнения....43 Итоги....44 Глава 2....45 Графовое мышление с GraphQL....45 2.1. Данные приложения – это граф....45 2.2. Графы в GraphQL....47 2.2.1. Моделирование API с применением определений типов: разработка на основе GraphQL....47 2.2.2. Выборка данных с помощью функций разрешения....54 2.2.3. Наша первая функция разрешения....55 2.3. Объединение определений типов и функций разрешения в Apollo Server....58 2.3.1. Apollo Server....58 2.3.2. Apollo Studio....58 2.3.3. Реализация функций разрешения....60 2.3.4. Выполнение запросов с помощью Apollo Studio....63 2.4. Упражнения....64 Итоги....64 Глава 3....65 Графы в базе данных....65 3.1. Обзор Neo4j....65 3.2. Моделирование графовых данных в Neo4j....66 3.2.1. Графовая модель свойств....67 3.2.2. Ограничения базы данных и индексы....70 3.3. Вопросы моделирования данных....70 3.3.1. Узел и свойство....70 3.3.2. Узел и отношение....71 3.3.3. Индексы....71 3.3.4. Специфика типов отношений....71 3.3.5. Выбор направления отношений....71 3.4. Инструменты: Neo4j Desktop....71 3.5. Инструменты: Neo4j Browser....72 3.6. Cypher....73 3.6.1. Сопоставление с образцом....73 3.6.2. Свойства....73 3.6.3. CREATE....74 3.6.4. MERGE....77 3.6.5. Определение ограничений на Cypher....78 3.6.6. MATCH....79 3.6.7. Агрегаты....80 3.7. Использование клиентских драйверов Neo4j....80 3.8. Упражнения....81 Итоги....81 Глава 4....82 Библиотека Neo4j GraphQL....82 4.1. Распространенные проблемы GraphQL....83 4.1.1. Низкая производительность и проблема n + 1 запроса....83 4.1.2. Типовой код и продуктивность разработчиков....83 4.2. Введение в средства интеграции GraphQL с базой данных....84 4.3. Библиотека Neo4j GraphQL....84 4.3.1. Настройка проекта....85 4.3.2. Генерирование схемы GraphQL из определений типов....89 4.4. Основы запросов GraphQL....91 4.5. Упорядочение и разбиение на страницы....94 4.6. Вложенные запросы....95 4.7. Фильтрация....96 4.7.1. Аргумент where....96 4.7.2. Вложенные фильтры....97 4.7.3. Логические операторы: AND, OR....98 4.7.4. Фильтрация выборки....99 4.8. Работа с датой/временем....101 4.8.1. Использование типа Date в запросах....101 4.8.2. Фильтры по полям с типами Date и DateTime....102 4.9. Работа с пространственными данными....103 4.9.1. Выборка данных типа Point....103 4.9.2. Фильтрация по расстояниям....104 4.10. Добавление своей логики в GraphQL API....105 4.10.1. Директива @cypher....105 4.10.2. Реализация собственных функций разрешения....109 4.11. Определение схемы GraphQL в существующей базе данных....111 4.12. Упражнения....112 Итоги....113 Часть II....114 Создание пользовательского интерфейса....114 Глава 5....115 Создание пользовательского интерфейса с помощью React....115 5.1. Обзор React....116 5.1.1. JSX и элементы React....116 5.1.2. Компоненты React....117 5.1.3. Иерархия компонентов....118 5.2. Create React App....118 5.2.1. Создание приложения React с помощью Create React App....118 5.3. Состояние и подключаемые обработчики React Hooks....125 5.4. Упражнения....129 Итоги....129 Глава 6....131 Клиент GraphQL....131 6.1. Apollo Client....132 6.1.1. Добавление Apollo Client в приложение React....132 6.1.2. Обработчики Apollo Client....135 6.1.3. Переменные GraphQL....139 6.1.4. Фрагменты GraphQL....140 6.1.5. Кеширование в Apollo Client....142 6.2. Мутации GraphQL....144 6.2.1. Создание узлов....144 6.2.2. Создание отношений....146 6.2.3. Изменение и удаление....147 6.3. Управление состоянием клиента с помощью GraphQL....148 6.3.1. Локальные поля и реактивные переменные....148 6.4. Упражнения....152 Итоги....153 Часть III....154 Задачи разработки полного цикла....154 Глава 7....155 Добавление авторизации и аутентификации....155 7.1. Авторизация в GraphQL: простейший подход....156 7.2. Веб-токены JSON Web Token....159 7.3. Директива схемы @auth....163 7.3.1. Правила и операции....164 7.3.2. Правило авторизации isAuthenticated....165 7.3.3. Правило авторизации roles....166 7.3.4 Правило авторизации allow....169 7.3.5. Правило авторизации where....170 7.3.6. Правило авторизации bind....172 7.4. Auth0: JWT как услуга....173 7.4.1. Настройка Auth0....173 7.4.2. Auth0 React....176 7.5. Упражнения....187 Итоги....187 Глава 8....188 Развертывание приложения GraphQL....188 8.1. Развертывание приложения GraphQL....188 8.1.1. Преимущества развертывания в бессерверном окружении....189 8.1.2. Недостатки развертывания в бессерверном окружении....190 8.1.3. Обзор подхода к развертыванию приложения GraphQL в бессерверном окружении....190 8.2. База данных Neo4j Aura как услуга....191 8.2.1. Создание кластера Neo4j Aura....192 8.2.2. Подключение к кластеру Neo4j Aura....194 8.2.3. Выгрузка данных в Neo4j Aura....197 8.2.4. Исследование графа с помощью Neo4j Bloom....199 8.3. Развертывание приложения React с помощью Netlify Build....202 8.3.1. Добавление сайта в Netlify....203 8.3.2. Настройка переменных окружения для сборок Netlify....211 8.3.3. Предварительное развертывание в Netlify....214 8.4. Развертывание GraphQL в виде бессерверной функции с помощью AWS Lambda и Netlify Functions....217 8.4.1. GraphQL API в виде бессерверной функции....217 8.4.2. dev: интерфейс командной строки Netlify....219 8.4.3. Преобразование GraphQL API в функцию Netlify....220 8.4.4. Добавление собственного домена в Netlify....223 8.5. Наш подход к развертыванию....225 8.6. Упражнения....226 Итоги....226 Глава 9....228 Продвинутые возможности GraphQL....228 9.1. Абстрактные типы GraphQL....228 9.1.1. Интерфейсы....229 9.1.2. Объединения....230 9.1.3. Использование абстрактных типов с библиотекой Neo4j GraphQL....231 9.2. Разбиение на страницы с помощью GraphQL....243 9.2.1. Разбиение на страницы по смещению....244 9.2.2. Разбиение на страницы с помощью курсора....245 9.3. Свойства отношений....249 9.3.1. Интерфейсы и директива @relationship....250 9.3.2. Создание свойств отношений....251 9.4. В заключение....252 9.5. Упражнения....253 Итоги....254 Предметный указатель....255

Описание

Коротко и по делу о том, что важно знать про graphql.

Преимущества GraphQL можно усилить за счет таких графовых инструментов и хранилищ данных, как React, Apollo и Neo4j. Язык запросов API GraphQL заметно упрощает обмен данными с серверами, позволяя приложениям получать данные в виде простых для понимания графов. Подход к разработке графовых приложений полного цикла обеспечивает согласованную модель данных от начала до конца, повышая продуктивность разработчиков.

На практических примерах вы увидите, как элементы GRANDstack сочетаются друг с другом. Эта книга научит вас создавать графовые веб-приложения с использованием GraphQL, React, Apollo и базы данных Neo4j, которые все вместе называются GRANDstack. Попутно создадите и развернете в облаке полноценное веб-приложение, поддерживающее поиск, аутентификацию и многое другое. А также узнаете, как развертывать комплексные приложения, в полной мере использующие производительность GraphQL.

Для веб-разработчиков полного цикла. Опыт работы с GraphQL или графовыми базами данных не требуется.

Файл доступен для загрузки ниже.

graphql данных react neo4j приложений графовых apollo полного

Частые вопросы

Можно ли скачать «Разработка веб-приложений GraphQL с React, Node.js и Neo4j» бесплатно?

Да, «Разработка веб-приложений GraphQL с React, Node.js и Neo4j» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.

В каком формате и какого размера файл?

Книга предоставляется в формате PDF, размер файла 5,1 МБ.

Кто автор и когда вышла книга?

автор — Лион Уильям, издательство ДМК Пресс, год выпуска 2023, 264 страниц.

О чём книга «Разработка веб-приложений GraphQL с React, Node.js и Neo4j»?

Язык запросов API GraphQL заметно упрощает обмен данными с серверами, позволяя приложениям получать данные в виде простых для понимания графов.

Похожие материалы