Классическая ошибка фронтендщиков

Классическая ошибка фронтендщиков с моей т.з. – злоупотребление кэшированием в SPA приложениях.

Как говорили классики, в программировании есть 2 сложности: именование сущностей и инвалидация кэша.

Особенность кэширования в SPA состоит в том, что простые решения не работают, а сложные... занимают много килобайт. Так много, что самая важная, первая загрузка страницы становится существенно медленнее.

От чего те самые пользователи, которых вы хотели поразить быстродействием свого навороченного решения с кэшем, закрывают вкладку.

На форумах я вижу как тысячи разработчиков расшибают головы, пытаясь совладать с ApolloClient или Relay, т.к. загружать данные без кэша "несерьёзно". Тратятся месяцы рабочего времени, а итоговое решение представляет... несуразный, громоздкий и медлительный код.

При отказе от кэширования, неслабым бонусом идёт автосинхронизация с сервером "из коробки".

Совет №1: избегайте кэширования запросов-ответов в SPA.

Совет №2: избегайте ApolloClient, работая с GraphQL

Совет №3: не бойтесь простых решений.

Помните что:

Джуны боятся сложности. Миддлы – простоты. Сениоры – провала проекта.