Shinylive Fundamentos do R - Folha de dicas

Guia rápido para criação e implantação de aplicativos Shinylive em R

Comandos essenciais, exemplos e dicas de solução de problemas para criar e implantar aplicativos R inteiramente no navegador.

Ferramentas
Autor
Afiliação
Data de Publicação

22 de março de 2025

Palavras-chave

Shinylive, Shiny R, R interativo, Conjunto da Web, Shiny sem servidor

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")

Tutorial detalhado



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")

Tutorial detalhado

Incorporação de Shinylive em documentos Quarto

Instalar a extensão Quarto

quarto add quarto-ext/shinylive

Habilitar 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)
```

Guia completo

#| '!! 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")

Dicas avançadas

Leitura adicional


Explore mais artigos

Nota

Aqui estão mais artigos da mesma categoria para ajudá-lo a se aprofundar no tópico.

placeholder

placeholder
Nenhum item correspondente
De volta ao topo

Reuso

Citação

BibTeX
@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}
}
Por favor, cite este trabalho como:
Kassambara, Alboukadel. 2025. “Shinylive Fundamentos do R - Folha de dicas.” March 22, 2025. https://www.datanovia.com/pt/learn/interactive/cheatsheets/shinylive-essentials-r.html.