Shinylive Configuração e implantação
Instalação
- Do CRAN:
install.packages("shinylive")- Do GitHub (recomendado):
pak::pak("posit-dev/r-shinylive")Verificar a versão instalada:
shinylive::assets_info()Exportar e visualizar o aplicativo Shinylive
Exportar seu aplicativo Shiny como uma página da Web estática:
shinylive::export("myapp", "site")Visualizar localmente:
httpuv::runStaticServer("site")Criação de um aplicativo Shinylive básico
Exemplo: Olá Shiny
Criar app.R:
library(shiny)
ui <- fluidPage(
sliderInput("bins", "Number of bins:", 1, 50, 30),
plotOutput("distPlot")
)
server <- function(input, output) {
output$distPlot <- renderPlot({
x <- faithful$waiting
bins <- seq(min(x), max(x), length.out = input$bins + 1)
hist(x, breaks = bins, col = "skyblue", border = "white")
})
}
shinyApp(ui, server)Exportação e visualização:
shinylive::export(".", "site")
httpuv::runStaticServer("site")Incorporação de Shinylive em documentos Quarto
Instalar a extensão Quarto
quarto add quarto-ext/shinyliveHabilitar no cabeçalho YAML:
---
filters:
- shinylive
---Incorporar o aplicativo diretamente na Quarto
```{shinylive-r}
#| standalone: true
library(shiny)
ui <- fluidPage(
sliderInput("bins", "Number of bins:", 1, 50, 30),
plotOutput("distPlot")
)
server <- function(input, output) {
output$distPlot <- renderPlot({
hist(faithful$waiting, breaks = input$bins)
})
}
shinyApp(ui, server)
```#| '!! shinylive warning !!': |
#| shinylive does not work in self-contained HTML documents.
#| Please set `embed-resources: false` in your metadata.
#| standalone: true
#| viewerHeight: 650
library(shiny)
ui <- fluidPage(
sliderInput("bins", "Number of bins:", 1, 50, 30),
plotOutput("distPlot")
)
server <- function(input, output) {
output$distPlot <- renderPlot({
hist(faithful$waiting, breaks = input$bins)
})
}
shinyApp(ui, server)
Dicas de solução de problemas e personalização
Problemas comuns
- Pacotes ausentes:
- Adicionar instalação de pacotes ocultos:
if (FALSE) {
library(hidden_package)
}- Inicialização lenta:
- Limitar as dependências do aplicativo para um carregamento mais rápido.
- Gerenciamento de ativos:
Verificar o cache local:
shinylive::assets_info()Limpar ativos antigos:
shinylive::assets_cleanup()Vários aplicativos
Exportar vários aplicativos com eficiência:
shinylive::export("myapp1", "site", subdir = "app1")
shinylive::export("myapp2", "site", subdir = "app2")Servir vários aplicativos:
httpuv::runStaticServer("site")Leitura adicional
Explore mais artigos
Aqui estão mais artigos da mesma categoria para ajudá-lo a se aprofundar no tópico.
Reuso
Citação
@online{kassambara2025,
author = {Kassambara, Alboukadel},
title = {Shinylive Fundamentos do R - Folha de dicas},
date = {2025-03-22},
url = {https://www.datanovia.com/pt/learn/interactive/cheatsheets/shinylive-essentials-r.html},
langid = {pt}
}
