Organized online at the end of last April, the Appsilon Shiny conference unveiled the update of the R Shiny package and the latest Rhino R framework.
Last week, Barret Schloerke of RStudio provided developers with more details on an R package that improves testing of R Shiny web applications. Available on the CRAN network (The Comprehensive R Archive Network) since Wednesday, version 0.1.0 of shinytest2 allows you to automatically test the interactivity of Shiny web applications. These tests are carried out via chromote, a Chrome browser without a graphical interface.
At a Shiny conference sponsored by Appsilon consultants, Barret Schloerke demonstrated the package’s record_test() function to attendees. As its name suggests, this function records the actions performed in the test browser and turns them into code. This code can then automatically rerun the user’s initial manual actions and verify the results. Behind the scenes, shinytest2 takes snapshots of the application state and uses the testthat unit test packet to store different values over time. When a test is rerun, the new values can be compared to the previous ones. For more information on shinytest2, see the package website.
An alternative to the golem framework
Also this week, conference organizer Appsilon unveiled its Rhino framework for building Shiny apps. According to him, Rhino makes it possible to create applications “like a software engineer”. According to the package’s website, Rhino “allows you to apply software engineering best practices, modularize code, test it well, enjoy a beautiful user interface, and think about user adoption. from the outset. Rhino is an “opinionated” framework, meaning that it is able to precisely guide the developer, “with an emphasis on software engineering practices and development tools”. Rhino includes built-in support for unit testing, end-to-end testing with Cypress, linting, CI GitHub Action continuous integration, dependency management, and more.
Rhino offers a new alternative to the current popular golem framework created by consulting firm ThinkR R. One of the main differences between the two is that golem requires a Shiny application to be created as an R package , which Rhino does not. Appsilon representatives said that for some work of their customers, they needed to create an application that is not structured as a package, in order to have more flexibility with the file structure. During the conference, a lot of chat discussion focused on the benefits of requiring Shiny applications to be R packages, with some preferring the portability and known structures of a package and others preferring the concept of more big choice. Videos of most of the conference presentations will soon be available on Appsilon’s YouTube channel
Announcements for July?
During a panel discussion closing the conference, Joe Cheng, technical director of RStudio, was asked about the most interesting latest developments of Shiny. “We have some great things in the works that we can’t talk about yet,” Cheng replied. He spoke of a “lot of secret work in progress, not available to the public at this time”. But, when asked by Shiny Developer Series host Eric Nantz if some of that work might be unveiled at the rstudio:conf 2022 conference to be held online July 25-28, Cheng replied that “it was likely”. InfoWorld’s Do More With R page has lots of tips for getting the most out of R, and links to over 50 articles and tutorials.