This is a companion discussion topic for the original entry at https://blog.rstudio.com/2021/07/27/shiny-apps-from-concept-to-production-rsutdio-community-x-session
We’re excited to announce the upcoming RStudio Community X-Session with Appsilon is open for registration. Sign up now here for the Tuesday, August 10th event.
Are you a Shiny developer looking to level-up?
Perhaps you’ve built and shared a few Shiny applications, but the Shiny Gallery and Shiny Contests have shown you the enormity of what is possible with Shiny.
How do you write apps that require complex functionality while keeping your code tidy and easy to follow and maintain? How do experienced Shiny developers debug, speed up, and scale their deployed apps? How do you deliver beautifully styled Shiny apps all written in your favorite statistical programming language?
Shiny Apps from Concept to Production brings the experts from Appsilon to help you take your skills to the next level.
Speakers include two Shiny Contest winners; Marcin Dubel, grand prize winner of the 2021 Shiny Contest, and Pedro Silva, whose Shiny Decisions app won the grand prize in 2020. Applison has developed some of the world’s most advanced Shiny dashboards. That’s why Fortune 500 companies routinely approach them to create enterprise Shiny apps.
The Format
- Two hours of talks from four speakers with years of experience building enterprise Shiny applications.
- Panel Q&A to close the event.
- Shiny Dev Community Hangout - For the hour before and after scheduled talks, join us for a freeform community hangout. Think of this as the virtual analog to the hallways between and after talks during a live conference. We encourage you to join early and stay late to chat with other Shiny developers like yourself.
The Agenda
Tuesday, August 10th, with talks running from 12pm to 2pm ET. That’s 6-8pm CEST.
Schedule | Item |
---|---|
11 AM - Noon ET (Optional) |
Shiny Developer Community Hangout Join early and connect with fellow Shiny Developers. |
Noon ET | Introductions from Jesse Mostipak |
Talk 1 |
Shepherding your Shiny App from Proof of Concept to ProductionMarcin Dubel will present Appsilon’s preferred workflow for creating production quality Shiny apps. He’ll touch on key topics in the development process that lead to apps which users enjoy and developers find easy to maintain and extend.A great advantage of Shiny applications is that a proof of concept can be created quickly and easily. It is a great way for subject matter experts to present their ideas to stakeholders before moving on to production. However, to take the next step to a production application requires help from experienced software developers. The actions should be focused on two areas: to make the application a great experience for users and to make it maintainable for future work. Focusing on these will assure that the app will be scalable, performant, bug-free, extendable, and enjoyable. Close collaboration between engineers and experts paves a wave to many successful projects in data science and is Appsilon’s confirmed path to production-ready solutions. The very first step should always be to build a comfortable and (importantly) reproducible workflow, thus setting up the development environment and organizing the folder structure [renv + docker]. Once this is done engineers should proceed to limiting the codebase by cleaning the code – i.e., removing redundant comments, extracting the constants and inline styles [ymls + styler]. Now the fun begins: extract the business logic into separate functions, modules and classes [packages/R6 + plumber]. Restrict reactivity to minimum. Check the logic [data.validator + drake]. Add tests [testthat + cypress/shinytest]. Organize your /www and move actions to the browser [shiny + css/js]. Finally, style the app [sass/bslib + shiny.fluent]. And, voila! A world-class Shiny app. Marcin Dubel / Software Engineer at Appsilon Marcin is a software engineer with a strong R and data analysis background. Over 4 years of experience in developing applications in such areas as finance, insurance or genomic studies. |
Talk 2 |
Improve Your Code - Best Practices for Durable CodeAnna Skrzydło discusses code maintenance, and the strategies you can employ to create enduring code. Avoid future delays and growing pains for your Shiny app by using better coding practices. Shiny applications often start as small projects and grow as they get noticed. This is when the problems usually begin, as it quickly turns out that implementing one small change takes two days, and adding a new requirement leads to rebuilding the whole application. Assuming, of course, that further development is done by the same team, any new developer joining the team first needs a one-month onboarding… If that sounds familiar, join the session, to learn more about:
Each of the three topics will be divided into two parts so that everyone can find something useful:
Anna has passion for coding and Data Science. Over 5 years of experience in managing various IT and analytical projects. |
12:50 - 1:00 PM ET | Break |
Talk 3 |
Scaling & Infrastructure - Why is My Shiny App Slow?Pedro Silva will explore scaling and infrastructure issues common when deploying large scale Shiny apps, and how to overcome them. For a Data Scientist, Shiny can be an amazing tool when it comes to creating fast and powerful prototypes and dashboards. But what to do when your application becomes TOO popular and more and more people want to use it? As the number of users grows, keeping up with the demand of a Shiny application can be tricky, and there is only so much you can do to improve performance at the code level. In this presentation I will be giving an overview of our approach to improving Shiny dashboards performance on an infrastructure level, as well as tips to scaling Shiny dashboards to hundreds of concurrent users while keeping your budget under control. Pedro Silva / R/Shiny Developer at AppsilonPedro has worked in many technologies over the years and has an extensive background in web, developing both websites and applications. In his free time he is both an Open Source enthusiast and a practitioner of the JavaScript dark arts. |
Talk 4 |
UI/UX in Shiny Apps and Live Coding Session (
|
Up to 2 PM ET | Panel Q&A |
2 - 3PM ET (Optional) |
Shiny Developer Community Hangout Join the hangout after the session and connect with fellow Shiny Developers. |