You’ve Been Waiting for Native Mobile Apps with R? The Wait Is Over.

Author : Colin Fay
Categories : development, javascript, shiny
Tags : mobile, shiny, webr
Date :

webR, and the next generation of app with R

For the past couple of months, I’ve been sharing how webR will transform the way we build apps with R inside.

If you’re unfamiliar, webR is a WebAssembly compilation of R. In simpler terms, it enables R to run within JavaScript environments. If you are familiar, you know it’s a bit more nuanced—but let’s keep it straightforward for now.

I’m convinced that webR will redefine how we create apps that harness the power of R. And today, we’re taking the next big step: native mobile apps.

R, On Your Mobile

Until now, serving mobile apps with R code has been mainly done through to {shiny}, particularly with {shinyMobile}. But these aren’t native mobile apps. They:

  • Can’t be installed from an app store.
  • Lack access to your phone’s APIs (no vibrations, no haptics).
  • Struggle to work offline.

They’re essentially websites that look like mobile apps—amazing in their own right but inherently limited.

Building a Native Mobile App with R Inside

This is where webR comes in. Over the past few weeks, we’ve been developing a mobile app that runs R. Natively, with no R server required, and working on Android and iPhone.

Note: The following screenshots are intentionally pixelated to preserve the surprise 😉

The App: A Simple R-Driven Game

We’ve created a game where you guess which package a function comes from. Here’s how it works:

  1. The app fetches the installed packages, samples three at random, and picks a random function from one of them.
  2. You guess the package.
  3. If you’re correct, the {praise} package rewards you with a congratulatory message.
  4. If you’re not, you keep playing until you find the correct package.

Your guesses are stored locally in SQLite, and the app features a second tab displaying a chart that visualizes your performance.

Of course, the goal of this game is not to learn by heart all R functions. Its purpose is to showcase that it’s now possible to have a native-feeling mobile app with R inside. Responsive, user-friendly, and equipped with mobile features like vibrations and offline support. Yes, you can turn your plane mode on and still use the app fully.

Want to Stay Updated?

We’ve poured a lot into this project and are now preparing to release the app on mobile stores.

If you’d like to be notified when it’s available, fill out the form below, and we’ll email you as soon as it’s live!

    By clicking the checkbox, I agree to receive emails from ThinkR about updates and information regarding future products. I understand that my data will be processed in accordance with the Privacy Policy


    Comments


    Also read