David Granjon
Senior Expert Data Scientist
{Shiny}
is about 10 years old π²π²π².
{Shiny}
is about 10 years old π²π²π².
Today, many tools can make your apps shining...
Yet ... too many unexplained syndromes:
Yet ... too many unexplained syndromes:
Your app may be as beautiful and as cool as you want, it is useless if it does not start/run.
Why is my app not starting/running β
Why is my app not starting/running β
Possible answers:
Why is my app not starting/running β
Possible answers:
This must stop π!
Check that a product is conform to initial requirements (Software engineering).
Check that a product is conform to initial requirements (Software engineering).
For Shiny apps:
Check that a product is conform to initial requirements (Software engineering).
For Shiny apps:
In practice, a few apps meet all these requirements π. How do we transition from prototypes to production-ready tools β
{shinytest2}
).Are there bottlenecks?
{shinyloadtest}
.{profvis}
.
Not easy π’
Can't we make things easierβ
All is integrated into a nice HTML report.
{golem}
.{renv}
.remotes::install_github("Novartis/shinyValidator")
use_validator("github")
(for Github Actions).devtools::document()
.renv::snapshot()
to capture dependencies.audit_app()
main package function:
audit_app( timeout = 5, headless_actions = NULL, workers = 5, scope = c("DMC", "POC"), output_validation = TRUE, coverage = TRUE, load_testing = TRUE, profile_code = TRUE, check_reactivity = TRUE, flow = TRUE)
Because a demo is better than 30 slides.
{Shiny}
is about 10 years old π²π²π².
Keyboard shortcuts
β, β, Pg Up, k | Go to previous slide |
β, β, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
o | Tile View: Overview of Slides |
Alt + f | Fit Slides to Screen |
Esc | Back to slideshow |
David Granjon
Senior Expert Data Scientist
{Shiny}
is about 10 years old π²π²π².
{Shiny}
is about 10 years old π²π²π².
Today, many tools can make your apps shining...
Yet ... too many unexplained syndromes:
Yet ... too many unexplained syndromes:
Your app may be as beautiful and as cool as you want, it is useless if it does not start/run.
Why is my app not starting/running β
Why is my app not starting/running β
Possible answers:
Why is my app not starting/running β
Possible answers:
This must stop π!
Check that a product is conform to initial requirements (Software engineering).
Check that a product is conform to initial requirements (Software engineering).
For Shiny apps:
Check that a product is conform to initial requirements (Software engineering).
For Shiny apps:
In practice, a few apps meet all these requirements π. How do we transition from prototypes to production-ready tools β
{shinytest2}
).Are there bottlenecks?
{shinyloadtest}
.{profvis}
.
Not easy π’
Can't we make things easierβ
All is integrated into a nice HTML report.
{golem}
.{renv}
.remotes::install_github("Novartis/shinyValidator")
use_validator("github")
(for Github Actions).devtools::document()
.renv::snapshot()
to capture dependencies.audit_app()
main package function:
audit_app( timeout = 5, headless_actions = NULL, workers = 5, scope = c("DMC", "POC"), output_validation = TRUE, coverage = TRUE, load_testing = TRUE, profile_code = TRUE, check_reactivity = TRUE, flow = TRUE)
Because a demo is better than 30 slides.