Skip to content
Latchkey

Apollo vs urql: qual cliente GraphQL?

Apollo Client é um cliente GraphQL rico em recursos com um poderoso cache normalizado; urql é um cliente mais leve, composável e baseado em exchanges.

O Apollo Client oferece um cache normalizado sofisticado, estado local, subscriptions e um grande ecossistema, tornando-se o padrão para apps GraphQL complexos, mas com um bundle maior e mais configuração. O urql é menor e construído em torno de exchanges composáveis, com um cache padrão mais simples (document caching) e o graphcache opcional para normalização. Apollo vence em poder de cache e ecossistema; urql vence em tamanho, simplicidade e composabilidade.

Apollourql
CacheNormalizado (poderoso)Document (graphcache opcional)
Tamanho de bundleMaiorMenor
ExtensibilidadePlugins, linksExchanges composáveis
EcossistemaGrandeMenor, crescendo
Melhor paraApps GraphQL complexosClientes enxutos e composáveis

Caso de uso e cache

Apollo serve a apps GraphQL grandes que precisam de um cache normalizado poderoso, estado local e um amplo ecossistema. urql serve a equipes que querem um cliente mais leve, exchanges composáveis e padrões mais simples, adicionando cache normalizado apenas quando necessário. A divisão é entre profundidade de recursos vs tamanho de bundle e simplicidade.

Testes e CI

Ambos oferecem utilitários de mocking para operações GraphQL em testes. Qualquer um roda em runners gerenciados, onde runners mais rápidos encurtam as suítes de testes de integração GraphQL.

O veredito

Precisa de um cache normalizado poderoso, estado local e um grande ecossistema: Apollo Client. Quer um cliente enxuto e composável com padrões mais simples: urql. Apollo vence em profundidade de cache; urql vence em tamanho e composabilidade.

Guias relacionados