Las decisiones que se toman al arrancar un proyecto son fundamentales para su éxito temprano. Dependiendo de ellas, podemos encontrarnos con escenarios que comprometan la escalabilidad y la mantenibilidad, o por el contrario faciliten la implementación y el despliegue.
No todos los escenarios son iguales, por lo que no existe una solución estándar. Lo importante no es quedarse con una tecnología concreta, sino con el proceso de análisis.
El escenario
En este caso se necesitaba una aplicación en React que permitiese el uso de custom service workers, consumiese una API de terceros, generase un bundle lo más pequeño posible, ofreciese cierto nivel de personalización y además pudiera ser mantenida por personas sin un expertise especialmente alto.
Antes del análisis técnico
Antes de elegir una solución conviene entender:
- quién va a usar la aplicación,
- qué afinidad tiene el equipo con la tecnología,
- y qué cadencia de entrega va a exigir el producto.
La empatía con el equipo, la flexibilidad futura y el contexto de negocio son determinantes.
Analizando opciones
SSR
Al tratarse de una aplicación pequeña, autenticada y sin necesidad clara de indexación, tecnologías como Next.js o Remix se descartaron para este escenario concreto. Aportan mucho valor, pero también añaden curva de aprendizaje y riesgo de acoplamiento accidental.
SPA
Esto dejaba como opciones Create React App o construir una base más personalizada con herramientas como Webpack o Vite. CRA resulta útil para etapas tempranas, pero cuando se necesita hilar fino con el bundle o con la configuración, suele aparecer pronto la necesidad de hacer eject.
Empaquetado
Webpack ofrece muchísima flexibilidad, pero para perfiles con menos experiencia puede convertirse en una barrera. Vite, en cambio, ofrece tiempos de ejecución más bajos, bundles algo más pequeños y una configuración más apoyada en plugins comprensibles.
Conclusión
La evaluación tecnológica nunca da certezas absolutas, pero sí un proceso útil para tomar decisiones. Algunos criterios relevantes fueron:
- dónde se va a desplegar,
- qué complejidad no necesitamos,
- qué curva de aprendizaje encaja mejor,
- qué herramienta aporta mejor mantenibilidad,
- qué soporte y adopción tiene,
- qué nivel de acoplamiento accidental introduce,
- y qué impacto tiene en rendimiento.
Lo valioso es desarrollar la capacidad de evaluar el escenario, no repetir una receta cerrada.