DEV Community

Ian bradbury
Ian bradbury

Posted on

Developing Rails apps using an iPad

Question. Does anyone use an iPad to develop Rails applications?

I need to reduce the weight of my work bag and have been thinking about trying out an iPad.

That the new iPad magic keyboard might look amazing has nothing to do with this question. ;)

My main areas of concern are:

  • Editor
  • Console / SSH
  • SFTP

All reasonable comments or ideas appreciated.

Top comments (16)

joshpuetz profile image
Josh Puetz

This is a subject near and dear to my heart: I do Ruby on Rails development (for DEV!) from a 2018 iPad Pro regularly. Here's my "stack":

  • A droplet on Digital Ocean to actually execute code
  • Blink to log into it
  • GoCoEdit for code editing

And that's pretty much it. My tests and local testing all run on Digital Ocean, and my iPad functions as a remote terminal. iPadOS 13.4 and trackpad/mouse support has somewhat changed things: I've been experimenting with GitPod as an online code editor, and it seems promising.

The biggest hole in my toolset right now is frontend dev work: Inspect Web Browser works ok, but I miss having Chrome extensions like ReactDevTools

bizzibody profile image
Ian bradbury

I like the sound of your set up. Simple. Clean. I've never heard of GoCoEdit... I'll be sure to check it out.

Do you ever attempt to code while being mobile? If yes, How does that work out?

joshpuetz profile image
Josh Puetz

Absolutely, and it works brilliantly! My iPad has a cellular option, and Blink handles latency quite well!

tnypxl profile image

I have found this same setup to provide the least amount of friction in my workflow. Although, task management on iOS is still the most annoying part of it.

val_baca profile image
Valentin Baca • Edited

I have an older iPad Pro and also wanted to set it up for coding.

For Editor and Console/SSH, I used Vim & Spacemacs over Mosh using Blink ($20) and a free AWS EC2 Instance.

Why? I'm a fan of Vim, but the iPad keyboard doesn't have an Esc key. Blink allows remapping 'Caps Lock' to 'Esc'.

Mosh is necessary b/c the iPad will drop your SSH connection often.

Blink is pricey for an app ($20) but it Just Works.

I haven't used it personally very much, but Termius might suit your needs best.

You could use any $remote_editor (vim, emacs, nano) over Mosh/SSH with any $ssh_app and any $cloud_host. Those are just work for me.

Honestly the hardest part of it all was getting ssh keys onto the iPad. There are guides out there for it though. For that step you'll want a real computer for the first-time setup.

Btw, here are all the apps in my "Coding" group on my iPad. Note that I use "IDE" very loosely here, since it is on an iPad:

  • Blink: ssh/mosh connections
  • Dash: documentation
  • Working Copy: git
  • Pythonista: basic python IDE
  • Playgrounds: for Swift
  • AWS Console
  • iVim: for local editing (unused, might delete)
  • Termius: alternative to Blink
  • Scheme: Lisp on iPad
  • O'Reilly: for tech books
  • Udemy: learning
  • Udacity: more learning
  • Replete REPL: ClojureScript IDE
  • Code Playground: Multi-language IDE
bizzibody profile image
Ian bradbury

Thanks @val_baca - this is excellent information. I've not tried Code Playground - I'll investigate that.

johnlukeg profile image
John Luke Garofalo

I tried to go full iPad when I started my own company earlier this year. My stack is Rails & React w/ GraphQL API. I was able to get the code editing/writing aspect of my workflow down, but not getting a local version of rails or react running or console aspect. I was hoping that tools like CodeSandbox would make it possible but I was pretty disappointed with every one of them.

As far as the editor goes, Textastic is the best IDE I've used (for iPhone & iPad), but my workflow was still considerably slower than on a Macbook or iMac. Working Copy was the best Git client and it works well with Textastic.

bizzibody profile image
Ian bradbury

+1 to Textastic - I've found Textastic to be a good editor.

roman_d profile image
Roman Dekret

I’m just trying to setup Ruby on Rails development on my iPad, remote server is Synology NAS, puma’s running just fine, tests also OK, however I’m having difficult times easily syncing files between Textastic and SFTP (Synology) server, when developing.

Have you found easy way how to do this with Textastic?

andrewrothman profile image
Andrew Rothman

The new iPad Magic Keyboard does not have an Escape key. This might cause issues if you're hoping to use Vim, or another CLI tool which uses that key. I'm not sure if you can remap any other keys (like Caps Lock) to function as Escape on iPadOS.

val_baca profile image
Valentin Baca • Edited

Ctrl+[ can be used as Esc in a pinch.

For vim, I'd recommend mapping 'fd' or 'kj' to Esc.

inoremap fd <Esc>

Update: Blink allows remapping Caps Lock to Esc :)

joshpuetz profile image
Josh Puetz

Argh, that is a supreme bummer (and honestly not that surprising). I wonder if some of the custom keymapping functionality in iPadOS 13.4 could help?

camckin10 profile image
Chelsey McKinney

Circling back…have there been any updates to setting up your dev environment on the iPad?
I recently got an iPad and am looking set up a dev environment for Ruby, Rails, HTML, CSS, and JS.

So far, I have only found an extensive tutorial for setting up a dev environment for using JavaScript.

Any pointers would be greatly appreciated! Thank you!

ben profile image
Ben Halpern

If anyone on earth may have some ideas I feel like it would be @joshpuetz .

sofianhw profile image
Sofian Hadiwijaya

How about vim binding to ipadOS? so can we just use keyboard to launch apps and navigate and editing in apps using vim binding, so no need mouse?

gdfhhhh profile image
Abdul Malik Ibrahim Jaber

I would like to learn how to make professional clips of Rails