In a previous post, I talked about the possibility of using an iPad Pro as your only device if you are a blogger. This time, I want to talk about completely replacing your laptop with an iPad Pro for developers.
Is that even possible?
Let’s find out.
Why Would Developers Want To Replace Their Laptops With The iPad Pro
As I wrote in my previous post, I fell in love with my iPad Pro as soon as I bought it. Apart from a blogger, I am a developer, writer, musician, and entrepreneur, so I use it for quite a diverse number of things.
Obviously, one of the main things I use it for is developing and coding.
I have the smart keyboard and I find it really comfortable for typing, even for long periods of time. Also, it works surprisingly well not just for casual writing, but for source code too. The screen is surprisingly easy on the eyes for prolonged coding sessions too.
Its light weight makes it also a winner for digital nomads like me. I love being able to carry all my work with me in such a small, thin device. Last but not least, it’s half the price of a MacBook Pro. I got mine for 650€ only.
If you are into the minimalist, “less is more” mindset, the iPad Pro has important advantages when compared to a laptop.
However, before you decide to replace your laptop with an iPad Pro, there are some things to consider.
Can You Really Use An iPad Pro As Your Only Development Device?
The answer to this question depends on the technologies and languages you use. Generally speaking, there are just four main questions to consider if you want to code on an iPad Pro:
- Develop: Do you need a specific IDE that runs on the device?
- Build: does the binary or executable files need to be compiled on your device? I.E: do you need a specific compiler that cannot run remotely or needs a specific device?
- Deploy: Do you need a special mechanism for deploying the resulting product that needs to be done on your device?
- Debug: You also need a way of debugging things if there are problems or bugs. Does your debugger need a specific platform or software that’s not available on the iPad Pro?
If the answer to any of those questions is “yes”, then probably you won’t be able to use the iPad Pro as your only dev machine.
However, if you develop mainly with cloud technologies, or using remote servers, then it’s perfectly possible.
As an example, it’s not feasible to develop native mobile apps using the iPad Pro currently. At least not for iOS or Android.
Both platforms require a specific IDE (Xcode in the case of iOS, Android Studio or Eclipse in the case of Android). These IDEs have not been ported yet to the iPad Pro. Additionally, while there are some compilers for Java and Swift on the iTunes Store, they are toy apps that won’t allow you to test, run or deploy real applications.
iPad Pro For Developers As A Viable Option
I do a lot of coding on my iPad Pro, mainly frontend and backend development. I use pure HTML+CSS+JS for the frontend and Node.js for the backend.
However, if you develop in scripting languages such as Python, or do Ruby on Rails using Heroku, the following setup is also perfect for you.
In order to set a convenient development and deployment environment, we need two things, a hosting solution and some tools for our iPad Pro.
Whether you have a website, a SaaS or a web application, you will need a host to store the project and use as deployment platform.
If you are a serious developer, I would advice to stay away from shared hosting services like Bluehost or Hostgator. Being in an overcrowded server with a crappy CPanel access is not enough for professional use.
You need a dedicated VPS server, where you have absolute control of everything.
I have used Digital Ocean a lot in the past, but I migrated all my servers to Linode. I am really happy with their services. You can have a pretty decent VPS of your own for just $5 or $10 a month. For your reference, I use a $40 server where I host most of my projects, including one of my apps, Ready News Reader, with thousands of users a day.
I would recommend installing a flavor of Linux you feel comfortable with. In my case it’s Debian. Then, setup your web service and optionally an email service, secure SSH access, and of course Git. Congratulations! You are good to go!
I will write a post in the future on how to prepare and set such working environments for your own projects. However, if eager to do so, contact me and I will try to help!
Once you have your hosting and deployment environment in place, you need the right tools on your iPad Pro.
Surprisingly enough, for most folks out there two or three apps are enough. Let’s have a look at the ones I use:
Prompt is probably the most important tool in your armory. You need to be able to access your server, copy, install and move your files, and configure your services.
I have tried -literally- dozens of SSH terminals. Most of them are completely useless, especially the free ones. Prompt is somewhat expensive (at $14.99) but, trust me, it’s worth every cent.
Some cool features include quick connect and being able to generate a key-pair to login remotely to your server without having to type the password every time. You just generate the key-pair, copy the public key to your ~/.ssh/authorized_keys file, and voila! Easy and instant access to your server everywhere.
Working Copy is currently my Swiss Army Knife tool for developing on the iPad Pro. It combines a powerful, minimalist IDE with an integrated Git client. It’s an amazing tool.
The real killing feature for me of Working Copy is how seamless and easy to use is its Git integration. You can add your own Git repositories (from your server) as well as others like Github or BitBucket. Additionally, you have an awesome preview functionality that works like a charm for HTML.
Furthermore, the user interface is very nice and easy to use. It allows you to focus on the code. Then, once you have finished, you can push your work with a simple swipe.
Currently, I do 90% of my frontend, backend and web development with this tool.
And I couldn’t be happier.
Coda started as a web development tool for macOS, but has since become one of the most well-known tools on the iPad Pro for developers. I used to work a lot on Coda in the past. However, it’s not really suitable for working on Git projects. That’s why I don’t use it that much nowadays. I mostly stick to Working Copy.
Nevertheless, this tool is still quite useful for quick website development, or if you don’t really need versioning control for a specific project.
Make sure to stick to SFTP (via SSH) when transmitting the files to your server. Security matters!
Some cool features of this app include being able to sync your desktop and iPad projects, a key-pair generation, and the ability to preview your work. However, this preview doesn’t work as well as the one from Working Copy (it doesn’t access CSS and JS files properly).
Debugging is important if you work as a frontend developer. There are tricks to debug on Safari on the iPad using your MacBook. However, all of them require you to have your computer connected to your iPad, so these solutions are useless for us.
Unfortunately, neither Safari nor Chrome allow you to debug natively on iOS. Luckily, there’s an app called Inspect Browser that gives you an almost desktop-class debugging browser environment.
In this post, I talked about the possibility of totally replacing the laptop with an iPad Pro for developers. It all depends on the platforms you develop for, the technologies you use, and the convenience of using an external server for storage and deployment of your applications and services.
But if you ask me: can the iPad Pro work as a replacement for your laptop if you are a developer? The answer is, unfortunately, “no”.
The problem is not just the limitations of the iPad Pro (no real Operating System, limited File System access, no local terminal access…), but the speed. Everything takes you a lot more time on the iPad Pro, because you struggle to do simple things such as uncompressing files or moving them to new folders. Something that would take you 10 seconds on your laptop may take 15 minutes on the iPad Pro #realstory.
Still, I love being able to code on an iPad Pro. I enjoy taking it to a cafeteria and spending some hours there coding in front of a hot coffee. The iPad Pro gives me the freedom of taking my work with me wherever I go. I can do a quick patch to a Git repository or fix a bug on the website.
If you are a digital nomad and work as a web developer, either frontend or backend, you may give it a try.
I hope you enjoyed this post. Do you use the iPad Pro as your main development tool? Have another essential App in your arsenal you would like to share with us? Let us know in the comments.
❤️ Did you enjoy this article?
If you found this content useful, consider showing your appreciation by buying me a coffee using the button below 👇.