Is this workshop for me?

This workshop will be appropriate for attendees who answer yes to these questions:

Do you have want to build Shiny apps that go beyond Shiny's standard components?

Do you know Shiny and R Markdown but want to learn the basics of JavaScript and web development?

Do you want your Shiny apps to stand out in a crowd and delight your users?


The Future Is Shiny

Shiny gives users a powerful toolkit to create interactive web applications. As a result, Shiny users are also web developers! Inevitably, an intermediate Shiny user will want to create a visualization or user interface that isn't available in the shiny package. Fortunately, we can use the building blocks of the web – JavaScript, HTML, and CSS – to extend Shiny's capabilities and create engaging Shiny apps.

This two-day, hands-on workshop will introduce Shiny users to JavaScript, the ubiquitous scripting language that powers the modern web. We will explore JavaScript's syntax and will discover its functional programming style to be refreshingly familiar to tidyverse R users. We will learn how to use JavaScript to manipulate HTML and how Shiny uses JavaScript to communicate between the browser and Shiny server. Together, we will build an htmlwidget and learn how to incorporate our own or packaged JavaScript code into Shiny apps and [R Markdown] documents, and how to simultaneously manage JavaScript and R dependencies.

This workshop is for the Shiny user who boldly waded into the Customizing Shiny section of RStudio's Shiny Articles and quickly wished they had more experience with JavaScript. This user recognizes the benefits of learning JavaScript, but they are overwhelmed by the sheer number of packages, tutorials, and StackOverflow questions that exist in the world about JavaScript, HTML, and CSS. The goal of this workshop is to meet the Shiny user where they are now to learn the best parts of JavaScript that will provide the most value and facilitate learning and exploration after the workshop.

Learning Objectives

Big Picture Web Development Skills for R and Shiny Users

  1. How do Shiny, HTML, CSS, and JavaScript all work together?

  2. How to use JavaScript to build interactive web apps (without Shiny 😬)

  3. How to use JavaScript to modify and manipulate HTML

  4. The fundamentals of CSS and making web pages that look great

  5. Using JavaScript libraries in R and Shiny

  6. Use the htmlwidgets package to create custom data visualizations

  7. How Shiny server communicates with the browser

  8. Make responsive Shiny apps with Bootstrap