Bibliotecas React essenciais para 2025
(robinwieruch.de)- O React, após ser usado por muito tempo, formou um vasto ecossistema de bibliotecas
- Desenvolvedores vindos de outras linguagens/frameworks podem ter dificuldade para escolher as bibliotecas necessárias para construir aplicações React
- O núcleo do React é uma biblioteca focada em criar UI baseada em componentes
- Com componentes funcionais e React Hooks, é possível gerenciar estado local, lidar com efeitos colaterais e otimizar desempenho
- Em última análise, tanto componentes quanto hooks funcionam como uma forma de compor UI usando funções
- São apresentadas as bibliotecas React essenciais para desenvolver aplicações de grande porte em 2025
Começando um projeto React
- Vite : a ferramenta mais popular para configurar projetos React. Oferece alta velocidade de build e suporte simples a TypeScript
- Next.js :
- Metaframework baseado em React com suporte a server-side rendering (SSR) e static site generation (SSG)
- Oferece vários recursos, como roteamento baseado em arquivos, rotas de API e React Server Components (RSC)
- TanStack Start (Beta) : novo framework baseado em React, com suporte planejado a React Server Components. Está sendo desenvolvido como alternativa ao Next.js
- React Router : principal biblioteca para roteamento client-side no React. Atualmente passa por mudanças sob influência do Remix
- Astro : ferramenta de geração de sites estáticos agnóstica a framework. Pode ser usada com React e otimiza o desempenho ao minimizar JavaScript desnecessário
- Nitro , Redwood , Waku
- Novos frameworks e ferramentas do ecossistema React
- Waku é uma biblioteca com suporte a React Server Components criada pelo desenvolvedor do Zustand
- Recomendação:
- Renderização client-side (CSR): Vite
- Renderização server-side (SSR): Next.js
- Geração de sites estáticos (SSG): Astro
Gerenciadores de pacotes para React
- npm : gerenciador de pacotes padrão do Node.js e o mais usado
- Yarn : oferece melhor gerenciamento de dependências e ganhos de velocidade
- pnpm : tem ótimo desempenho, mas é relativamente menos popular
- Turborepo : ferramenta de gerenciamento de monorepo, permitindo administrar vários projetos React com eficiência
- Recomendação:
- Gerenciamento de pacotes em geral: npm
- Quando for necessário otimizar desempenho: pnpm
- Quando houver necessidade de monorepo: Turborepo
Gerenciamento de estado no React
- useState, useReducer : hooks nativos do React para gerenciar estado dentro de componentes
- useContext : hook nativo do React para gerenciamento de estado global
- Zustand : biblioteca para gerenciar estado global com API simples. Por ser mais fácil de usar que Redux, vem sendo preferida por muitos desenvolvedores recentemente
- Redux : biblioteca de gerenciamento de estado usada há muito tempo. Mais recentemente, o Redux Toolkit se consolidou como padrão
- XState, Zag : bibliotecas de gerenciamento de estado baseadas em máquinas de estado
- Mobx , Jotai , Nano Stores : bibliotecas de gerenciamento de estado que podem ser usadas como alternativas a Zustand e Redux
- Recomendação:
- Estado local: useState / useReducer
- Estado global pequeno: useContext
- Estado global grande: Zustand
Data fetching no React
- TanStack Query : biblioteca de data fetching para requisições a APIs REST e GraphQL. Oferece recursos como cache, sincronização e atualizações otimistas
- Apollo Client : biblioteca de gerenciamento de dados otimizada para APIs GraphQL
- urql : cliente GraphQL leve
- Relay : cliente GraphQL de alto desempenho desenvolvido pelo Facebook
- RTK Query : ferramenta que facilita o data fetching em ambientes com Redux
- tRPC : oferece comunicação de API type-safe entre backend e frontend com base em TypeScript. Pode ser usado com TanStack Query
- Recomendação:
- Data fetching no servidor: React Server Components / Functions (ao usar um metaframework compatível)
- Data fetching no cliente: TanStack Query (REST, GraphQL)
- Exclusivo para GraphQL: Apollo Client
- Comunicação de API com segurança de tipos: tRPC
Roteamento no React
- React Router : biblioteca mais amplamente usada para roteamento client-side
- TanStack Router (Beta) : nova biblioteca de roteamento com excelente suporte a TypeScript
- Recomendação:
- Roteamento no servidor: Next.js
- Roteamento no cliente: React Router (mais usado), TanStack Router (tendência mais recente)
Estilização CSS no React
- Tailwind CSS
- Abordagem Utility-First CSS, permitindo estilização rápida com classes predefinidas
- Ajuda a manter a consistência do design system, mas a nomenclatura das classes pode ficar complexa
- CSS Modules
- Permite modularizar os estilos por componente, evitando conflitos com estilos globais
- É a abordagem mais amplamente usada entre as soluções de CSS-in-CSS
- styled-components
- Abordagem CSS-in-JS que define CSS dentro do código JavaScript
- Sua popularidade vem caindo recentemente por questões de desempenho e problemas em ambientes server-side
- Emotion : biblioteca CSS-in-JS semelhante ao styled-components, com otimização de desempenho e suporte ao uso de classes utilitárias
- clsx : biblioteca utilitária que facilita a definição condicional de
className - StyleX : nova solução CSS-in-JS desenvolvida pelo Facebook. Oferece estilização utility-first com compilação otimizada
- Outras bibliotecas CSS : PandaCSS , linaria , vanilla-extract , nanocss , UnoCSS , Styled JSX
- Recomendação:
- Opção mais popular: Tailwind CSS
- Se precisar de modularização de estilos: CSS Modules
- Solução CSS-in-JS mais atual: StyleX
Bibliotecas de UI para React
- Material UI (MUI) : biblioteca de UI ainda muito usada em projetos freelance. Baseada no sistema Material Design do Google
- Mantine UI : a biblioteca de UI mais popular em 2022. Oferece vários recursos e suporte a estilos personalizados
- Chakra UI : a biblioteca de UI mais popular em 2021. Destaca-se pela acessibilidade e facilidade de estilização
- Hero UI : biblioteca de UI renomeada a partir da antiga Next UI
- Park UI : biblioteca de UI baseada em Ark UI
- PrimeReact : oferece diversos componentes de UI prebuilt
- Bibliotecas de UI headless
- shadcn/ui (mais popular em 2023-2024)
- Radix (base do shadcn/ui)
- React Aria
- Ark UI (desenvolvida pela equipe criadora do Chakra UI)
- Ariakit
- Daisy UI
- Headless UI
- Tailwind UI (paga)
- Bibliotecas de UI que perderam frequência de uso
- Recomendação:
- Bibliotecas de UI com estilos incluídos: MUI, Mantine, Chakra UI
- Bibliotecas de UI headless sem estilos incluídos: shadcn/ui, Radix
Bibliotecas de animação para React
- Motion : biblioteca de animação mais recomendada (antigo Framer Motion)
- react-spring : permite implementar animações baseadas em física
Gráficos e visualização de dados em React
- D3.js : biblioteca de gráficos de baixo nível, poderosa, mas com curva de aprendizado acentuada
- Recharts : biblioteca de gráficos fácil de usar. Permite customização básica
- visx : funciona de forma semelhante ao D3, mas é mais amigável ao React
- Outras bibliotecas de gráficos : Victory , nivo , react-chartjs
- Recomendação:
- Gráficos simples: Recharts
- Customização no estilo D3: visx
Bibliotecas de formulários para React
- React Hook Form : a biblioteca de formulários para React mais usada. Com
zod, permite validação de formulários robusta - Conform : biblioteca de formulários emergente, com integração fácil com aplicações full-stack
- Formik , React Final Form : bibliotecas de formulários tradicionais para React, ainda usadas em alguns projetos
- Recomendação:
- Ao escolher uma biblioteca de formulários, use React Hook Form + zod
Estilo de código e formatação no React
- ESLint : linter para manter o estilo do código. Permite aplicar guias de estilo populares
- Prettier : ferramenta que fornece formatação consistente de código. Pode ser usada junto com o ESLint
- Biome : linter e formatador de código all-in-one rápido, baseado em Rust (antigo Rome). Está ganhando destaque como alternativa ao ESLint e ao Prettier
- Recomendação:
- Usar a combinação ESLint + Prettier
- Considerar o Biome como nova alternativa
Autenticação no React
- Lucia : solução de autenticação com suporte a OAuth e criptografia
- Better Auth : um dos serviços de autenticação mais modernos
- Auth.js : biblioteca de autenticação fácil de usar no Next.js e em vários frameworks
- Serviços de autenticação pagos: Clerk , Kinde
- Autenticação baseada em Firebase/Supabase: Supabase Auth
- Outros serviços de autenticação: AuthKit , Auth0 , AWS Cognito
- Recomendação:
- Autenticação fácil: Auth.js, Supabase Auth
- OAuth e recursos de segurança reforçados: Lucia, Better Auth
Back-end para React
- Next.js : oferece renderização no lado do servidor (SSR) e rotas de API
- Astro : framework ideal para criar sites estáticos
- tRPC : solução para comunicação de API com segurança de tipos
- Hono : framework de servidor ultraleve, que pode ser usado com React
- Frameworks tradicionais de back-end em Node.js
- Outros frameworks de back-end
- Recomendação:
- Desenvolvimento full-stack com React: Next.js, tRPC
- Quando precisar de um back-end tradicional: Express, Fastify
Banco de dados e ORM para React
- Prisma : o ORM baseado em TypeScript mais popular
- Drizzle ORM : ORM em destaque como alternativa ao Prisma
- Outros ORMs e query builders: Kysely , database-js : exclusivo para PlanetScale
- Bancos de dados serverless
- PlanetScale (pago)
- Neon PostgreSQL serverless
- Xata
- Turso
- Bancos de dados baseados em Firebase/Supabase
- Supabase baseado em PostgreSQL, com possibilidade de self-hosting
- Firebase Firestore
- Recomendação:
- Quando precisar de ORM: Prisma, Drizzle ORM
- Banco de dados serverless: PlanetScale, Neon
Hospedagem para React
- Servidores autogerenciados: Digital Ocean , Hetzner
- Hospedagem totalmente gerenciada:
- Outras plataformas de hospedagem
- Render , Fly.io , Railway
- CloudFlare , AWS , Azure , Google Cloud
- Recomendação:
- Projetos Next.js: Vercel
- Quando precisar gerenciar seu próprio servidor: Digital Ocean, Hetzner
Bibliotecas de teste para React
- Vitest : framework de testes mais rápido que o Jest e otimizado para projetos React modernos. Oferece execução de testes, asserções e recursos de mocking
- Jest : framework de testes ainda muito usado em projetos mais antigos
- React Testing Library (RTL)
- biblioteca de referência para testar componentes React
- oferece recursos de renderização de elementos HTML e simulação de eventos
- Playwright
- ferramenta de teste E2E (End-to-End) mais recomendada
- permite testes automatizados em vários navegadores e dispositivos
- Cypress : ferramenta de testes E2E para front-end, concorrendo com o Playwright
- Recomendação:
- Testes unitários/de integração: Vitest + React Testing Library
- Testes E2E: Playwright (ou Cypress)
- Opção para testes de snapshot: Vitest
React e estruturas de dados imutáveis
- Immer :
- biblioteca que ajuda a lidar facilmente com estruturas de dados imutáveis
- permite implementar de forma concisa lógicas complexas de mudança de estado
Suporte a internacionalização (i18n) no React
- FormatJS : biblioteca robusta de i18n com formatação de datas, números, moedas e mais
- react-i18next : biblioteca de internacionalização mais usada no React
- Lingui : oferece suporte robusto a múltiplos idiomas com configuração mínima
- next-intl : biblioteca de internacionalização para projetos Next.js
- Recomendação:
- Escolha mais comum: react-i18next
- Projetos baseados em Next.js: next-intl
Editores de texto rico para React
- TipTap : editor de texto rico moderno com excelente extensibilidade
- Plate : solução poderosa de editor baseada em Slate.js
- Lexical : editor de texto rico leve criado pelo Facebook
- Slate : framework de editor de texto rico altamente customizável
- Recomendação:
- Quando precisar de extensibilidade flexível: TipTap
- Editor leve & otimizado: Lexical
Sistema de pagamentos para React
- PayPal : um dos sistemas de pagamento mais usados
- Stripe : oferece uma API de pagamentos amigável para desenvolvedores
- Outras soluções de pagamento
- Braintree (da PayPal)
- Lemon Squeezy (baseado em Stripe)
- Recomendação:
- Solução de pagamento simples: Stripe
- Se precisar de suporte ao PayPal: PayPal ou Braintree
Manipulação de hora e data no React
- date-fns : oferece várias funções de data/hora, sendo leve
- Day.js : alternativa leve ao Moment.js, com API semelhante
- Recomendação:
- Biblioteca mais leve: Day.js
- Biblioteca com mais recursos: date-fns
Aplicações desktop com React
- Electron :
- framework para desenvolvimento de aplicações desktop multiplataforma
- permite criar aplicações para Windows, macOS e Linux com tecnologias web (HTML, CSS, JS)
- Tauri
- alternativa mais leve ao Electron, usando backend em Rust
- ideal para projetos em que segurança e desempenho são importantes
- Recomendação:
- Aproveitar as tecnologias web como estão: Electron
- Leveza & segurança em primeiro lugar: Tauri
Upload de arquivos no React
- react-dropzone : biblioteca baseada em hooks do React para upload de arquivos. Suporta funcionalidade de arrastar e soltar
Renderização de e-mails com React
- react-email (recomendado) : permite criar e-mails HTML responsivos com componentes React
- mjml : linguagem de marcação para gerar e-mails HTML com facilidade
- Mailing : ajuda desenvolvedores a criar e gerenciar e-mails com facilidade
- jsx-email : permite criar templates de e-mail usando sintaxe JSX
- Provedores de serviço de e-mail:
- Recomendação:
- Criar e-mails no estilo React: react-email
- Se precisar de serviço de e-mail: SendGrid, Mailgun
Drag and drop no React
- @hello-pangea/dnd : projeto sucessor do
react-beautiful-dnd, com uso simples - dnd kit : alta flexibilidade e possibilidade de customização, mas com curva de aprendizado
- Recomendação:
- Drag and drop fácil: @hello-pangea/dnd
- Se precisar de customização: dnd kit
Desenvolvimento mobile com React
- React Native : framework de desenvolvimento de aplicações mobile multiplataforma baseado em React
- Expo : toolchain que facilita ainda mais o desenvolvimento com React Native
- Tamagui : permite usar os mesmos componentes de UI na web e no mobile
- Recomendação:
- Desenvolvimento mobile: React Native + Expo
- Unificação de UI entre web e mobile: Tamagui
Desenvolvimento VR/AR com React
- react-three-fiber : biblioteca de renderização 3D baseada em Three.js. Há casos de suporte a VR
- react-360 (arquivado) : framework de VR/AR desenvolvido pelo Facebook (sem manutenção atualmente)
- aframe-react (não recebe mais manutenção) : biblioteca que permite usar A-Frame no React
- Recomendação:
- Biblioteca moderna de React para 3D/VR: react-three-fiber
Prototipagem de design para React
- Figma : ferramenta mais popular para design e prototipagem de UI/UX
- Excalidraw : permite criar wireframes e diagramas com aparência desenhada à mão
- tldraw : ferramenta de esboço semelhante ao Excalidraw
- Recomendação:
- Design de UI/UX: Figma
- Wireframes simples: Excalidraw
Documentação de componentes React
- Storybook : principal ferramenta para desenvolvimento e documentação de componentes de UI
- Docusaurus : gerador de sites estáticos para documentação técnica
- Styleguidist : ferramenta de documentação de guias de estilo centrada em componentes React
- React Cosmos : oferece um ambiente para desenvolver e testar componentes de UI de forma independente
- Recomendação:
- Documentação de componentes: Storybook
- Criação de documentação técnica: Docusaurus
6 comentários
ssgoi.dev: biblioteca de transição de páginas para React
Agradeço se puder adicionar isso também, rs..
Acho que o Expo deve ser visto mais como o framework do RN, não é?
Pelo que sei, nas buscas do Google Trends o redux fica com 90% e o zustand nem chega a 10%, então é engraçado ver o zustand aí em cima kkk
É o poder do legado.
Só para constar, o jQuery tem 90% de participação de mercado...
Veja também Stack de tecnologia React 2025
Bibliotecas recomendadas para desenvolver apps com React em 2022
Parece que ele atualiza isso todo ano, mas já faz 3 anos. Vale a pena comparar.