Docs

Getting started

RubyEverywhere turns a plain Rails, Hanami, or Sinatra app into a real native app for macOS, iOS, and Android. This "Do It Yourself" track covers the open-source ruby_everywhere gem and its every CLI: you install a toolchain, build on your own machine, and ship the result yourself.

Would you rather not manage a Mac and signing certificates? The RubyEverywhere Platform builds, signs, and notarizes your app on hosted runners from the same everywhere.yml. Everything you learn here still applies.

The shape of it

Four commands take an existing app to a double-clickable build:

Terminal bash
gem install ruby_everywhere

cd my_app
every doctor      # check the toolchain
every install     # add config and the JS bridge
every dev         # develop inside a native window
every build       # press into a single-file native app

The rest of this section goes into each step: the requirements every doctor checks, your first build, and the macOS, iOS and Android specifics. Two topics are shared with the Platform track, since they are the same however you build: the everywhere.yml that describes your app, and the Bridge API. The CLI reference lists every command and option.

What you get

  • No rewrite. Your Rails, Hanami or Sinatra app runs as it is. RubyEverywhere wraps it; it does not replace it.
  • No Electron. The desktop shell is a native Tauri window, a few megabytes rather than a bundled browser. Mobile is a Hotwire Native shell.
  • The Ruby runtime is included. rbe-tebako, our maintained fork of Tebako, presses your app and a Ruby interpreter into one self-contained binary for desktop builds. Users double-click; nothing to install.
  • One bridge, every platform. The Bridge API gives you Everywhere.notify(...), Everywhere.confirm(...) and the rest, resolving to native APIs in the app and web APIs in a browser. Same call, no platform branches in your code.

Ready? Start with the requirements.

Rails · Hanami · Sinatra — built with Ruby