Do we really want an iPad Xcode?
Would it really be useful?
When we develop with Xcode, we’re not just running Xcode. We’re also running Pixelmator and Sketch, or Photoshop, any of these possibly in combination with PaintCode, QuartzCode or Core Animator. We’re running Slack or HipChat. We’re running Paw and/or Charles. And speaking of the network we might be using BBEdit or SublimeText to edit some python or ruby, and Transmit for uploading to the server. We might be getting down & dirty with Hopper or Hex Edit Pro or Reveal. We’re running Dash. We’ll have Mail and either FantastiCal or BusyCal running, and you can bet that Safari will have several tabs open to various stackoverflow.com pages. The Simulator will probably be running too and let’s not forget that it isn’t exactly a light-weight process on its own, and of course we’re going to need to bring up Instruments on occasion. We’ll be running SourceTree or Tower because we’re good developers and we use version control. Since we’re good touch-typists we’ll probably be running Alfred for various shortcuts and workflows. And lastly there’s iTunes, because what’s a coder without some motivating music?
whew.
Benchmarks indicate that the A9X has the raw horsepower to run Xcode. But Xcode doesn’t exist in a vacuum, developers don’t run just Xcode. All of the ancillary tools are what really comprise the entire development suite.
I can run a pretty good set of apps along with Xcode on my creaky Mid-2009 MacBook Pro 8GB. Trying to do all of that on the iPad Pro with 4GB RAM1, I’m skeptical that it would be a productive workflow.
What is needed to make the iPad Pro an effective development machine? More RAM would obviously be beneficial and I presume that some future iPad Pro in the future will have that option.
Additionally, app switching and interoperability needs to improve. I don’t know how other developers handle app switching but I’m a heavy user of the Command-Tab shortcut. I use LiteSwitchX to improve the experience, but the basic Cmd-Tab functionality is de rigueur. If an external keyboard is paired with an iPad then iOS does provide a Command-Tab switcher. The issue in that case is how responsive the app is when you activate it. Even on my (relatively) ancient MacBook I don’t generally notice any hesitation, even when switching to an app that hasn’t been used in a while.
Application interoperability is another consideration.It would be interesting to see how source control works, would you send the entire project every time you want to do a git commit?
The final issue would be the low-level tools. Lets face it, I don’t expect Hopper or Hex Edit Pro to ever have iOS versions. But what about Xcode plugins? What about other tools e.g. Fastlane’s Snapshot? These tools aren’t necessary for everyone, but they do provide a definite benefit to some developers.
Some of the above issues are minor or may not apply to your work flow. The major issue I see is the sandboxing of apps, I doubt that’s going away any time soon, but it restricts a lot of tools.
1. I guess I could remove half the RAM in my MacBook and see how it goes, but I have better things to do with my time. ↩