Desarrollo frontend

TypeScript, UX, testing y delivery con fiabilidad

Escrito por Olivér Haszpra

Desarrollo frontend

La experiencia de un producto digital se decide en gran medida en el frontend: qué tan rápido se siente, qué tan claros son los flujos y con qué seguridad se pueden llevar cambios a producción. Para nosotros el frontend es una superficie de producto de primera clase, no solo una “capa fina” encima de la lógica de backend.

Para mantener esta superficie estable nos apoyamos en tests end‑to‑end y pipelines de CI/CD. Playwright ejecuta los recorridos de usuario críticos igual que lo haría una persona real, mientras la automatización hace que cada despliegue sea repetible; todo esto reduce regresiones, acorta el time‑to‑market y mejora el ROI de cada nueva funcionalidad.

Ilustración de desarrollo frontend

TypeScript‑first: Next.js, React, Angular

Nuestro stack principal es TypeScript, con un fuerte enfoque en Next.js y React, complementado por Angular cuando su ecosistema y estructura aportan ventajas claras. En la práctica esto significa:

  • Next.js para aplicaciones modernas en React (SSR/SSG, app router, server components cuando realmente ayudan)
  • React para interfaces muy interactivas y paneles basados en design systems
  • Angular allí donde una arquitectura más estructurada con DI y RxJS aporta más valor

Seguimos de cerca las novedades de Next.js (enrutado, caché, server actions, RSC, Turbopack, partial prerendering, etc.) y solo las incorporamos cuando aportan beneficios medibles en rendimiento, experiencia de desarrollo o simplicidad de la infraestructura, no solo por ser nuevas.

Sistemas de diseño, MUI y Tailwind

Preferimos construir sistemas de diseño coherentes en lugar de pantallas aisladas. En proyectos con React esto suele significar una combinación de MUI y Tailwind CSS:

  • MUI para componentes accesibles y bien probados y para los patrones de layout
  • Tailwind para iterar rápido sobre tipografía, espaciado y comportamiento responsive
  • Bibliotecas de componentes propias cuando la marca o la UX lo requieren

El resultado es un frontend que se ve coherente, se comporta de forma predecible en todos los breakpoints y puede ser mantenido por varios equipos sin que cada release traiga regresiones visuales – lo que se traduce en menos coste de mantenimiento y más tiempo invertido en nuevas funcionalidades.

Gestión de estado alineada con la complejidad

No imponemos una única librería de gestión de estado a todos los proyectos. Elegimos las herramientas que mejor encajan con la complejidad real de la aplicación:

  • Estado local con hooks y context de React cuando eso es suficiente
  • Redux Toolkit, Zustand o NgRx cuando muchos pantallas comparten estado complejo y de larga vida
  • Capas de data‑fetching como React Query o SWR para acceso a APIs robusto y con caché

Esto mantiene el código entendible incluso años después, facilita el onboarding de nuevos desarrolladores y reduce malentendidos, lo que tiene impacto directo en el riesgo del proyecto y en sus costes.

Playwright y CI/CD – menos riesgo, más valor

En frontends serios los tests no son un “nice to have”. Playwright protege los flujos de negocio críticos (checkout, login, onboarding, procesos de backoffice) con tests end‑to‑end dentro de nuestros pipelines de CI/CD. Cuando tiene sentido, complementamos esto con herramientas como Vitest para tests de unidad y de componentes muy específicos – siempre en un papel de soporte frente a la cobertura e2e y la automatización:

  • Comprobaciones cross‑browser (Chromium, WebKit, Firefox) cuando tiene sentido de negocio
  • IDs de test estables en lugar de selectores CSS frágiles
  • Suites de tests rápidas que caben en el ciclo de desarrollo diario

Desde la perspectiva de la empresa esto permite lanzar nuevas versiones con más frecuencia y menos riesgo, evita regresiones costosas y hace que la inversión en calidad tenga un retorno visible en métricas de soporte, NPS y retención.

Desarrollo frontend apoyado en IA

Utilizamos herramientas de IA de forma activa: para generar datos de prueba, esbozar componentes, revisar refactors complejos y explorar implementaciones alternativas. No se trata de sustituir a los ingenieros, sino de usar la IA como palanca para entregar más rápido con el mismo nivel de calidad o mejor.

Además estamos preparando un artículo específico sobre cómo usamos la IA a lo largo de todo el pipeline de entrega, desde la exploración de diseño hasta el code review y los tests automáticos. Podrás leer más en nuestro artículo AI in software development en cuanto lo publiquemos.

Volver a las entradas de blog