Ejecutar una aplicación de Studio por sí sola
Objetivo
Abrir la aplicación que ha dibujado como una aplicación por derecho propio: desde la lista del Shell, sin nada alrededor salvo la barra superior de la plataforma.
Por qué existe esto
Una aplicación de Studio no es una página dentro de otra cosa. Contiene sus propias pantallas y se mueve entre ellas, así que no necesita un carril de navegación, un mapa del sitio ni una aplicación basada en modelo para ser algo completo. Eso es lo que permite usarla más adelante como fachada de un portal, y por eso aparece en la lista de aplicaciones junto a sus otras aplicaciones y no solo dentro de una de ellas.
Las dos formas de llegar a ella son reales, y usted elige para cada aplicación:
| Se llega | Aspecto | Úsela cuando |
|---|---|---|
| Por sí sola, desde la lista de aplicaciones | su dibujo, a todo el ancho, sin carril | la aplicación son las pantallas dibujadas |
| Dentro de la navegación de una aplicación basada en modelo | un carril de tablas junto a su dibujo | el dibujo es una página de inicio sobre registros; consulte Abrir una aplicación de Studio desde una aplicación basada en modelo |
Requisitos previos
- Una aplicación de Studio que ha dibujado y guardado; consulte Dibujar una aplicación de Studio.
- El entorno en el que se construyó, o uno en el que se ha importado su solución.
Pasos
- Abra el Shell de la plataforma y compruebe que el selector de entorno está en el entorno en el que está su aplicación.
- En la lista de aplicaciones, busque su aplicación. Su mosaico dice Aplicación de Studio bajo el icono.
- Púlsela. La aplicación se abre en su pantalla de inicio: la indicada en Se abre en en el diseñador.
- Muévase por ella con los botones que dibujó. Cada
navigate("…")le lleva a esa pantalla.
La barra de direcciones forma parte de ella
Cada pantalla tiene su propia dirección: /apps/<your app>/<screen name>. No es decoración:
- el botón Atrás del navegador vuelve a la pantalla anterior, en lugar de salir de la aplicación;
- al recargar se vuelve a la pantalla en la que estaba;
- un enlace que copie se abre ahí para quien se lo envíe.
El nombre de pantalla de la dirección es el nombre del marco, así que una pantalla llamada Order
details aparece como Order%20details: la forma en que el navegador escribe un espacio.
Lo que un enlace no puede llevar es un valor entregado por navigate("Details", { id }). Esos
viajan en el momento, entre dos pantallas; llegar con Atrás, recargando o con un enlace pegado abre la
pantalla sin nada en screen.params. Si a una pantalla hay que poder llegar por lo que muestra, eso
es una página de portal con una dirección diseñada, no una entrega.
Quién puede abrirla
Abrir una aplicación es un permiso, que se comprueba al obtener el documento: la misma concesión tanto si la aplicación se abre por sí sola como desde dentro de una aplicación basada en modelo. A un usuario sin concesión se le dice que no puede abrirla, en lugar de mostrarle una pantalla en blanco.
Tenga en cuenta que una concesión es por aplicación, no por pantalla. Dos pantallas que deben ver personas distintas son dos aplicaciones, o una aplicación que oculta lo que una persona no puede ver; y ocultar en un dibujo es una cortesía, no seguridad: lo que protege de verdad un registro es el permiso sobre el registro.
Una aplicación solo aparece en la lista de aplicaciones de quien puede abrirla. Para dársela a otras personas, selecciónela en Aplicaciones de Studio y elija Compartir. Es el mismo panel que para una aplicación basada en modelo: marque los roles para los que es la aplicación, y Personas que la reciben nombra a quién llega. Consulte Dar una aplicación a quienes la van a usar.
Llenar la ventana: ocultar la barra de la plataforma
Una aplicación puede pedir al Shell que no muestre nada de su propio marco: ni barra superior, ni selector de entorno, ni controles de idioma o tema, ni menú de usuario. Marque Ocultar la barra de la plataforma en la aplicación (Aplicaciones de Studio → su aplicación → Editar). Está desactivado salvo que usted lo active.
Dibuje primero esas cosas en la aplicación. Lo que quita la marca es la única salida del producto, así que una aplicación dibujada que sustituye la barra tiene que llevar lo que llevaba la barra:
| Lo que tiene la barra de la plataforma | Lo que puede dibujar una pantalla |
|---|---|
| Quién ha iniciado sesión, y su foto | user.name, user.email, y una imagen cuyo enlace Imagen es user.photo |
| Claro y oscuro | setTheme("dark") / setTheme("light"), y ui.theme para leer cuál es ahora |
| Cerrar sesión | signOut() |
| El selector de entorno | nada; que es la razón para dejar la barra activada en cualquier cosa que use un creador |
El ejemplo Support desk hace todo esto; ábralo y mire su barra superior.
Úselo para una aplicación que no forma parte evidente de un conjunto —un quiosco, una pantalla en una pared, una herramienta de un solo propósito— o cuando su propia barra superior queda justo debajo de la de la plataforma y las dos se leen como la misma cosa dos veces.
Moverla a otro entorno
Una aplicación viaja en su solución, como cualquier otro componente. Expórtela desde el entorno en el que la construyó e impórtela en el siguiente; la aplicación aparece en la lista de aplicaciones de ese entorno sin ningún paso más. Los enlaces siguen funcionando tras el traslado, porque una aplicación se direcciona por su nombre lógico y no por un identificador que cambia.
Solución de problemas
- La aplicación no está en la lista. — está en el entorno equivocado, o su solución no se ha importado aquí. Compruebe primero el selector de entorno.
- Se abre en la pantalla equivocada. — Se abre en en el diseñador indica la pantalla de inicio. Abra la aplicación en el diseñador, compruébelo y Guarde.
- Un botón dice que esta aplicación no tiene ninguna pantalla con ese nombre. — el marco se renombró después de escribir el controlador. El mensaje indica lo que se pidió; devuelva al marco su nombre, o corrija el controlador.
- La aplicación dice que no se pudo abrir. — su rol no tiene ninguna concesión sobre ella. Abrir una aplicación es un permiso como cualquier otro; pregunte a quien administre sus roles de seguridad.
- Atrás sale de la aplicación en lugar de ir a la última pantalla. — llegó a esa pantalla directamente (un enlace pegado, una recarga), así que no hay nada antes en el historial de esta aplicación.
- No hay forma de salir de la aplicación. — Ocultar la barra de la plataforma está activado y la
aplicación no dibuja ningún Cerrar sesión propio. Desactívelo, o agregue un botón cuyo controlador
llame a
signOut(). - La foto de mi barra superior está en blanco. — la persona no tiene foto en su perfil, que es el
caso habitual. Enlace Se muestra de la imagen a
user.photo != ""y dibuje un círculo de color detrás, como hace el ejemplo.