Announcing Exciting Updates to Shiny-React Ecosystem

Reading time:
time
min

We're thrilled to announce a significant update to our ecosystem of R packages designed to bring the power of React libraries to Shiny. These updates span across our core package, shiny.react, and its companions, shiny.fluent and shiny.blueprint

The update ensures that their users have access to the latest version of React and the newest versions of the corresponding React libraries. Alongside the React upgrade comes the upgrade of all their JavaScript dependencies, bringing bug fixes and patches to security vulnerabilities. Read on for all the exciting details!

Learn how to create stunning, feature-rich dashboards using the shiny.fluent package. Follow our tutorial and unlock the full potential of Shiny.

What is shiny.react?

New shiny.react hex

shiny.react is a package that allows you to get access to any React library and use it in your Shiny app.

To expose a component from a React library just add the HTML dependency and use shiny.react::reactElement. Use the component as-is or wrap it in the InputAdapter or ButtonAdapter to easily bind and send its values to the Shiny server. You can use components as standalone functions or wrap them in a R package to easily reuse them across many apps.

Check out the full tutorial on how to port a React library with shiny.react.

shiny.react 0.4.0: Embracing React 18.3.1

The latest release of shiny.react marks a major milestone with the upgrade to React 18.3.1. It allows libraries built with shiny.react to leverage the latest, optimized React API.

Key Changes:

  • Deprecated API replacement: React 18 deprecates the ReactDOM.render and ReactDOM.unmountComponentAtNode APIs. In their place, ReactDOM.createRoot is now used, following the React 19 migration guide, making the future upgrade to React 19 simpler. 
  • Rendering mechanism update: The rendering mechanism for React components has been revamped. With ReactDOM.createRoot, it's impossible to call it on a container more than once, unlike ReactDOM.render. To address this, we now use a data-react-id attribute to locate and render React roots, instead of iterating over all nodes with the .react-data class. This ensures more efficient rendering.

shiny.blueprint: Upgrading to @blueprintjs/core 5.10.2

New shiny.blueprint hex

We're also excited to announce that shiny.blueprint, which brings Blueprint UI components to Shiny, has been upgraded to use version 5.10.2. This update ensures that you can leverage the latest version of Blueprint components in your Shiny applications. This version no longer supports IE11. It uses a newer version of popper.js library which means better positioning of elements and a simpler DOM.

shiny.fluent: Moving to @fluentui/react 8.118.2

New shiny.fluent hex

Lastly, shiny.fluent, which implements Microsoft Fluent UI components, has been upgraded to version 8.118.2. This version includes several changes in the styling and accessibility of its components. 

shiny.react + rhino

Rhino supports you in creating your own React components seamlessly from within the project. 

New rhino hex

The new version of shiny.react allows you to leverage all latest React API additions, like the new Transitions API, to build React stunning components with ease.

Check out the full tutorial on how to create React components in rhino.

Summing Up Updates to Appsilon’s Shiny-React Ecosystem

We encourage you to explore the new features and enhancements in shiny.react 0.4.0, shiny.blueprint, and shiny.fluent. As always, your feedback is invaluable to us, and we look forward to hearing about the innovative ways you use these tools in your projects.

Are you interested in staying up to date on the latest in Shiny innovations? Join our community of 4.2k explorers and receive the Shiny Weekly Newsletter straight to your inbox.

Have questions or insights?

Engage with experts, share ideas and take your data journey to the next level!

Sign up for ShinyWeekly

Join 4,2k explorers and get the Shiny Weekly Newsletter into your mailbox
for the latest in R/Shiny and Data Science.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Explore Possibilities

Share Your Data Goals with Us

From advanced analytics to platform development and pharma consulting, we craft solutions tailored to your needs.

Talk to our Experts
open source
shiny.react