Tamaño de la App
Si bien Tauri ofrece por defecto binarios muy pequeños, no está de más llevar los límites un poco más allá, así que aquí tienes algunos consejos y trucos para alcanzar resultados óptimos.
Configuración de Cargo
Sección titulada «Configuración de Cargo»Una de las mejoras de tamaño independientes del frontend más simples que puedes hacer en tu proyecto es agregarle un perfil de Cargo.
Según si usas la toolchain de Rust estable o nightly, las opciones disponibles para ti varían un poco. Se recomienda quedarse en la toolchain estable a menos que seas un usuario avanzado.
[profile.dev]incremental = true # Compile your binary in smaller steps.
[profile.release]codegen-units = 1 # Allows LLVM to perform better optimization.lto = true # Enables link-time-optimizations.opt-level = "s" # Prioritizes small binary size. Use `3` if you prefer speed.panic = "abort" # Higher performance by disabling panic handlers.strip = true # Ensures debug symbols are removed.[profile.dev]incremental = true # Compile your binary in smaller steps.rustflags = ["-Zthreads=8"] # Better compile performance.
[profile.release]codegen-units = 1 # Allows LLVM to perform better optimization.lto = true # Enables link-time-optimizations.opt-level = "s" # Prioritizes small binary size. Use `3` if you prefer speed.panic = "abort" # Higher performance by disabling panic handlers.strip = true # Ensures debug symbols are removed.trim-paths = "all" # Removes potentially privileged information from your binaries.rustflags = ["-Cdebuginfo=0", "-Zthreads=8"] # Better compile performance.Referencias
Sección titulada «Referencias»- incremental: Compila tu binario en pasos más pequeños.
- codegen-units: Acelera los tiempos de compilación a costa de las optimizaciones del tiempo de compilación.
- lto: Habilita las optimizaciones en tiempo de enlace.
- opt-level: Determina el enfoque del compilador. Usa
3para optimizar el rendimiento,zpara optimizar por tamaño yspara algo intermedio. - panic: Reduce el tamaño eliminando el desenrollado de pánicos.
- strip: Elimina símbolos o información de depuración de un binario.
- rpath: Ayuda a encontrar las bibliotecas dinámicas que requiere el binario mediante la codificación fija de información en el mismo.
- trim-paths: Elimina información potencialmente privilegiada de los binarios.
- rustflags: Sets Rust compiler flags on a profile by profile basis.
-Cdebuginfo=0: Si se deben incluir símbolos de información de depuración en la compilación.-Zthreads=8: Aumenta el número de hilos utilizados durante la compilación.
Eliminar comandos no utilizados
Sección titulada «Eliminar comandos no utilizados»En el Pull Request feat: add a new option to remove unused commands, agregamos una nueva opción en el archivo de configuración de tauri
{ "build": { "removeUnusedCommands": true }}para eliminar comandos que nunca están permitidos en tus archivos de capacidades (ACL), de modo que no tengas que pagar por lo que no usas
¿Cómo funciona internamente?
tauri-cli se comunicará con tauri-build y el script de compilación de tauri, tauri-plugin a través de una variable de entorno y les permitirá generar una lista de comandos permitidos desde la ACL; esto luego se utilizará mediante la macro generate_handler para eliminar comandos no utilizados en función de ello
Un detalle interno es que esta variable de entorno es actualmente REMOVE_UNUSED_COMMANDS, y está configurada en el directorio del proyecto, por lo general el directorio src-tauri; esto se utiliza para que los scripts de compilación encuentren los archivos de capacidades, y aunque no se anima a hacerlo, aún puedes configurar esta variable de entorno tú mismo si no puedes o no deseas utilizar tauri-cli para hacer que esto funcione (ten en cuenta que al ser un detalle de implementación, no garantizamos su estabilidad)
© 2026 Colaboradores de Tauri. CC-BY / MIT