Shiny apps vs Desktop GUI?

485 views
Skip to first unread message

Jessica Elaine Rutkoski

unread,
Jan 16, 2017, 4:37:11 AM1/16/17
to Shiny - Web Framework for R
Dear all,

I was wondering if anyone has an opinion about shiny web apps vs a desktop GUI. Some members of my team have developed a Java based desktop GUI that implements analyses in R, and we are interested in the possibility of developing the UI purely using  Shiny. Any thoughts?

Regards,
Jessica

Dean Attali

unread,
Jan 17, 2017, 1:04:24 AM1/17/17
to Shiny - Web Framework for R
There are many differences. I'd say Shiny is particularly great for fast prototyping and very easy to use for someone who's not a programmer. Java is not very friendly for people who are not programmers, and it takes longer to develop a GUI app. The one thing shiny is not great at is multi-page apps, but if you only require a single page then shiny would be fine. Another consideration is whether your current analysis code is in R or in java.

Vincent

unread,
Jan 22, 2017, 1:20:30 AM1/22/17
to Shiny - Web Framework for R
You can build multi-page apps with Shiny. "Radiant" is a GUI I built using shiny.

RN

unread,
Jan 22, 2017, 1:41:54 PM1/22/17
to Shiny - Web Framework for R
@Dean

Care to elaborate? What is it that makes it hard to write multi page apps in shiny? What are the typical bottlenecks / problems you've faced? 

Erik Westlund

unread,
Jan 22, 2017, 2:53:34 PM1/22/17
to RN, Shiny - Web Framework for R
I personally think Shiny works great for multipage apps. The multipage isn't the issue. There are other limitations to Shiny -- namely, dealing with the CUD of CRUD.  It's great with the R - read.  Apps that require creation, updating, or deleting of data typically would benefit from a different approach.

That's my experience, anyway.

On Sun, Jan 22, 2017 at 12:41 PM, RN <rpn...@gmail.com> wrote:
@Dean

Care to elaborate? What is it that makes it hard to write multi page apps in shiny? What are the typical bottlenecks / problems you've faced? 

--
You received this message because you are subscribed to the Google Groups "Shiny - Web Framework for R" group.
To unsubscribe from this group and stop receiving emails from it, send an email to shiny-discuss+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/shiny-discuss/51b633d5-ee11-4afd-9c4c-ac02ff43f41d%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Vincent

unread,
Jan 22, 2017, 3:05:35 PM1/22/17
to Shiny - Web Framework for R, rpn...@gmail.com
Care to elaborate what you mean here Erik? Thanks


On Sunday, January 22, 2017 at 11:53:34 AM UTC-8, Erik Westlund wrote:
I personally think Shiny works great for multipage apps. The multipage isn't the issue. There are other limitations to Shiny -- namely, dealing with the CUD of CRUD.  It's great with the R - read.  Apps that require creation, updating, or deleting of data typically would benefit from a different approach.

That's my experience, anyway.
On Sun, Jan 22, 2017 at 12:41 PM, RN <rpn...@gmail.com> wrote:
@Dean

Care to elaborate? What is it that makes it hard to write multi page apps in shiny? What are the typical bottlenecks / problems you've faced? 

--
You received this message because you are subscribed to the Google Groups "Shiny - Web Framework for R" group.
To unsubscribe from this group and stop receiving emails from it, send an email to shiny-discus...@googlegroups.com.

Dean Attali

unread,
Jan 22, 2017, 4:32:30 PM1/22/17
to Shiny - Web Framework for R, rpn...@gmail.com
Shiny *can* be used for multipage apps. It also *can* be used for CRUD apps. You can technically do anything with shiny - but there are certain things that shiny was not designed for and are therefore harder to do. When I say mutipage apps I don't mean multitab, I mean actually multipage, in the sense that when you click on a link it takes you to c completely new page that makes a new HTTP request and loads new resources and acts as an independent page.


On Sunday, 22 January 2017 14:53:34 UTC-5, Erik Westlund wrote:
I personally think Shiny works great for multipage apps. The multipage isn't the issue. There are other limitations to Shiny -- namely, dealing with the CUD of CRUD.  It's great with the R - read.  Apps that require creation, updating, or deleting of data typically would benefit from a different approach.

That's my experience, anyway.
On Sun, Jan 22, 2017 at 12:41 PM, RN <rpn...@gmail.com> wrote:
@Dean

Care to elaborate? What is it that makes it hard to write multi page apps in shiny? What are the typical bottlenecks / problems you've faced? 

--
You received this message because you are subscribed to the Google Groups "Shiny - Web Framework for R" group.
To unsubscribe from this group and stop receiving emails from it, send an email to shiny-discus...@googlegroups.com.

RN

unread,
Jan 22, 2017, 11:53:12 PM1/22/17
to Shiny - Web Framework for R, rpn...@gmail.com
@Dean

Good points. Any specific suggestions about what features could be added to shiny that may make these things easier (CRUD / multi-page workflows etc.)? Or does the design itself fundamentally preclude it?

I ask because I'm about to try and use it for a bigger project & knowing the big picture helps. 

Erik Westlund

unread,
Jan 23, 2017, 1:26:15 PM1/23/17
to Dean Attali, Shiny - Web Framework for R, RN
I agree with everything Dean said.

I developed a decent size app using Shiny that we launched and had a fair number of users.  However, I eventually ended up re-writing it using a backend web framework and modern JS libraries & tools (npm, Vue, etc.) because I was making Shiny do things it didn't naturally do well, which was causing a lot of pain. Most of this was related to data input, creation, and validation, but also managing resources like JS/stylesheets.  I probably could make Shiny do it all but it clearly wasn't the best tool for the job when it came to having a more full-fledged web app.  

On a side note, development in Shiny is REALLY fast for data visualization and using JS charting libraries instead of ggplot2 feel to me me like the 2nd circle of hell.

All the modern web frameworks (e.g., Django, Ruby on Rails, Symfony, Laravel) have a ton of tools to help manage assets (css, js), routing, forms, security, database, state/sessions, load balancing, etc.  With Shiny/open source shiny server, you need to put a lot of square pegs in round holes to get done what is a piece of cake using those tools.  The Pro versions can help with some of those issues but not all.


For example, like Dean said, the solution using Shiny to having multiple pages for an app is to create a bunch of mini apps and string them together.  It's not impossible.  But it can feel unnatural. However, creating a single dashboard to report on a single dataset is almost trivial in Shiny compared to how much work it might take using a web framework.

Erik

To unsubscribe from this group and stop receiving emails from it, send an email to shiny-discuss+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/shiny-discuss/f117c2ff-79ac-4e58-9cd4-f2ba5eb6dd0b%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages