Место действия
Активно развивающееся поселение фронтендеров, уверовавшее в ApolloClient 3. Жители поселения обычно немногословны и используют черную магию кодогенерации. Для защиты своего быта от набегов варваров активно используют TypeScript и Eslint. Основной промысел жителей — создание SPA-приложений.
Мораль
Показать, как использовать ApolloClient 3 с кодогенерацией, со статическим анализом и минимум бойлерплейта. Показать возможности быстрого поиска ошибок в постоянно изменяющихся требованиях.
Протагонисты
- GraphQL — язык запросов, для получения данных с бэкенда.
- ApolloClient 3 — стейт-менеджер для хранения и обновления данных, полученных через GraphQL.
- GraphQL Code Generator – утилита для генерации хуков и тайп-дефинишенов из .graphql-файлов.
- TypeScript — статический типизированный JavaScript, дающий возможность проводить статический анализ кода приложения.
- Eslint — линтер, позволяющий проверять код на соответствие принятого code style в проекте. Плюс плагины prettier, @graphql-eslint/eslint-plugin.
Второстепенные персонажи
- VSCode — бесплатный и навернутый редактор кода с плагином graphql.vscode-graphql.
- NextJS — фреймворк для React, который снимает головную боль роутингом, билдом приложения и его рантаймом.
- Ant.design — живой UI-kit с приятными компонентами.
Антагонисты
- Бэкендеры, любящие часто менять API.
- Фронтендеры, любящие грязный код (например, табы вместо пробелов).
- Boilerplate-код — детская травма, полученная от Redux.
- Развесистый Data Domain с кучей связей.