Opinion
Created on:
November 11, 2019

Using your iPad for cloud development

I’m a big fan of using my iPad for productivity purposes. With the latest updates to iOS, the all-wonderful Apple tablet is closer than ever to being a full-fledged development machine.

The outlook of using your iPad for development improves significantly when leveraging cloud technology to build your apps. Why? Firstly, because you do not need server-like applications running locally in your machine, this is now done at cloud level. Second, and as you will see next, there is a huge offering of applications that work really well with cloud environments.

I took some time to review the apps, tools and productivity hacks I use daily to work specifically with the cloud using my iPad Pro. Full disclaimer, there is a lot to be said on the subject and given the number of options available everybody will have their unique preference on how to do things. In this case, I’ve focused on what works for me, so hopefully, you can use this as a baseline or learn something new.

General Apps

These are all applications that can support you as utilities in your development flow but are not specifically built for the cloud. While it’s true that you can use these for other purposes, I believe they are a must when doing cloud development.

Source Control: Working Copy

Having a good source control application is the bread and butter of developing on your iPad. You need to work on your code and being able to access it from your main laptop and other devices (such as your iPad) is a must.

I use Working Copy to connect to GIT repositories, which is my favorite app so far. It offers a very intuitive and snappy UX, a good text editor and excellent context and sharing integration with other apps. One of the best features is that Working Copy is listed as an external folder location in iOS, which allows you to access your repository folders from your favorite editor. Another great thing? The app is free to download and use for most of the features they offer.

Code IDE: Textastic

Textastic is my IDE of choice at the moment. It’s only $7.99 at the App Store and deals a great set of features for that price. It offers syntax highlight for over 80 languages, tabs, connecting to remote repositories and some code completion. Besides all that, the app is very responsive and plays very well with Working Copy. It also has versions for iPhone and Mac, which helps if you want to maintain a consistent experience across your devices.

Remote Access: Blink

Having a good SSH client is a key aspect of cloud development and will make your experience make or break.
My go-to app for SSH intensive work is definitely Blink. It’s a slick app, very robust and amazingly simple to use. More importantly, it handles memory management in iOS well, basically maintaining your SSH session even if you switch to other apps while you are working. As you type commands and interact with the shell you will see that Blink offers the most seamless experience.

Cloud Console Native Apps

So now that we covered the basics let’s see what is out there for speaking the native tongue of your favorite cloud providers. In this section, I will cover what Microsoft, Amazon, and Google have put on the table to interact with their ecosystems from your iPad.

AWS Console

As you will see with other apps for cloud management, AWS Console offers mostly reporting capabilities over your AWS environment. You will be able to see at glance a dashboard containing CloudWatch alarms, general AWS Health, and Billing details.
The Amazon Web Services console app also provides more detail into a handful of services, including EC2, S3, Route 53 and Elastic Beanstalk among others. You will be able to perform some actions over these services, although simple they could come handy at some times. You won’t be able for example to create or launch a new EC2 instance from this app.
For more info on this app check the official developer page.

Azure

The mobile application for Microsoft’s cloud is simply named Azure. Similarly to AWS Console, it provides a home dashboard with relevant information about your environment and also access to your resources although mostly for reporting purposes. Except for managing permissions through access control (IAM) which seems to be present as the only actionable item in all resource types, some of them offer particular capabilities such as stopping/restarting services (for App Services and Virtual Machines).
Interestingly, the Azure app offers a Cloud Shell option which is a very good port of the shell available through the web console. This comes extremely handy if you know your Azure CLI well, as it saves you the hassle of having to connect through a third-party SSH app, in which case you’d also need an additional VM to even use Azure CLI.

Cloud Console

Google’s Cloud Platform native mobile app is called Cloud Console and it repeats the same feature pattern as Azure and AWS Console in providing with a dashboard containing environment information, billing, and general health info. It also offers access to your resources but only to specific App Engine, Compute Engine and Storage resource types. This means that not all of your GCP services will be listed in the app’s resource section, even if you have an active deployment of such service.
Same as with the Azure app, it provides access to Google’s Cloud Shell which enables you to use the Cloud SDK through a first-class interface.  I particularly find the SDK very mature so it is worth to learn it to get the most of your iPad experience with GCP.


Web apps with Safari

The Safari app for iPad has dramatically changed its rendering engine after the release of iOS 13. This is a big shift away from previous iOS versions where mobile Safari was a stripped-down version of the desktop browser, meaning most sites would detect you were on mobile and offer their “dumb” mobile site accordingly. This practically made impossible to use the web consoles of cloud providers as these are heavy on the UI side and mostly designed for desktop use.

From iOS 13 on Safari on iPad is a full-fledged browser, effectively allowing you to open any cloud web console and use it without limitations. In case you haven’t noticed so far, the native mobile apps available are rather limited in terms of functionality, especially if you are looking for a rich GUI experience. This is why I believe this new version of Safari hits the spot covering the gap and allows you to manage all your cloud environment from your iPad. Best of all, the iPad has outstanding benchmarking when it comes to speed processing Javascript heavy sites, meaning you will have a blazing fast experience navigating the web cloud consoles.  I’ve personally tried using Google’s Web Cloud Console, as well as Azure Portal without experiencing any limitations other than maybe a weird styling issue.

While I haven’t had time to check them all out, there are also plenty of browser IDEs available that could very well be compatible with Safari as of right now.  The list includes powerful tools such as AWS Cloud 9, Codepen.io,  Repl.it and the new Visual Studio Online (in preview for now). The future looks very promising in this area and it will only help place the iPad as a better tool for development.


Productivity Tips

Rounding up this article, I wanted to add a couple of productivity tips on how to work on the iPad to achieve the best results, taking advantage of multitasking and other goodness the new iPad iOS provides.

1. Add the cloud web console portals to your iPad home screen for quick access. Simply visiting the portal on Safari and then going to Share and “Add to Home Screen” will do the trick.
2. Set up your cloud hostnames and SSH keys in Blink (or your SSH client of choice). This will allow you to connect to your cloud resources without the hassles of passwords or remembering IP addresses.
3. Use a password manager. Disclaimer: It is of uttermost importance to have a password manager. I use 1password as a vault to keep all my credentials secure. A feature I like about 1password is that it allows creating different vaults so I can have one dedicated for each cloud provider.
4. Split screen for multitasking. Take advantage of the window management available on your iPad by splitting your screen or have a floating window. A good setup is having Safari opened with the web cloud console and another window with the respective native mobile app. For example, I can have the GCP’s web cloud console in Safari on the left and right next to it the shell within the Cloud Console app. I also try to stack my messaging apps in the floating pane so I can easily respond to any messages without switching windows on and off.

---

In this article, I tried to cover the basics for a successful cloud development workflow using your iPad. As you get more into it, you may find that you need additional tools that better fit your development workflow. My advice is to always keep your eyes open for new productivity and cloud-specific apps. As always, remember to keep your iOS updated to catch all bug fixes and new features on time.

Sebastian Dolber is the founder of Astor and the author of this article.