Capacidades para diferentes ventanas y plataformas
Esta guía te ayudará a personalizar las capacidades de tu aplicación Tauri.
Contenido de esta guía
Sección titulada “Contenido de esta guía”- Crear múltiples ventanas en una aplicación Tauri
- Usar diferentes capacidades para diferentes ventanas
- Usar capacidades específicas para cada plataforma
Requisitos previos
Sección titulada “Requisitos previos”Este ejercicio está pensado para ser leído después de completar Uso de permisos de plugins.
-
Crear múltiples ventanas en una aplicación Tauri
Sección titulada “Crear múltiples ventanas en una aplicación Tauri”Aquí creamos una app con dos ventanas etiquetadas como
firstysecond. Existen varias formas de crear ventanas en tu aplicación Tauri.Crear ventanas con el archivo de configuración de Tauri
Sección titulada “Crear ventanas con el archivo de configuración de Tauri”En el archivo de configuración de Tauri, habitualmente llamado
tauri.conf.json:"productName": "multiwindow",..."app": {"windows": [{"label": "first","title": "First","width": 800,"height": 600},{"label": "second","title": "Second","width": 800,"height": 600}],},...}Crear ventanas mediante programación
Sección titulada “Crear ventanas mediante programación”En el código de Rust para crear una aplicación Tauri:
tauri::Builder::default().invoke_handler(tauri::generate_handler![greet]).setup(|app| {let webview_url = tauri::WebviewUrl::App("index.html".into());// First windowtauri::WebviewWindowBuilder::new(app, "first", webview_url.clone()).title("First").build()?;// Second windowtauri::WebviewWindowBuilder::new(app, "second", webview_url).title("Second").build()?;Ok(())}).run(context).expect("error while running tauri application"); -
Aplicar diferentes capacidades a diferentes ventanas
Sección titulada “Aplicar diferentes capacidades a diferentes ventanas”Las ventanas de una app Tauri pueden usar diferentes características o plugins del backend de Tauri. Para una mayor seguridad, se recomienda otorgar solo las capacidades necesarias a cada ventana. Simulamos un escenario donde la
firstventana utiliza funcionalidades del sistema de archivos y de diálogos, y lasecondsolo necesita funcionalidades de diálogos.Archivos de capacidad separados por categoría
Sección titulada “Archivos de capacidad separados por categoría”Se recomienda separar los archivos de capacidad por categoría de acciones que habilitan.
Los archivos JSON en
src-tauri/capabilitiesse tendrán en cuenta para el sistema de capacidades. Aquí separamos las capacidades relacionadas con el sistema de archivos y la ventana de diálogos enfilesystem.jsonydialog.json.árbol de archivos del proyecto Tauri:
/src/src-tauri/capabilitiesfilesystem.jsondialog.jsontauri.conf.jsonpackage.jsonREADME.mdOtorgar capacidades del sistema de archivos a la ventana
Sección titulada “Otorgar capacidades del sistema de archivos a la primera ventana”firstLe otorgamos a la ventana
firstla capacidad de tener acceso de lectura al contenido del directorio$HOME.Usa el campo
windowsen un archivo de capacidad con una o varias etiquetas de ventana.filesystem.json {"identifier": "fs-read-home","description": "Allow access file access to home directory","local": true,"windows": ["first"],"permissions": ["fs:allow-home-read",]}Otorgar capacidades de diálogo a las ventanas
Sección titulada “Otorgar capacidades de diálogo a las ventanas primera y segunda”firstysecondOtorgamos a las ventanas
firstysecondla capacidad de crear un diálogo “Sí/No”Usa el campo
windowsen un archivo de capacidad con una o varias etiquetas de ventana.dialog.json {"identifier": "dialog","description": "Allow to open a dialog","local": true,"windows": ["first", "second"],"permissions": ["dialog:allow-ask"]} -
Hacer que las capacidades dependan de la plataforma
Sección titulada “Hacer que las capacidades dependan de la plataforma”Ahora queremos personalizar las capacidades para que estén activas únicamente en ciertas plataformas. Hacemos que nuestras capacidades del sistema de archivos solo estén activas en
linuxywindows.Usa el campo
platformsen un archivo de capacidad para hacerlo específico de una plataforma.filesystem.json {"identifier": "fs-read-home","description": "Allow access file access to home directory","local": true,"windows": ["first"],"permissions": ["fs:allow-home-read",],"platforms": ["linux", "windows"]}Las plataformas actualmente disponibles son
linux,windows,macos,androidyios.
Conclusión y recursos
Sección titulada “Conclusión y recursos”Hemos aprendido cómo crear múltiples ventanas en una aplicación Tauri y asignarles capacidades específicas. Además, estas capacidades también se pueden orientar a ciertas plataformas.
Un ejemplo de aplicación que utiliza capacidades de ventana se puede encontrar en el ejemplo de api del repositorio de GitHub de Tauri.
Los campos que se pueden usar en un archivo de capacidad se enumeran en la referencia de Capability.
© 2026 Colaboradores de Tauri. CC-BY / MIT