Saltar al contenido

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.

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.

src-tauri/Cargo.toml
[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.
  • 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 3 para optimizar el rendimiento, z para optimizar por tamaño y s para 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.

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

tauri.conf.json
{
"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