flowchart TD; A(UI) <--> B(server); C[(Datos)] <--> B;
En las secciones previas hemos ido desarrollando cada uno de los componentes que integrarán nuestro tablero. Ahora lo que vamos a hacer es unir esos componentes en una visualización interactiva utilizando Shiny.
La estructura básica de una aplicación de Shiny consiste de tres componentes:
shinyApp
Vamos a empaquetar estos tres componentes en un único script: app.R
.
Podemos pensar muy en general en el siguiente esquema para entender cómo funciona una aplicación de Shiny:
flowchart TD; A(UI) <--> B(server); C[(Datos)] <--> B;
La interfaz de usuario es lo que vemos desplegado en la página web y determina los componentes de la visualización, los elementos con los que puede interactuar el usuario y la forma en la que estos se despliegan. La función server
recoge el input del usuario, va a la base de datos, hace los cómputos necesarios y regresa el resultado en forma de tablas, mapas o gráficas.
La conexión entre el input del usuario y las funciones de servidor se lleva a cabo a través de dos piezas fundamentales: etiquetas de HTML y funciones reactivas de Shiny. Las etiquetas controlan los lugares de la aplicación en donde se van a renderizar los componentes resultado de la interacción, mientras que las funciones reactivas consultan los datos y hacen las cuentas correspondientes.
Para entender cómno funciona vmos a ver un ejemplo muy sencillo tomado de la documentación de quarto.
La aplicación tiene un único elemento en la interfaz de usuario: un conjunto de radio buttons y lo único que hace en el servidor es regresar el valor verbatim
En la siguiente sección vamos a ver un ejemplo algo más elaborado, antes de pasar a nuestra aplicación completa.