Advanced Concepts in Shiny
Course Level: Advanced (6 hours)
Take your interactive {shiny} skills to the next level by creating more robust, responsive and maintainable applications. In this course, we’ll visit more advanced topics that can be used to improve the experience for both those producing the apps and those using them. Subjects will cover: additional ways to react to and validate user inputs; restructuring your app with modules; and an introduction to testing your {shiny} apps.
Book: Advanced Concepts in Shiny
- Start Date:
- Price:
- Venue Details:
- Time:
- Duration:
No Events Currently Scheduled
Sorry, there are no upcoming events for this course, but please get in touch if you would like to be kept informed when events are scheduled in the future.
Course Details
Outline
- Validating user inputs.
- Using event observers for UI updates.
- Event binders and caching.
- Maintainable applications with Shiny modules.
- Getting started with Shiny testing.
Learning outcomes
Session 1:
By the end of session 1, participants will…
- create robust applications by defining validation rules for user inputs.
- understand when to use
observe()
andreactive()
. - use action buttons to control when reactive expressions run.
- see the benefits and drawbacks from results caching.
Session 2:
By the end of session 2, participants will…
- wrap up commonly used code into reusable modules.
- structure a complex application into a maintainable fashion.
- implement a testing framework to ensure the long-term stability of your applications using {shinytest}.
- be exposed to the principle of file upload handlers and dynamic UI generation through
renderUI()
.
This course does not include:
- Creating a Shiny user-interface by writing native HTML code.
- Styling a Shiny dashboard by writing CSS/Sass code.
- Performing client-side updates with {shinyjs} or by writing native Javascript.
- Deploying an application as part of a Docker container.
- How to install, configure or deploy apps to Shiny Server Open Source or Posit Connect.
- Creating your own HTML widgets using {htmlwidgets}.
- Interactive data visualisations using {plotly} or D3.
Prior knowledge
Participants must have a basic knowledge of R and shiny, which can be obtained by attending our Introduction to R and Introduction to Shiny courses.
Materials Preview
Attendee Feedback
- “The instructor was certainly standout, exceptionally knowledgable and eloquent in their delivery.”
- “The tutor was able to answer and personalise the content relating to our questions/needs”