Create a Shiny app object — shinyApp
R/shinyapp.R
Description
These functions create Shiny app objects from either an explicit UI/server
pair (shinyApp
), or by passing the path of a directory that contains a
Shiny app (shinyAppDir
).
Arguments
- ui
The UI definition of the app (for example, a call to
fluidPage()
with nested controls).If bookmarking is enabled (see
enableBookmarking
), this must be a single argument function that returns the UI definition.- server
A function with three parameters:
input
,output
, andsession
. The function is called once for each session ensuring that each app is independent.- onStart
A function that will be called before the app is actually run. This is only needed for
shinyAppObj
, since in theshinyAppDir
case, aglobal.R
file can be used for this purpose.- options
Named options that should be passed to the
runApp
call (these can be any of the following: "port", "launch.browser", "host", "quiet", "display.mode" and "test.mode"). You can also specifywidth
andheight
parameters which provide a hint to the embedding environment about the ideal height/width for the app.- uiPattern
A regular expression that will be applied to each
GET
request to determine whether theui
should be used to handle the request. Note that the entire request path must match the regular expression in order for the match to be considered successful.- enableBookmarking
Can be one of
"url"
,"server"
, or"disable"
. The default value,NULL
, will respect the setting from any previous calls toenableBookmarking()
. SeeenableBookmarking()
for more information on bookmarking your app.- appDir
Path to directory that contains a Shiny app (i.e. a server.R file and either ui.R or www/index.html)
- appFile
Path to a .R file containing a Shiny application
Value
An object that represents the app. Printing the object or passing it
to runApp()
will run the app.
Details
Normally when this function is used at the R console, the Shiny app object is
automatically passed to the print()
function, which runs the app. If
this is called in the middle of a function, the value will not be passed to
print()
and the app will not be run. To make the app run, pass the app
object to print()
or runApp()
.
Examples
## Only run this example in interactive R sessions
if (interactive()) {
options(device.ask.default = FALSE)
shinyApp(
ui = fluidPage(
numericInput("n", "n", 1),
plotOutput("plot")
),
server = function(input, output) {
output$plot <- renderPlot( plot(head(cars, input$n)) )
}
)
shinyAppDir(system.file("examples/01_hello", package="shiny"))
# The object can be passed to runApp()
app <- shinyApp(
ui = fluidPage(
numericInput("n", "n", 1),
plotOutput("plot")
),
server = function(input, output) {
output$plot <- renderPlot( plot(head(cars, input$n)) )
}
)
runApp(app)
}