Volver al blog

Brendan Eich Critica el Uso de Electron y WebView2 en Windows 11

Hola HaWkers, una declaracion del creador de JavaScript esta generando bastante discusion en la comunidad de desarrolladores: Brendan Eich critico publicamente la dependencia creciente de Windows 11 en tecnologias web como Electron y WebView2 para construir aplicaciones de escritorio.

Eich, quien ademas de crear JavaScript tambien fundo el navegador Brave, argumento que este enfoque representa un "bloat" (hinchazón) innecesario debido al "uso apresurado de Web UX sobre nativo". Pero, ¿tiene razon? Vamos a analizar.

El Contexto de la Critica

Windows 11 ha estado adoptando cada vez mas componentes basados en web en aplicaciones del sistema. Desde el nuevo Microsoft Teams hasta partes del propio Windows Explorer, Microsoft esta reemplazando codigo nativo por aplicaciones que corren sobre WebView2, su componente basado en Chromium.

Aplicaciones Windows 11 que Usan Tecnologias Web

Basadas en Electron:

  • Microsoft Teams (version clasica)
  • Visual Studio Code
  • Discord
  • Slack
  • Notion

Basadas en WebView2:

  • Microsoft Teams (nueva version)
  • Widgets de Windows 11
  • Partes de Microsoft Store
  • Outlook (nueva version)

💡 Contexto: Electron empaqueta un navegador Chromium completo (~150MB) con cada aplicacion, mientras que WebView2 comparte una unica instancia de Chromium en el sistema.

El Argumento de Brendan Eich

Eich es conocido por sus opiniones fuertes sobre tecnologia. Su critica principal es que las empresas estan priorizando la velocidad de desarrollo sobre la experiencia del usuario:

Problemas Senalados

1. Consumo de Memoria

Una aplicacion Electron tipica consume:

  • Base: 150-300MB RAM (solo para el runtime)
  • Por pestana/ventana: +50-100MB adicional
  • Total promedio: 500MB-1GB por aplicacion

2. Uso de CPU

Comparacion de CPU en reposo:

  • App nativa Win32: 0-0.1%
  • App .NET/WPF: 0.1-0.5%
  • App Electron: 1-3%
  • App WebView2: 0.5-1.5%

3. Tiempo de Inicio

Tipo de App Tiempo Promedio de Inicio
Win32 nativo 100-300ms
.NET/WPF 500-800ms
WebView2 800ms-1.5s
Electron 1.5-4s

¿Por Que las Empresas Eligen Electron y WebView2?

A pesar de las desventajas de rendimiento, hay razones economicas y practicas solidas para esta eleccion:

Ventajas del Desarrollo Web para Escritorio

Velocidad de desarrollo:

  • Una unica base de codigo para Windows, Mac y Linux
  • Millones de desarrolladores web disponibles
  • Ecosistema npm con mas de 2 millones de paquetes
  • Herramientas de depuracion familiares

Costo:

  • Menos desarrolladores necesarios
  • Time-to-market mas rapido
  • Mantenimiento simplificado
  • Actualizaciones mas frecuentes

Consistencia:

  • UI identica entre plataformas
  • Experiencia familiar para usuarios web
  • Design systems reutilizables

El Contrapunto: Cuando Web Tiene Sentido

No todo uso de tecnologias web en escritorio es malo. Hay casos donde el enfoque es justificable:

Casos de Uso Validos

1. Aplicaciones de Productividad Ligeras

  • Editores de texto simples
  • Clientes de correo
  • Aplicaciones de notas

2. Herramientas de Desarrollo

  • VS Code demostro que Electron puede ser optimizado
  • Editores de codigo necesitan extensibilidad
  • La comunidad web crea plugins mas facilmente

3. Aplicaciones Cross-Platform

  • Pequenos equipos sin recursos para 3 codebases
  • MVPs que necesitan validar mercado rapidamente
  • Aplicaciones que ya tienen version web

Casos Donde Nativo es Esencial

1. Aplicaciones de Sistema

  • Administradores de tareas
  • Exploradores de archivos
  • Herramientas de respaldo

2. Aplicaciones de Alto Rendimiento

  • Editores de video/audio
  • Juegos
  • Software CAD/3D

3. Aplicaciones con Requisitos de Seguridad

  • Administradores de contrasenas
  • Software bancario
  • Aplicaciones corporativas sensibles

El Futuro: Alternativas a Electron

La comunidad de desarrolladores esta buscando alternativas que combinen la productividad del desarrollo web con mejor rendimiento:

Opciones Emergentes

Tauri:

  • Usa el WebView del sistema operativo
  • Bundle de ~5MB vs ~150MB de Electron
  • Escrito en Rust (backend)
  • Crecimiento del 400% en 2025

Flutter Desktop:

  • Compilacion nativa real
  • UI consistente entre plataformas
  • Rendimiento cercano a nativo
  • Adoptado por Google y otros

React Native for Windows:

  • Renderiza a componentes nativos
  • Familiar para desarrolladores React
  • Soporte de Microsoft
  • Mejor integracion con Windows

Capacitor:

  • Evolucion de Cordova
  • Plugins nativos faciles
  • Menos overhead que Electron
  • Bueno para apps hibridas

Impacto Para Desarrolladores

Si estas decidiendo que tecnologia usar para tu proximo proyecto de escritorio, considera:

Preguntas Para Hacer

  1. ¿Cual es el publico objetivo? - Usuarios tecnicos toleran apps mas pesadas
  2. ¿Cuales son los requisitos de rendimiento? - Aplicaciones en tiempo real necesitan nativo
  3. ¿Cual es el presupuesto? - El desarrollo nativo cuesta mas
  4. ¿Cual es la urgencia? - Los MVPs se benefician de Electron
  5. ¿Hay version web? - Reutilizar codigo puede valer la pena

Recomendaciones Practicas

Para nuevos proyectos:

  • Considera Tauri como alternativa a Electron
  • Evalua Flutter para apps que necesitan rendimiento
  • Usa WebView2 si es exclusivo para Windows

Para proyectos existentes en Electron:

  • Optimiza con mejores practicas (lazy loading, cache)
  • Considera migracion gradual a Tauri
  • Monitorea uso de memoria y CPU

Conclusion

La critica de Brendan Eich refleja una tension real en el desarrollo de software: la busqueda de velocidad de entrega versus la experiencia del usuario. Aunque tecnologias como Electron y WebView2 han democratizado el desarrollo de escritorio, tambien han traido compromisos de rendimiento que afectan a millones de usuarios.

El futuro parece estar en tecnologias hibridas como Tauri, que buscan lo mejor de ambos mundos. Para nosotros desarrolladores, la clave es evaluar cada proyecto individualmente y elegir la herramienta correcta para el trabajo.

Si quieres entender mas sobre las tendencias que estan moldeando JavaScript en 2025, te recomiendo revisar otro articulo: TypeScript 5.9 y ECMAScript 2025 Aprobado donde descubriras las nuevas caracteristicas que impactan tu codigo.

¡Vamos arriba! 🦅

Comentarios (0)

Este artículo aún no tiene comentarios 😢. ¡Sé el primero! 🚀🦅

Añadir comentarios