
Standalone shiny application with nhyris
nhyris

Welcome to nhyris, a minimal framework designed to transform your R Shiny applications into standalone Electron applications. This project simplifies the process of packaging and distributing Shiny apps, making it easier for developers to create cross-platform desktop applications.
Also, nhyris (pronounced naɪrɪs
) is an anagram of “R Shiny,” highlighting that while nhyris is not R Shiny, it is closely related to it.
Standalone
Let me define the term “standalone” first. A standalone application is an application that does not require any dependencies to run. For example, it does not need a specific programming language to be installed or an active network connection.
Since it doesn’t require to be connected online, it doesn’t have concern to data security problem. So user with sensitive data like “medical”, “finance”, “law” will have advantage of this type.
Also, some organizations have a policy to use a separate network to prevent problems. Or it has a difficult process to install or update something. In case you want to use the latest version of R or Shiny but “the IT team” won’t allow it, this standalone (provided as zip
or other installers) can be one solution.
Finally when user doesn’t have resource or experience to manage servers for deploying R or Shiny application. This standalone application can be good solution.
However, Standalone has some limitations and alternative solutions.
- Since it uses multiple programming concepts, it’s hard to develop for R developer.
- It contains everything to run application, that means it has really big size file.
With this limits, just install R or use shinyapps.io, or even using WASM (shinylive) also good choice in many cases.
But, still there’s point that only standalone application is good at. and there’s some solution for building R Shiny application to this standalone application using Electron.
Electron
Few years ago, I re-organized some process for this job. for more information you can refer article of it.
But, still it has some point to improvement.
- Process for building application with Terminal, Javascripts, etc (which is not R or Shiny) is little bit messy.
- There were dependencies that I didn’t know exactly how to use and how they worked.
So I re-organized and made much simpler framework for this again.
- Update libraries to JavaScript.
- remove dependency as possible.
- simplify not R processes.
- built feature to manage each Shiny application as project.
So what you have to do is just
- make your Shiny application as
app.R
- run 3 shell commands in terminal (in Rstudio, Positron or VScode)
- Finish
How to use
Now let me introduce how to use nhyris
.
You can see this as video
First, you must use git
. (since it’s on GitHub)
- move your github directory (or other location that you want) and clone this using
git clone
or you can use template in README.md

- than run the
node.sh
script, this will check you have installednode.js
and if it isn’t it will install automatically.

- next, make project using
project.sh
, this will include install local R, R package, electron and node packages.


And it will run simple example shiny application as electron.

After modify app.R
code as you built, run electron.sh
and it will make zip
file which contains everything that you can run Shiny application independently.

Conclusion
With nhyris, you can easily transform your R Shiny applications into standalone desktop applications. This framework streamlines the process, allowing you to focus on developing your application rather than dealing with the complexities of packaging and distribution.
I hope you find nhyris useful for your projects. Happy coding!
Note, this project is only for mac (m1
, not intel
) yet. nhyris for windows is working in progress.(I hope I can breif those in posit::conf or useR!2025.)
If you have any other questions or would like to be notified of the release of the Windows version, please contact me.