Informações gerais

O que é

Informações gerais

O que não é

Desenvolvimento web

Quando surfamos na web, nos comunicamos com servidores do mundo inteiro, geralmente através do protocolo HTTP.

Server side

User side

Onde está o Shiny nisso tudo?

Estrutura do código

E pra que serve o shiny server?

Como funciona

Começando com um exemplo

shiny::runGitHub('jtrecenti/cea20160329', 
                 subdir='inst/shiny-apps/helloWorld', 
                 display.mode='showcase')

Mesmo exemplo com app.R

shiny::runGitHub('jtrecenti/cea20160329', 
                 subdir='inst/shiny-apps/helloWorld2', 
                 display.mode='showcase')

Interfaces no user side

Widgets

Acesse neste link ou rode

shiny::runGitHub('garrettgman/shinyWidgets')

Outputs

Modelo de Reatividade

Objetos reativos

Construindo grafo de invalidação

Invalidacao1

Construindo grafo de invalidação

Invalidacao2

Exemplo

Grafo de invalidação do aplicativo construído nos exemplos anteriores.

Mais informações

Exemplo - mapa

shiny::runGitHub('jtrecenti/cea20160329', 
                 subdir='inst/shiny-apps/mapa', 
                 display.mode='showcase')

Fazendo mais com o shiny

Construindo inputs e outputs personalizados

Shiny gadgets

ggbrush <- function(data, xvar, yvar) {
  ui <- miniPage(
    gadgetTitleBar("Drag to select points"),
    miniContentPanel(
      plotOutput("plot", height = "100%", brush = "brush")
    )
  )
  server <- function(input, output, session) {
    output$plot <- renderPlot({
      ggplot(data, aes_string(xvar, yvar)) + geom_point()
    })
    observeEvent(input$done, {
      stopApp(brushedPoints(data, input$brush))
    })
  }
  runGadget(ui, server)
}

Shiny gadgets

library(cea20160329)
library(dplyr)
library(miniUI)
library(shiny)
library(ggplot2)
ggbrush <- function(data, xvar, yvar) {
  ui <- miniPage(
    gadgetTitleBar("Drag to select points"),
    miniContentPanel(
      column(6, plotOutput("plot", height = "300px", brush = "brush")),
      column(6, tableOutput('tab'))
    )
  )
  server <- function(input, output, session) {
    output$plot <- renderPlot({
      ggplot(data, aes_string(xvar, yvar)) + 
        geom_point(alpha = .1)
    })

    output$tab <- renderTable({
      input$done
      isolate({
        brushedPoints(data, input$brush)
      })
    })
  }
  shinyApp(ui, server)
}
ggbrush(filter(pnud, ano == 2010), 'idhm_e', 'idhm_r')

Shiny Server Pro

shinyapps.io

Ainda mais!



jtrecenti/cea20160329 documentation built on May 20, 2019, 3:16 a.m.