52 puntos por xguru 2025-03-04 | 6 comentarios | Compartir por WhatsApp
  • 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 className de 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
  • 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
    • Express : el framework backend de Node.js más popular
    • Fastify : framework de Node.js de alto rendimiento
    • NestJS : adecuado para aplicaciones a gran escala
    • Elysia : backend moderno basado en TypeScript
  • 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
  • Bases de datos basadas en Firebase/Supabase
  • Recomendación:
    • Si necesitas un ORM: Prisma, Drizzle ORM
    • Bases de datos serverless: PlanetScale, Neon

Hosting para React

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
  • 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-dnd que 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

 
tmdeoans 2025-10-12

ssgoi.dev: biblioteca de transiciones de página para React

Les agradecería si también agregan esto jaja..

 
clastneo 2025-03-04

¿No habría que considerar a Expo como el framework de RN?

 
codemasterkimc 2025-03-04

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

 
dooboo 2025-03-04

Es la fuerza de lo legado.

Como referencia, jQuery tiene una cuota de mercado del 90%...

 
xguru 2025-03-04
 
xguru 2025-03-04

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.