¿De verdad necesitas React o Node.js para tu proyecto web?
Hoy en día pareciera que si no usas React, Node.js o algún framework JavaScript moderno, tu aplicación “no es seria”. Pero... ¿realmente necesitas toda esa infraestructura solo para mostrar un formulario, un listado o un panel de administración?
Spoiler: en muchos casos, no.
🚧 El problema: sobreingeniería
Hay una tendencia a usar React para absolutamente todo. Incluso si vas a hacer:
- Un formulario de contacto
- Un CRUD sencillo para una base de datos
- Una interfaz interna con acceso restringido
- Un panel de administración
Entonces aparecen cosas como:
- React + Vite + TypeScript
- API REST en Node.js o Spring
- Docker + nginx
- CI/CD solo para subir 2 archivos estáticos
Todo esto para terminar mostrando una tabla y un botón “Guardar”.
⚙️ ¿Y si solo usas Servlets y JSP?
Con Java, puedes perfectamente construir una aplicación completa usando:
- Servlets como controladores
- JSP (o Thymeleaf si usas Spring) como vista
- DAO + Servicios para separar la lógica
Y listo. Todo corre como .war
o .jar
, se despliega fácilmente y es más simple de mantener.
🧱 React no solo es código, es peso en el cliente
Usar React implica que tu cliente final también debe “instalar” parte del sistema en su navegador.
- Descarga todo el JavaScript.
- Espera que se renderice.
- Necesita una máquina decente para no tener una mala experiencia.
Esto no es un problema si estás haciendo una app como Gmail. Pero si tu cliente solo quiere consultar un libro de ventas, le estás haciendo pagar un costo técnico innecesario.
💻 ¿Y si terminas instalando ejecutables?
Otro punto importante es este:
¿Para qué programar una aplicación web si igual vas a instalar cosas en el cliente como si fuera una app de escritorio?
Eso rompe el principio fundamental de la web: “acceder desde cualquier navegador, sin instalar nada.”
Si tu sistema usa React y termina en:
- Un ejecutable empaquetado con Electron
- Una Progressive Web App que requiere instalación
- Node.js corriendo en el cliente
Entonces ya no es una app web clásica. Es una app híbrida que podría haberse hecho directamente como aplicación de escritorio, sin complicarte la vida con frontend moderno.
🚫 Ejecutables que solo funcionan en Windows
Otro caso muy común es cuando se programa una solución usando Visual Studio en C# o VB.NET y se genera un ejecutable .exe
que solo corre en Windows.
¿El problema? Estás atando tu sistema a:
- Una plataforma específica (Windows)
- Un entorno de ejecución pesado (.NET Framework)
- Instalaciones manuales por cada cliente
Eso rompe la gran ventaja de las aplicaciones web: acceso desde cualquier navegador, en cualquier sistema.
Si vas a hacer que el usuario instale un ejecutable como en los 90, ¿para qué llamarlo “sistema web”?
🤔 ¿Y el SEO?
Una de las razones por las que se recomienda renderizar desde el servidor (como hacen los Servlets o JSP) es para que los buscadores indexen mejor tu sitio. Pero...
Si tu aplicación no es pública ni necesita tráfico desde Google, entonces el SEO es irrelevante.
Casos donde no necesitas SEO:
- Intranet corporativa
- Aplicaciones de escritorio web embebidas
- Sistemas de gestión o contabilidad
- Aplicaciones privadas para clientes
- Herramientas internas o de backoffice
✅ ¿Qué puedes usar entonces?
- Servlets + JSP/HTML
- Thymeleaf con Spring MVC
- Java + Hibernate (si quieres persistencia avanzada)
- Bootstrap para estilos
- Un Servlet o filtro para login, sin complicaciones
✍️ Conclusión
Antes de elegir una tecnología porque “todos la usan”, pregúntate para quién es tu sistema y qué necesita realmente.
No todo lo que brilla es React.
A veces, un buen Servlet con HTML limpio es más que suficiente.
📣 ¿Y tú?
¿Te ha tocado sobreingeniería en proyectos pequeños? ¿También sentiste presión de usar stacks modernos innecesariamente? ¡Déjame un comentario o contáctame para compartir experiencias!
Comentarios
Publicar un comentario