I recently purchased the iPad Pro 10.5 to replace the surface pro 4 that I’ve been using for more than a year. The Surface Pro 4 is an amazing device, make no mistake. However the battery life has dropped and windows update keeps forcing me to restart my machine.
This makes the Surface Pro 4 a poor choice for remote work where there is no electrical power to charge. The constant restart also threw me off.
In any case, the general experience with the ipad Pro 10.5 has been a good one.
The battery life is great and the screen is amazing too. But how does it fare for software (web) development?
Apparently, after coding vigorously for a few weeks on the go, it ‘s quiet possible to develop on the iPad. The only caveat is that I had to install the right apps and setup some coding infrastructure. Today I will share my setup in hope that it will help out other developers.
- Version control : Working Copy Working Copy – Powerful Git client – Anders Borum
- Text editor : Textastic Textastic Code Editor 6 – Alexander Blach
- Terminal emulator: Cathode Cathode – Secret Geometry
- Web browser with console!: MIHTOOL MIHTool Basic – Web Debugger – Gaolu Li
- Coding software keyboard: ProType ProType – NCODX
- Slack Slack – Business Communication for Teams – Slack Technologies, Inc.
The key part of being able to develop on the iPad Pro is having the correct development infrastructure. You see, it’s not possible to run virtual machines or compile any code on the iPad itself therefore we have to offload the task somewhere.
Test / staging server
Having a test or staging server is mandatory so that we can test our codes that we wrote on the iPad. Simply spin up a Digital Ocean Instance Or AWS instance and set it up before you embark on your iPad development.
Automated deployment of course goes hand in hand with your test infrastructure and your codes in the repository. After all you neat some way to deploy your codes to the test server.
One way to do this is by setting up a jenkins machine (or any other continuous integration tool). I then setup the CI tool to monitor my
“Develop” branch and deploy automatically as soon as I pushed a change into the develop branch in my repository. In this case I use bitbucket.
Lastly, I use slack to receive my automated deployment reports.
Further Coding Workflow
The rest of the coding workflow is pretty simple. I clone the correct repository using Working Copy, then switch to the right branch. It’s actually possible to edit using Working Copy’s inbuilt editor.
However I chose to use Textastic for my main editor. The cool thing is that Textastic can open the code that you clone in Working Copy directly and any changes are reflected immediately. After I have done with the coding, all I have to do is switch back to Working Copy, commit and push. The automated deployment then does the rest. Then I can test out my web app using MIHTOOL which is equipped with web development console.
In conclusion, given the right setup it’s quite possible to do advanced software development on the iPad. Leave some comments with your own experience :)