Episode 23: Tales of Shiny in production with Pedro Silva

MAY 27, 202277 MIN

Description

One of the common themes seen throughout the Shiny Developer Series is that effective Shiny development is much more than just getting an application to work! Other important considerations include applying Shiny to high-profile projects, ensuring a production-grade code base, and even building robust tooling to assist with development. I have the pleasure of discussing these with Appsilon software engineer and Shiny frontend developer Pedro da Silva! You will hear Pedro's practical advice on the many developer-friendly packages and tools he uses for production Shiny development, a detailed walkthrough of his (Shiny contest) award-winning Shiny Decisions application, and his recommendations for taking your Shiny development skills to the next level. Resources mentioned in the episode Pedro's website with links to posts and webinnars: https://www.pedrocsilva.com Appsilon: https://appsilon.com Shiny Decisions repo: https://github.com/pedrocoutinhosilva/shiny.decisions Deployed Shiny Decisions app: https://sparktuga.shinyapps.io/ShinyDecisions R6 chapter from Advanced R: adv-r.hadley.nz/r6.html {glue} for interpreted string literals: https://glue.tidyverse.org/ {tidymodules}: https://opensource.nibr.com/tidymodules/index.html {sass} for R and Shiny: https://rstudio.github.io/sass/index.html {bslib}: https://rstudio.github.io/bslib/ John Coene's "Javascript for R" book: https://book.javascript-for-r.com/ David Granjon's "Outstanding Shiny UI" book: https://unleash-shiny.rinterface.com/ {renv}: https://rstudio.github.io/renv/articles/renv.html {testthat}: https://testthat.r-lib.org/ {shinyloadtest}: https://rstudio.github.io/shinyloadtest/ Tidyverse style guide: https://style.tidyverse.org/ An lintr, which performs automated checks to confirm that you https://appsilon.com/conform to the style guide, https://github.com/jimhester/lintr Mastering Shiny: https://mastering-shiny.org/ Pedro's recommended Chrome extensions for development: Resolution Test: Test web pages in different screen resolutions ColorPick Eyedropper: A zoomed eyedropper & color chooser tool Screenshotting: Web page screen capture CSS Peeper: Extract CSS and build beautiful styleguides Episode Timestamps 00:00:05 Episode Introduction 00:02:49 Appsilon, Shiny consulting 00:07:49 The wonderful 'black magic' of Shiny 00:09:55 Custom Shiny apps in the enterprise. Number one theme: migrating from excel 00:17:45 Demo of Shiny app game Shiny Decisions 00:22:55 A code walkthrough of Shiny Decisions <//br> 00:32:55 On styling Shiny Decisions 00:50:45 The value of learning a little javascript to improve your Shiny apps 00:51:55 Book recommendations for integrating Javascript into your Shiny app and improving UI 00:52:55 Pedro on jQuery for Shiny 00:56:05 Advice for building Shiny apps in production 01:10:05 Advice for people seeking a career in data science with R and Shiny