
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}, pronounce as naɪrɪs
is anagram of R shiny. Which mean nhyris is not R shiny but actually R shiny.
Standalone
Let me define the word “standalone” first. standalone application is application that doesn’t require any dependency to run. For example, it doesn’t need to some programming language installed or even network connection doesn’t required.
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 organization has policy to separated network to prevent problems. or It has difficult process to install / update somethings. In case of you want to use 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 of 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 with JS.
- 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.