Bibliotecas esenciales de React para 2025
(robinwieruch.de)- React se ha usado durante mucho tiempo y ha formado un amplio ecosistema de bibliotecas
- Los desarrolladores que vienen de otros lenguajes/frameworks pueden tener dificultades para elegir las bibliotecas necesarias para construir aplicaciones con React
- El núcleo de React es una biblioteca centrada en funciones para construir UI basada en componentes
- Con componentes funcionales y React Hooks se puede gestionar estado local, manejar efectos secundarios y optimizar el rendimiento
- En última instancia, tanto los componentes como los hooks funcionan como una forma de construir UI usando funciones
- Se presentan las bibliotecas esenciales de React necesarias para desarrollar aplicaciones a gran escala de cara a 2025
Empezar un proyecto de React
- Vite : la herramienta más popular para configurar proyectos de React. Ofrece velocidad de compilación rápida y soporte sencillo para TypeScript
- Next.js :
- Meta-framework basado en React que admite server-side rendering (SSR) y static site generation (SSG)
- Ofrece varias funciones como file-based routing, API routes y React Server Components (RSC)
- TanStack Start (Beta) : nuevo framework basado en React, con soporte planeado para React Server Components. Se está desarrollando como alternativa a Next.js
- React Router : la biblioteca más representativa para client-side routing en React. Actualmente está cambiando bajo la influencia de Remix
- Astro : herramienta de generación de sitios estáticos independiente del framework. Puede usarse junto con React y optimiza el rendimiento al minimizar JavaScript innecesario
- Nitro , Redwood , Waku
- Nuevos frameworks y herramientas para React
- Waku es una biblioteca con soporte para React Server Components creada por el desarrollador de Zustand
- Recomendación:
- client-side rendering (CSR): Vite
- server-side rendering (SSR): Next.js
- static site generation (SSG): Astro
Gestores de paquetes para React
- npm : gestor de paquetes predeterminado de Node.js y el más usado
- Yarn : ofrece mejor gestión de dependencias y mejoras de velocidad
- pnpm : tiene gran rendimiento, pero es relativamente menos común
- Turborepo : herramienta para gestionar monorepos, útil para administrar varios proyectos de React de forma eficiente
- Recomendación:
- gestión general de paquetes: npm
- si se necesita optimizar rendimiento: pnpm
- si se necesita monorepo: Turborepo
Gestión de estado en React
- useState, useReducer : hooks integrados básicos de React para gestionar estado dentro de los componentes
- useContext : hook integrado básico de React para gestión de estado global
- Zustand : biblioteca para gestionar estado global con una API simple. Como es más fácil de usar que Redux, muchos desarrolladores la prefieren últimamente
- Redux : biblioteca de gestión de estado usada durante mucho tiempo. Recientemente Redux Toolkit se ha establecido como el estándar
- XState, Zag : bibliotecas de gestión de estado basadas en máquinas de estado
- Mobx , Jotai , Nano Stores : bibliotecas de gestión de estado que pueden usarse como alternativas a Zustand y Redux
- Recomendación:
- estado local: useState / useReducer
- estado global pequeño: useContext
- estado global grande: Zustand
Obtención de datos en React
- TanStack Query : biblioteca de data fetching para solicitudes a APIs REST y GraphQL. Ofrece funciones como caché, sincronización y optimistic updates
- Apollo Client : biblioteca de gestión de datos optimizada para APIs GraphQL
- urql : cliente GraphQL ligero
- Relay : cliente GraphQL de alto rendimiento desarrollado por Facebook
- RTK Query : herramienta que facilita el data fetching en entornos Redux
- tRPC : ofrece comunicación de API type-safe entre backend y frontend basada en TypeScript. Puede usarse junto con TanStack Query
- Recomendación:
- obtención de datos del lado del servidor: React Server Components / Functions (si se usa un meta-framework compatible)
- obtención de datos del lado del cliente: TanStack Query (REST, GraphQL)
- solo para GraphQL: Apollo Client
- comunicación API con seguridad de tipos: tRPC
Enrutamiento en React
- React Router : la biblioteca más usada para client-side routing
- TanStack Router (Beta) : nueva biblioteca de routing con excelente soporte para TypeScript
- Recomendación:
- routing del lado del servidor: Next.js
- routing del lado del cliente: React Router (la más usada), TanStack Router (tendencia más reciente)
Estilos CSS en React
- Tailwind CSS
- Enfoque Utility-First CSS, que permite aplicar estilos rápidamente con clases predefinidas
- Ayuda a mantener un sistema de diseño consistente, pero el nombrado de clases puede volverse complejo
- CSS Modules
- Permite modularizar estilos por componente y evitar conflictos de estilos globales
- Es el enfoque más usado dentro de CSS-in-CSS
- styled-components
- Enfoque CSS-in-JS que define CSS dentro del código JavaScript
- Su popularidad ha ido bajando recientemente por temas de rendimiento y problemas en entornos del lado del servidor
- Emotion : biblioteca CSS-in-JS similar a styled-components, con optimización de rendimiento y posibilidad de usar clases utilitarias
- clsx : biblioteca utilitaria que facilita establecer
classNamede forma condicional - StyleX : nueva solución CSS-in-JS desarrollada por Facebook. Ofrece estilo utility-first con un método de compilación optimizado
- Otras bibliotecas CSS : PandaCSS , linaria , vanilla-extract , nanocss , UnoCSS , Styled JSX
- Recomendación:
- Opción más popular: Tailwind CSS
- Si necesitas modularizar estilos: CSS Modules
- Solución CSS-in-JS más reciente: StyleX
Bibliotecas UI de React
- Material UI (MUI) : biblioteca UI que todavía se usa mucho en proyectos freelance. Basada en el sistema Material Design de Google
- Mantine UI : la biblioteca UI más popular en 2022. Ofrece muchas funciones y soporte para estilos personalizados
- Chakra UI : la biblioteca UI más popular en 2021. Destaca por su accesibilidad y facilidad de estilizado
- Hero UI : biblioteca UI renombrada desde la anterior Next UI
- Park UI : biblioteca UI basada en Ark UI
- PrimeReact : ofrece una amplia variedad de componentes UI preconstruidos
- Bibliotecas UI headless
- shadcn/ui (la más popular en 2023-2024)
- Radix (base de shadcn/ui)
- React Aria
- Ark UI (desarrollada por el equipo creador de Chakra UI)
- Ariakit
- Daisy UI
- Headless UI
- Tailwind UI (de pago)
- Bibliotecas UI cuyo uso ha disminuido
- Recomendación:
- Bibliotecas UI con estilos incluidos: MUI, Mantine, Chakra UI
- Bibliotecas UI headless sin estilos incluidos: shadcn/ui, Radix
Bibliotecas de animación para React
- Motion : la biblioteca de animación más recomendada (antes Framer Motion)
- react-spring : permite implementar animaciones basadas en física
Gráficas y visualización de datos en React
- D3.js : biblioteca de gráficas de bajo nivel, muy potente pero con una curva de aprendizaje pronunciada
- Recharts : biblioteca de gráficas fácil de usar. Permite personalización básica
- visx : funciona de forma similar a D3, pero es más amigable con React
- Otras bibliotecas de gráficas : Victory , nivo , react-chartjs
- Recomendación:
- Gráficas sencillas: Recharts
- Personalización estilo D3: visx
Bibliotecas de formularios para React
- React Hook Form : la biblioteca de formularios para React más usada. Puede ofrecer validación potente de formularios al usarse junto con
zod - Conform : biblioteca de formularios emergente que se integra fácilmente con aplicaciones full-stack
- Formik , React Final Form : bibliotecas tradicionales de formularios para React, que todavía se usan en algunos proyectos
- Recomendación:
- Al elegir una biblioteca de formularios, usar React Hook Form + zod
Estilo de código y formateo en React
- ESLint : linter para mantener el estilo del código. Permite aplicar guías de estilo populares
- Prettier : herramienta que proporciona formateo de código consistente. Puede usarse junto con ESLint
- Biome : linter y formateador de código rápido todo en uno, basado en Rust (antes Rome). Se está posicionando como alternativa a ESLint y Prettier
- Recomendación:
- Usar la combinación ESLint + Prettier
- Considerar Biome como una alternativa nueva
Autenticación de React
- Lucia : solución de autenticación compatible con OAuth y funciones de cifrado
- Better Auth : uno de los servicios de autenticación más modernos
- Auth.js : biblioteca de autenticación fácil de usar con Next.js y varios frameworks
- Servicios de autenticación de pago: Clerk , Kinde
- Autenticación basada en Firebase/Supabase: Supabase Auth
- Otros servicios de autenticación: AuthKit , Auth0 , AWS Cognito
- Recomendación:
- Autenticación sencilla: Auth.js, Supabase Auth
- OAuth y seguridad reforzada: Lucia, Better Auth
Backend para React
- Next.js : ofrece renderizado del lado del servidor (SSR) y rutas de API
- Astro : framework adecuado para crear sitios web estáticos
- tRPC : solución para comunicación de API con seguridad de tipos
- Hono : framework de servidor ultraligero que puede usarse con React
- Frameworks backend tradicionales de Node.js
- Otros frameworks backend
- Recomendación:
- Desarrollo full stack con React: Next.js, tRPC
- Si necesitas un backend tradicional: Express, Fastify
Bases de datos y ORM para React
- Prisma : el ORM basado en TypeScript más popular
- Drizzle ORM : ORM que está ganando atención como alternativa a Prisma
- Otros ORM y constructores de consultas: Kysely , database-js : exclusivo para PlanetScale
- Bases de datos serverless
- PlanetScale (de pago)
- Neon PostgreSQL serverless
- Xata
- Turso
- Bases de datos basadas en Firebase/Supabase
- Supabase basada en PostgreSQL, con posibilidad de self-hosting
- Firebase Firestore
- Recomendación:
- Si necesitas un ORM: Prisma, Drizzle ORM
- Bases de datos serverless: PlanetScale, Neon
Hosting para React
- Servidores autoadministrados: Digital Ocean , Hetzner
- Hosting totalmente administrado:
- Otras plataformas de hosting
- Render , Fly.io , Railway
- CloudFlare , AWS , Azure , Google Cloud
- Recomendación:
- Proyectos de Next.js: Vercel
- Si necesitas administrar tu propio servidor: Digital Ocean, Hetzner
Bibliotecas de testing para React
- Vitest : framework de pruebas más rápido que Jest y optimizado para proyectos modernos de React. Ofrece ejecución de pruebas, aserciones y funciones de mocking
- Jest : framework de pruebas muy usado también en proyectos antiguos
- React Testing Library (RTL)
- biblioteca representativa para probar componentes de React
- ofrece renderizado de elementos HTML y simulación de eventos
- Playwright
- la herramienta de pruebas E2E (End-to-End) más recomendada
- permite pruebas automatizadas en varios navegadores y dispositivos
- Cypress : herramienta de pruebas E2E de frontend que compite con Playwright
- Recomendación:
- Pruebas unitarias/integración: Vitest + React Testing Library
- Pruebas E2E: Playwright (o Cypress)
- Opción para pruebas snapshot: Vitest
React y estructuras de datos inmutables
- Immer :
- biblioteca que ayuda a manejar fácilmente estructuras de datos inmutables
- permite implementar de forma concisa lógica compleja de cambios de estado
Soporte multilenguaje (i18n) en React
- FormatJS : potente biblioteca de i18n que incluye formateo de fechas, números, monedas y más
- react-i18next : la biblioteca de soporte multilenguaje más usada en React
- Lingui : ofrece potente soporte multilenguaje con configuración mínima
- next-intl : biblioteca multilenguaje para proyectos de Next.js
- Recomendación:
- La opción más común: react-i18next
- Proyectos basados en Next.js: next-intl
Editores de texto enriquecido para React
- TipTap : editor moderno de texto enriquecido con excelente capacidad de expansión
- Plate : potente solución de editor basada en Slate.js
- Lexical : editor ligero de texto enriquecido creado por Facebook
- Slate : framework de editor de texto enriquecido personalizable
- Recomendación:
- Si necesitas expansión flexible: TipTap
- Editor ligero y optimizado: Lexical
Sistemas de pago para React
- PayPal : uno de los sistemas de pago más utilizados
- Stripe : ofrece una API de pagos amigable para desarrolladores
- Otras soluciones de pago
- Braintree (propiedad de PayPal)
- Lemon Squeezy (basado en Stripe)
- Recomendación:
- Solución de pago sencilla: Stripe
- Si necesitas compatibilidad con PayPal: PayPal o Braintree
Manejo de hora y fecha en React
- date-fns : biblioteca ligera que ofrece una variedad de funciones de fecha y hora
- Day.js : alternativa ligera a Moment.js, con una API similar
- Recomendación:
- La biblioteca más ligera: Day.js
- Biblioteca con más funcionalidades: date-fns
Aplicaciones de escritorio con React
- Electron :
- framework para desarrollar aplicaciones de escritorio multiplataforma
- permite crear aplicaciones para Windows, macOS y Linux con tecnologías web (HTML, CSS, JS)
- Tauri
- alternativa más ligera que Electron que usa un backend basado en Rust
- adecuado para proyectos donde la seguridad y el rendimiento son importantes
- Recomendación:
- Aprovechar directamente las tecnologías web: Electron
- Ligereza y seguridad primero: Tauri
Carga de archivos en React
- react-dropzone : biblioteca basada en hooks de React para la carga de archivos. Compatible con funciones de arrastrar y soltar
Renderizado de correos electrónicos en React
- react-email (recomendado) : permite crear correos HTML responsivos usando componentes de React
- mjml : lenguaje de marcado para generar correos HTML fácilmente
- Mailing : ayuda a los desarrolladores a crear y administrar correos fácilmente
- jsx-email : permite crear plantillas de correo usando sintaxis JSX
- Proveedores de servicios de correo electrónico:
- Recomendación:
- Crear correos al estilo React: react-email
- Si necesitas un servicio de correo: SendGrid, Mailgun
Arrastrar y soltar en React
- @hello-pangea/dnd : proyecto sucesor de
react-beautiful-dndque ofrece una forma de uso sencilla - dnd kit : ofrece gran flexibilidad y posibilidades de personalización, pero tiene una curva de aprendizaje
- Recomendación:
- Drag and drop fácil: @hello-pangea/dnd
- Si necesitas personalización: dnd kit
Desarrollo móvil con React
- React Native : framework para desarrollar aplicaciones móviles multiplataforma basado en React
- Expo : toolchain que facilita aún más el desarrollo con React Native
- Tamagui : permite usar los mismos componentes de UI en web y móvil
- Recomendación:
- Desarrollo móvil: React Native + Expo
- Unificar la UI entre web y móvil: Tamagui
Desarrollo VR/AR con React
- react-three-fiber : biblioteca de renderizado 3D basada en Three.js. Existen casos de soporte para VR
- react-360 (archivado) : framework de VR/AR desarrollado por Facebook (ya no tiene mantenimiento)
- aframe-react (ya no recibe mantenimiento) : biblioteca que permite usar A-Frame en React
- Recomendación:
- Biblioteca moderna de React para 3D/VR: react-three-fiber
Prototipado de diseño en React
- Figma : la herramienta más popular para diseño y prototipado de UI/UX
- Excalidraw : permite crear wireframes y diagramas con estilo de dibujo a mano
- tldraw : herramienta de bocetado similar a Excalidraw
- Recomendación:
- Diseño UI/UX: Figma
- Wireframes simples: Excalidraw
Documentación de componentes en React
- Storybook : herramienta de referencia para el desarrollo y la documentación de componentes de UI
- Docusaurus : generador de sitios estáticos para documentación técnica
- Styleguidist : herramienta de documentación de guías de estilo centrada en componentes de React
- React Cosmos : ofrece un entorno para desarrollar y probar componentes de UI de forma aislada
- Recomendación:
- Documentación de componentes: Storybook
- Generación de documentación técnica: Docusaurus
6 comentarios
ssgoi.dev: biblioteca de transiciones de página para React
Les agradecería si también agregan esto jaja..
¿No habría que considerar a Expo como el framework de RN?
Según las búsquedas en Google Trends, tengo entendido que Redux está en 90% y Zustand ni siquiera llega al 10%, pero veo que Zustand está arriba jajaja
Es la fuerza de lo legado.
Como referencia, jQuery tiene una cuota de mercado del 90%...
Consulta también Stack tecnológico de React 2025.
Bibliotecas recomendadas para desarrollar apps con React en 2022
Parece que lo actualizan cada año, pero esta vez pasaron 3 años. Vale la pena compararlas.