Summary
In this chapter, you saw most of the functionality within Shiny. It's a relatively small but powerful toolbox with which you can build a vast array of useful and intuitive applications with comparatively little effort. In this respect, ggplot2 is rather a good companion for Shiny because it too offers you a fairly limited selection of functions with which knowledgeable users can very quickly build many different graphical outputs.
In this chapter, we looked at fine-tuning the UI using conditionalPanel()
and observe()
and changing your UI reactively. We also looked at managing slow computations using Shiny's reactivity functions, customizing a user's experience using client data, custom graphics, animation and reports, and uploading and downloading data. Finally, we looked at the sometimes difficult world of debugging Shiny applications.
In the next two chapters, we are going to build some more applications to make you learn more about the power of Shiny. The first application is a...