
Facturapp en escritorio y móvil con el mismo código
Cómo Tauri me permite tener una sola base de código web para la versión de escritorio y la de móvil de Facturapp.
Cuando empecé a planear Facturapp, la primera decisión de verdad importante no fue de diseño ni de qué campos necesitaba una factura — fue con qué encapsular una app web como aplicación de escritorio y móvil sin duplicar el trabajo.
Por qué no Electron
La opción evidente era Electron, que lleva años siendo el estándar de facto. Pero cada aplicación de Electron carga su propio Chromium empaquetado dentro — así que un “hola mundo” ya pesa más de cien megas antes de escribir una sola línea propia. Para una app de facturación que un autónomo va a instalar en un portátil que no siempre es precisamente nuevo, ese peso me pareció un mal punto de partida.
Qué hace distinto Tauri
Tauri resuelve el mismo problema de forma opuesta: en vez de empaquetar su propio navegador, usa el motor de renderizado que ya trae instalado el sistema operativo (WebView2 en Windows, WebKit en macOS y Linux). El resultado es que el mismo proyecto que en Electron pesaba más de cien megas, en Tauri se queda en unos pocos. La parte nativa — ventanas, sistema de archivos, notificaciones — corre en Rust, y se comunica con mi interfaz en Svelte a través de comandos que yo mismo defino.Esa fue también la puerta de entrada que me hizo empezar a aprender Rust en serio, aunque al principio me limitara a copiar comandos de ejemplo sin entender del todo qué hacían por debajo.
La parte que más me costó
No fue Rust, sorprendentemente — para lo poco que necesitaba al principio, los comandos son bastante mecánicos. Lo que más me costó fue pensar la interfaz para que funcionara igual de bien con el dedo en una pantalla táctil que con ratón y teclado en un portátil, sin acabar con dos interfaces distintas que mantener. Al final la solución fue la de siempre en web: diseñar primero para el espacio más reducido (el móvil) y dejar que el escritorio aproveche el espacio de sobra, en vez de al revés.
Facturapp sigue en marcha, pero con esta base ya no me preocupa el “¿y cómo lo saco también para móvil?” — esa pregunta ya está resuelta desde el principio.