Cuando quieres crear una app de escritorio hoy, tienes demasiadas opciones. Electron, Tauri, Flutter, Python con CustomTkinter, Python con Flet… y todas prometen lo mismo: una app bonita que funciona en Windows, macOS y Linux. La diferencia está en lo que te cuesta usar cada una.
Esta serie trata de Electron, así que podrías pensar que aquí solo vas a leer elogios. No es así. Electron tiene problemas reales, como el peso de los instaladores, y otras herramientas los resuelven mejor. Lo justo es comparar con calma y decidir según lo que necesitas, no según lo que está de moda.
Vamos con cada una, con sus puntos buenos y malos, y al final te dejo una guía rápida para elegir.
Electron

Electron usa JavaScript, HTML y CSS. Trae su propio Chromium y su propio Node.js dentro de cada app, así que tu programa se ve y se comporta igual en todos los sistemas.
Lo bueno: si ya sabes desarrollo web, empiezas el mismo día. Tiene el ecosistema más grande: miles de paquetes de npm, mucha documentación y respuestas para casi cualquier error. Programas como VS Code y Slack usan Electron, así que sabes que aguanta proyectos grandes.
Lo malo: el instalador pesa bastante (una app vacía ronda los 80 MB o más) y consume más memoria que una app nativa.
Tauri
Tauri usa el motor web que ya trae el sistema (WebView2 en Windows, WebKit en macOS y Linux) en lugar de incluir uno propio. La parte “de servidor” se escribe en Rust.
Lo bueno: los instaladores pesan muy poco, a veces unos pocos megabytes, y la app gasta menos memoria.
Lo malo: tienes que aprender algo de Rust para todo lo que salga de la interfaz, y como cada sistema usa un motor web distinto, a veces ves diferencias de diseño o de comportamiento entre Windows, macOS y Linux.
Flutter
Flutter usa el lenguaje Dart y dibuja toda la interfaz con su propio motor, sin depender de una página web. Sirve para escritorio, móvil y web con un solo código.
Lo bueno: el rendimiento es muy bueno y el diseño se ve igual en todas partes. Es ideal si también quieres una app para Android o iPhone.
Lo malo: tienes que aprender Dart y un estilo de programar distinto al de la web. Para usar funciones del sistema operativo a veces dependes de paquetes de la comunidad.
Python con CustomTkinter
CustomTkinter es una capa sobre Tkinter que le da un aspecto moderno. Todo se escribe en Python.
Lo bueno: es lo más sencillo para empezar si ya programas en Python. Sirve para herramientas internas, utilidades y programas pequeños.
Lo malo: el diseño tiene límites. Hacer pantallas complejas cuesta más que en una interfaz web, y para entregar el programa empaquetas con PyInstaller, que genera ejecutables de buen tamaño y a veces marca falsos positivos en antivirus.
Python con Flet
Flet también usa Python, pero la interfaz se basa en Flutter. Escribes en Python y obtienes controles con aspecto moderno, sin tocar Dart.
Lo bueno: un punto medio atractivo: lenguaje fácil y resultado visual mejor que el de Tkinter.
Lo malo: es más joven, tiene menos comunidad y menos paquetes que Electron, así que a veces te toca resolver problemas por tu cuenta.
¿Cuál elegir?
- Ya sabes JavaScript o desarrollo web: Electron. Es la ruta más corta para tener algo funcionando.
- El peso del instalador te importa mucho y no te asusta Rust: Tauri.
- Quieres app de escritorio y móvil con el mismo código: Flutter.
- Necesitas una herramienta pequeña y rápida, y ya usas Python: CustomTkinter o Flet.
- Haces un sistema de negocio (punto de venta, inventario, facturación) con impresoras, lectores y base de datos local: Electron. Tiene muchos ejemplos y paquetes para hablar con hardware.
No existe una opción perfecta. La mejor es la que puedes terminar y mantener tú. En los siguientes artículos vamos a trabajar con Electron, empezando por una plantilla moderna con Vite, React y TypeScript.
