We can write our Shiny code in two separate files, "ui.R"
and "server.R"
, alternatively we can write both the modules in a single file "app.R"
and call the function shinyApp()
Is there any benefit regarding performance with either of the two approaches or we should choose one based on whether we want concise code or differentiated one?
I think that
app.R
is better, but it's better to include your source files as the UI and server respectively, withsource("file.R", local=TRUE)
. This way, you can separate the app into more than just 2 files while having an "overall" view of the app through the main file, like amain.cpp
file in C++.They achieve the same thing. I usually like to write my real apps, that have lots of code and are complex, as two separate files to separate the logic and make it more maintainable. But when dealing with tiny apps for demo purposes or when posting an app to SO or anywhere else, i find it's morereproducible and easier to have one statement (the app.R) approach.
Personal preference, really.