ShinyDevSeries Follow-up Thread - David Granjon on the RinteRface Collection of Production-Ready Shiny UI Packages.

David Granjon on the RinteRface Collection of Production-Ready Shiny UI Packages .
Episode 4 - Friday, August 9, Noon-1PM Eastern
If you've ever wanted to build an elegant and powerful Shiny UI that takes advantage of modern web frameworks, this episode is for you! David Granjon of the RinteRface project joins us to highlight the ways you can quickly create eye-catching dashboards, mobile-friendly views, and much more with the RinteRface suite of Shiny packages.

Materials

Questions

If it doesn't get covered later, can David talk about how the app displays on a tablet or phone, and is it still the 12-column layout under the hood?

What are the advantages of a Siny dashboard over a Microsoft Power BI dashboard?

What's the future look like for bs4dash?

How should we reach out if we want to collaborate?

Q: I wanted to know if RinteRface will also work or are interested to work on R Markdown based dashboard like flexdashboard ?

1 Like

Blockquote
If it doesn't get covered later, can David talk about how the app displays on a tablet or phone, and is it still the 12-column layout under the hood?

shinydashboard, bs4Dash render pretty well on mobile. To fine tune your app, it really depends on specific elements that do not natively scale. Especially on tablet, you might have the worst layout since it is intermediate between desktop and cellphone. In that case, I suggest you to have a look at the following piece of code:

$(document).on('shiny:connected', function(event) {
  var isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
  Shiny.onInputChange('isMobile', isMobile);
});

In this code, I ask my web browser if I am on a mobile platform and the result is stored in a custom shiny input using the Shiny.onInputChange. You could also use the Shiny.setInputValue. Then on the server side, I can conditionally setup my UI according to the value of input$isMobile. You might also want to track the size of your screen and adapt your app accordingly if it natively does not fit well:

$(document).ready(function() {
   var screenInfo = {width: $(window).width(), height: $(window).height()};
   Shiny.onInputChange("screenSize", screenInfo);
});

I am currently working on a template for mobile based on the fantastic framework7. It is called shinyF7 but see it like a miniUI 2.0

Blockquote
How should we reach out if we want to collaborate?

You can open an issue on any RinteRface package of your interest. If you like, you may even propose a pull request. In any case, each contribution like fixing a typo, is truly appreciated.

This is indeed something I might explore in the future...

... the future of bs4Dash? :slight_smile:

Is one able to use DT:: datatable within a card as an output rather than a standard table output?