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:
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.