Saltar al contenido

Los atributos de ventana que importan

Del catálogo largo de opciones de ventana, los diez que cambian de verdad la experiencia, los que solo existen en una plataforma, y los tres que arrastran consecuencias muy por encima de su tamaño.

Los diez que importan

Los que solo existen en una plataforma

Tres atributos frecuentes que no hacen nada fuera de su sistema, y conviene saberlo antes de apoyar un diseño en ellos:

  • titleBarStyle y hiddenTitle son de macOS. Permiten la barra de título superpuesta sobre tu contenido, con los botones de semáforo flotando encima. En Windows y Linux se ignoran, así que una interfaz diseñada alrededor de ese efecto necesita un plan B para las otras dos.
  • transparent funciona en las tres, pero en macOS no tiene efecto real sin activar además la feature de API privada del nivel 6.2. Ese es uno de los enredos más reportados del framework: la clave está puesta, la ventana sigue opaca, y la causa está en el Cargo.toml.
  • tabbingIdentifier es de macOS: permite que varias ventanas se agrupen en pestañas nativas, como hace Finder. No existe en las otras dos.

La regla que se deduce: cualquier atributo que solo exista en una plataforma es un adorno, no una estructura. Si tu interfaz deja de funcionar sin él, la has diseñado para un tercio de tus usuarios.

Los tres con consecuencias diferidas

Aquí está lo que este nivel quiere que recuerdes cuando llegues a la fase XII.

transparent y los efectos de material. Dan la ventana translúcida que se siente nativa en macOS, y arrastran la feature de API privada, que es incompatible con la Mac App Store. La apariencia y el canal de distribución se deciden a la vez, aunque parezcan cosas de años distintos. Nivel 6.2 y nivel 76.

decorations: false. Quitar el marco del sistema significa reimplementar la barra de título, los botones de cerrar y maximizar, el arrastre de la ventana, el redimensionado desde los bordes y el doble clic que maximiza. Cada uno se comporta distinto en cada sistema. Es la decisión que más horas consume de esta lista, y se toma en una línea.

devtools en producción. Dejarlas activas facilita muchísimo el soporte —puedes pedirle a un usuario que abra la consola y te lea el error— y también deja que cualquiera inspeccione tu interfaz, lea tu JavaScript y pruebe llamadas al puente a mano. No es una vulnerabilidad por sí sola, porque el modelo de permisos sigue en pie, pero es superficie. La decisión razonable es activarlas solo en las compilaciones de prueba.