Articulo de referencia

Shiny (marco de trabajo web)

{{Cite web|url=https://cran.r-project.org/web/packages/shiny/index.html|title = shiny: Web Application Framework for R|date = 20 February 2026}} "},"latest release date":{"wt":"...

Shiny es un framework web para desarrollar aplicaciones web (apps), originalmente en R y desde 2022 también disponible en Python . Es gratuito y de código abierto . [ 2 ] Fue anunciado por Joe Cheng, CTO de Posit , anteriormente RStudio, en 2012. [ 3 ] Uno de los usos de Shiny ha sido el prototipado rápido . [ 4 ]

En 2022, se anunció una implementación independiente de Shiny para Python. [ 5 ] No pretende ser un reemplazo, por lo que ambas implementaciones se desarrollarán simultáneamente y es posible que nunca tengan todas las características de la otra. También existe Shinylive, que permite ejecutar Shiny en el cliente (es decir, el código del programa no se ejecuta en el servidor, lo que reduce la carga del servidor a simplemente servir el código). [ 6 ]

Características

Shiny crea un contexto reactivo en el que el usuario especifica, mediante variables de entrada, las circunstancias en las que se vuelven a ejecutar los cálculos o se vuelven a renderizar los gráficos (a menudo visualizaciones); esto ocurre casi instantáneamente. Las variables de entrada se evalúan a través de una interfaz de usuario que permite la creación sencilla de widgets como cuadros de texto , botones de opción y listas desplegables . [ 3 ] [ 7 ]

Un archivo Shiny consta de dos partes principales, que pueden almacenarse en dos archivos separados. Una está diseñada para la interfaz de usuario, cuya apariencia está limitada por las opciones predeterminadas, aunque puede ampliarse mediante diversos paquetes de R. La otra está diseñada para albergar los cálculos del servidor y el código de generación de gráficos, para lo cual se dispone de todas las funcionalidades integradas de R. [ 3 ]

Ejemplos

Una captura de pantalla de la aplicación de ejemplo.

Este es un ejemplo de una aplicación básica en R donde: [ 8 ]

biblioteca ( brillante )ui <- fluidPage ( textInput ( "nombre" , "¿Cuál es tu nombre?" ), textOutput ( "saludo" ) )servidor <- función ( entrada , salida , sesión ) { salida $ saludo <- renderText ({ paste0 ( "Hola " , entrada $ nombre )}) }shinyApp ( ui , servidor )

Y la aplicación equivalente escrita en Python: [ 9 ]

from shiny import App , reactive , render , uiapp_ui = ui . page_fluid ( ui . input_text ( "nombre" , "¿Cuál es tu nombre?" ), ui . output_text ( "saludo" ), )def servidor ( entrada , salida , sesión ):@render . texto def saludo (): return f "Hola { input . nombre () } "app = App ( app_ui , servidor )

Y shiny express para python: [ 10 ]

from shiny.express import input , render , uiui.input_text ( "nombre" , "¿Cuál es tu nombre? " )@render . texto def saludo (): return f "Hola { input . nombre () } "

Implementación/alojamiento de Shiny

El despliegue de Shiny (R) se puede realizar mediante varios métodos populares:

  • Shiny Server (código abierto): Esta opción permite alojar aplicaciones Shiny en las instalaciones del cliente, brindando a los usuarios control sobre la configuración del servidor sin costos de licencia. Es ideal para organizaciones que desean acceso y control directo del servidor.
  • Posit Connect [ 11 ] (anteriormente RStudio Connect): Una solución comercial local que ofrece funciones avanzadas como autenticación de usuarios, informes programados y compatibilidad con múltiples tipos de contenido, incluidas aplicaciones Shiny y R Markdown.
  • shinyapps.io: [ 12 ] Un servicio alojado en la nube administrado por Posit, que proporciona una implementación y escalabilidad sencillas de aplicaciones Shiny sin necesidad de administración de servidores. Es fácil de usar, ideal para equipos pequeños o desarrolladores individuales. Alojar una aplicación Shiny en un servidor shinyapps.io es gratuito hasta ciertos límites, pero los planes de pago son relativamente caros en comparación con el alojamiento en otras plataformas de computación en la nube. [ 3 ]
  • shinyproxy.io: herramienta de código abierto para implementar aplicaciones Shiny utilizando tecnología de contenedores en servidores locales y en la nube. [ 13 ] [ 14 ]

Referencias

  1. "shiny: Marco de trabajo para aplicaciones web en R" . 20 de febrero de 2026.
  2. Doi, Jimmy; Potter, Gail; Wong, Jimmy; Alcaraz, Irvin; Chi, Peter (2016). "Herramientas de enseñanza de aplicaciones web para estadística usando R y Shiny" . Innovaciones tecnológicas en la educación estadística . 9 (1). doi : 10.5070/T591027492 .
  3. 1 2 3 4 Kasprzak, Peter; Mitchell, Lachlan; Kravchuk, Olena; Timmins, Andy (2020). "Seis años de Shiny en la investigación: desarrollo colaborativo de herramientas web en R" (PDF) . The R Journal . 12 (2): 20– 42. doi : 10.32614/RJ-2021-004 . S2CID 231709443. Recuperado el 12 de marzo de 2022 . 
  4. Li, Yu (2020). "Hacia la creación rápida de prototipos de sistemas de apoyo a la toma de decisiones ambientales basados ​​en la nube para científicos ambientales utilizando R Shiny y Docker". Environmental Modelling & Software . 132 104797. doi : 10.1016/j.envsoft.2020.104797 . hdl : 20.500.11850/431312 . S2CID 221823072 . 
  5. Machlis, Sharon (27 de julio de 2022). "RStudio presenta Shiny para Python" . InfoWorld . Consultado el 17 de mayo de 2024 .
  6. "Shiny para Python - Shinylive: Shiny + WebAssembly" . shiny.rstudio.com . Consultado el 30 de enero de 2023 .
  7. Kaufman, Aaron R. (30 de abril de 2020). "Implementación de diseños de encuestas novedosos, flexibles y potentes en R Shiny" . PLOS ONE . 15 (4) e0232424. Bibcode : 2020PLoSO..1532424K . doi : 10.1371/journal.pone.0232424 . PMC 7192460. PMID 32353057 .  
  8. Wickham, Hadley. "Tu primera aplicación Shiny". Dominando Shiny . Consultado el 25 de octubre de 2024 .
  9. "Shiny para Python: Express vs. Core" . Consultado el 28 de octubre de 2024 .
  10. "Shiny para Python - Descripción general" . Consultado el 25 de octubre de 2024 .
  11. "Positivo" . Positivo . Consultado el 1 de noviembre de 2024 .
  12. "shinyapps.io" . www.shinyapps.io . Consultado el 24 de mayo de 2022 .
  13. ^ Fay, Colin; Rochette, Sébastien; Guyader, Vicente; Girard, Cerván. Capítulo 13 Implemente su aplicación | Aplicaciones brillantes de grado de producción de ingeniería .
  14. ^ "Aplicaciones web: ShinyProxy 3.0.0 es altamente compatible y puede parametrizar aplicaciones" . Heise (en alemán). 6 de marzo de 2023 . Consultado el 25 de julio de 2025 .
  • Sitio web oficial
  • Joe Cheng | Conferencia magistral: El pasado y el futuro de Shiny | RStudio (2022) (58:07)
  • shiny en GitHub
  • py-shiny en GitHub