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 being 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: Do 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: 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/Express/Mongo 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 it as a deployment platform.
If you are a serious developer, I would advise staying away from shared hosting services like Bluehost or Hostgator. Being in an overcrowded server with 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.
I would recommend installing a flavor of Linux you feel comfortable with. In my case it’s Debian. Then, set up 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 log in 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.
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 front-end developer. There are tricks to debug in 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 allows you to debug natively on iOS. Luckily, there’s an app called Inspect Browser that gives you an almost desktop-class debugging browser environment.
Ok, But Can Developers Use The iPad Pro As A Working Device?
So, overall, if you are wondering: Can I throw my laptop through the window (or even better, sell it) and work only with an iPad Pro? Is the iPad Pro a good replacement for your laptop if you are a developer?
The answer, unfortunately, is a resounding “No”.
It may depend on the platforms you develop, the technologies you use, and the convenience of using an external server for the storage and deployment of your applications and services. But as a senior developer with twenty years of experience, I have to say it is not a proper working device for developers.
For starters, you can’t run a local development setup in this device. No Apache, Node.js, Mongo, MySQL, nothing.
But the problem is not just the limitations of the iPad Pro (Toy Operating System, limited File System access, No terminal access to the whole filesystem, Not enough apps…), 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.
So what do I do with my iPad Pro?
Still, I love being able to code on an iPad Pro. I enjoy taking it to a cafeteria and spending some hours there doing some light coding in front of a hot coffee. The iPad Pro gives me the freedom of making small fixes and corrections on the go, or working on some toy projects. I can do a quick patch to a Git repository or fix a bug on the website if I know where it is and don’t need to debug it.
But the device is unfortunately too limited for real pro usage.
2022 Update: I was so disappointed in the iPad Pro as a serious working device that I sold it and got an Android tablet. I found out it was indeed much better for developers than the iPad Pro. In a future post, I’ll let you know about it.
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.