雙文件式Shiny應用
在版本0.10.2之前,Shiny應用需要兩個獨立文件:server.R和ui.R,這兩個文件分別包含了構成UI和server模塊的代碼。這種形式在後來的版本中依然是可用的。
樣例
要創建一個雙文件式應用,首先需要創建一個新的目錄(以"newdir/"爲例),然後在這個目錄下創建兩個文件,分別叫:ui.R和server.R
~/newdir
|-- ui.R
|-- server.R
使用:runApp("newdir")來運行程序
ui.R
我們在ui.R中定義ui界面信息:
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
sliderInput("obs", "Number of observations:", min = 10, max = 500, value = 100)
),
mainPanel(plotOutput("distPlot"))
)
)
server.R
我們在server.R中定義server功能信息:
server <- function(input, output) {
output$distPlot <- renderPlot({
hist(rnorm(input$obs), col = 'darkgray', border = 'white')
})
}
對於以這種方式創建的應用,server.R文件必須返回server函數,ui.R文件必須返回UI對象(本例中的UI對象由fluidPage()生成)。換言之,如果這兩個文件裏包含其他內容的代碼(如工具函數),你必須保證代碼最後的語句是server函數或者UI對象。
如果你的應用體量較大,雙文件這種形式會使項目管理更輕鬆一些。