I have been developing a single page app from my iPad for the last four weeks trying to push something to GitHub every day. It all started because I wanted to use GraphQL more. Using GraphQL, Vue, and Onsen UI, I built something similar to the iPhone Calendar app.
It was challenging to get started. I wasn’t sure which tools I needed to to make the process work. I set up a server on DigitalOcean that I connect to using Mosh, and I edit my code using tmux and vim. Secure ShellFish and using Textastic as a code editor worked well too.
Once I could write code, I struggled to find a substitute for developer tools. I tried Firebug Lite, but no console output from page loading and multiple taps to load it was too much. I also struggled with Safari caching things. I discovered Inspect, and I was skeptical about buying Inspect because it didn’t have a large number fo reviews. After using it for almost a month, it checks all the boxes for me, and I found it helpful to separate Safari (documentation) and debug screen. I also acknowledge that it isn’t at the same level as Chrome’s developer tools.
When I was up and running, hot module reloading (HMR) with Vue wasn’t working, and reloading my entire app.js was slow. For HMR, I needed to allow WebSocket connections to pass through my reverse proxy (Nginx). This post helped me get going.
There are three positive points about developing from the iPad. I enjoy the focused environment of the iPad. I always have battery and internet connectivity. (I can’t stand fiddling with pocket wifi devices, carrying them around and keeping them charged, especially on public transportation. It’s easier to switch contexts for me than with a PC as the tools are separate from my other daily work. It’s worth noting that I have two small children and can’t accurately predict when and where I’ll have time to work on things. I’m willing to sacrifice a little usability for speed and convenience.