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.

As an example of a completely viable solution, if you do web, frontend or backend development using Javascript technologies (and Node.js), you can perfectly use an iPad Pro. I certainly do.

How?

Working on an iPad Pro for Developers

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.

Hosting Solution

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!

Working on an iPad Pro for Developers

Tools

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

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.

Working on an iPad Pro for Developers

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

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.

Working on an iPad Pro for Developers

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

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.

Working on an iPad Pro for Developers

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).

Working On An iPad Pro For Developers

Inspect Browser

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.

I have been testing it for quite some time now, and quite happy with it. The only missing feature for me would is a step Javascript debugger. But apart from that, you have a very capable inspector, and a Javascript console that’s enough for most projects.

Conclusion

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.

Personally, 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. Thus, the iPad Pro gives me the freedom of taking my work with me wherever I go, when doing small trips or even as my primary travel device.

If you are a digital nomad and freelance developer, and work in web, frontend or backend development, give it a try.

Is the iPad Pro my only development machine? Unfortunately not. As I develop a lot for iOS, I still need my mac. But I really look forward to the the day when I can replace it completely with an iPad Pro.

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.

Let's talk!

Years ago, I quit my 9 to 5 job and became a freelancer first, then a solopreneur, and finally a digital nomad. Managing my company back in Spain was a nightmare until I discovered the e-Residency program and opened my company in Estonia. That changed my life.

After some years managing my business, I know the tricks of the trade. I can offer you advice on how to become location independent, found an European company you can manage online while traveling, and avoid unnecessary costs. If you are ready to take the leap, but have some doubts or don't know where to start, let's get in touch.

Let's do this!

❤️ Did you enjoy this article?

If you found this content useful, consider giving some love back by making a small bitcoin, ethereum or bitcoin cash donation. Thank you!

BTC: 331u8dLejzfssKY3cXm1DPPvtaibaS4S9z

ETH: 0x994ECE4B48144f5541B34D5f15a3D671e51D7E05

BCH: 1KejtFCcrv7X2ZgovpLgs6pwgqDo1KmrmS

(Visited 5,991 times, 80 visits today)

19 Comments

  1. Erick January 28, 2018 at 8:53 pm

    It’s not clear how do you write backend code in Working Copy. How to you run tests or the backend app in iOS? I suppose you would write backend code using a ssh terminal into you Linode server, but you said you do 90% of all your code in Working Copy.

    Reply
    1. nacho January 28, 2018 at 9:34 pm

      Hello there Erick! Thanks for your comment.

      I write all backend code with Working Copy. Then, when I want to test it, usually I make some calls there via the Prompt terminal, test it directly with the frontend app, or use the browser.

      I said 90% of my code -and it’s true- because I use Coda for some basic website development 🙂

      Does it make sense? What do you exactly mean by “run tests”?

      Reply
  2. Raj February 6, 2018 at 11:46 am

    Thanks for the post. I am considering buying an iPad Pro. What config would your recommend for the points mentioned in your post? Thanks again.

    Reply
    1. nacho February 6, 2018 at 7:42 pm

      Hello there Raj!
      Any of the iPad Pro models are good for that. Given that the storage is primarily in the cloud, the only thing you need is horsepower, and all iPad Pro models have more than enough.

      In my case, I am using the basic 9,7” model. Hope it helps!

      Reply
  3. Nitish April 4, 2018 at 6:56 pm

    Is this best for java script ,c as well as c++

    Reply
    1. nacho April 4, 2018 at 7:15 pm

      Hi Nitish,
      Yes, it’s great for Javascript, and also for C/C++ on a remote server using git.

      Best regards!

      Reply
  4. Akhtar May 16, 2018 at 2:11 am

    Hi,
    Really helpful article. just to be sure once again, i am thinking of developing a native app. And as you said it is not possible or ipad pro.

    Just confirming. and I would then have to buy a Mac book pro for that ?

    I am Just a beginner on IOS development.

    Reply
    1. nacho May 16, 2018 at 9:58 am

      Thanks Akhtar,

      Yes, as of now, there’s no way of developing native iOS apps on an iPad pro. You need a mac for that.

      Best regards and thanks for your comment!

      Reply
  5. Bey June 24, 2018 at 8:52 pm

    Thank you!
    This post is the exact answer to all my questions.

    – (I needed something badly to replace my heavy 2009 13″ mbp – still commuting daily with it)
    – (I have googled that ipad pro and ipad(2018) specs is about the same)

    Just one question,
    the way you are using your ipad pro, do you think for a new learner like myself, the ipad(2018) should be good to start with?

    Reply
    1. nacho June 25, 2018 at 10:23 am

      Hello there, Bey, glad to know it helped!

      Definitely, if you are going to work with frontend-backend technologies and can deploy in the cloud, I would go for it. You will have the advantage of starting on the iPad from scratch so that you won’t have the “vices” of us, former laptop developers.

      Reply
  6. PRATAP VADLAPATI June 29, 2018 at 7:30 pm

    Hi,
    After searching a lot Fortunately landed on the right article. Thanks for that.

    I never used i pad pro and planning for one instead of lap. As you saying we can do coding on browser based and remote servers. My question is can we store JS files on local storage after writing and can we upload to any web based servers. For example. IBM Datapower remote server which we ill access gui in browser.

    Reply
    1. nacho June 30, 2018 at 2:49 pm

      Hi there. Thanks for your comment. To be honest, I have no idea about IBM datapower remote servers, but you can store .js files in the cloud storage of your iPad pro. For working with JS, it’s much better to use remote servers with git and use Working Copy, in my humble opinion 🙂

      Hope it helps!

      Reply
  7. kunal August 1, 2018 at 6:07 am

    sir can we do c,c++and java on ipad

    Reply
    1. nacho August 7, 2018 at 11:52 am

      Hello there Kunal. Well, I don’t think you can do that natively on the iPad. It will require you to have a java, C or C++ compiler. But what you can do is use it on a VPS or remote server, code with Working Copy (https://itunes.apple.com/us/app/working-copy/id896694807?mt=8&at=1000lIsd) and then use Prompt (https://itunes.apple.com/us/app/prompt-2/id917437289?mt=8&at=1000lIsd) to compile/run the code.

      Reply
  8. John September 25, 2018 at 7:21 pm

    Use a Linux VPS, any ssh iOS app (best for me Blink shell, expensive but supports mosh) and Vim, and you can do 100% backend and 80 – 100% frontend development by using Screens or Jump Desktop iOS Apps (the last one supports a particular mouse also) to test with a full-blown desktop web browser!

    For native development (iOS or Android) you need Mac OS X… Windows is for playing games only 😉

    Reply
    1. nacho September 26, 2018 at 11:04 am

      Thanks for sharing that, John!

      Reply
      1. John September 26, 2018 at 4:48 pm

        By the way the mouse i use with Jump Desktop is Citrix X1. It works flawlessly for remote desktop needs!!

        Reply
  9. mick November 11, 2018 at 1:44 am

    “there are just three main questions to consider if you want to code on an iPad Pro”

    Lists 5 questions across 4 bullet points…

    Reply
    1. nacho November 11, 2018 at 11:39 am

      Good point! Should be fixed now, thanks 🙂

      Reply

Leave A Comment

Your email address will not be published. Required fields are marked *