For consumers and outside observers, Apple’s Worldwide Developers Conference (WWDC) is always a chance to see what lies in store when the next versions of its operating systems come to their devices. For developers, though, it is all about learning what Apple is doing under the hood. At this year’s event, Apple revealed Xcode Cloud, a new feature of its Xcode development app that Apple believes will make life easier and simpler for app builders.
Folks at Apple told us they were incredibly excited for Xcode Cloud — and disappointed that developers could not be on-site when it was announced at the company’s online event — and a quick perusal of the Twittersphere brings up a wealth of devs giddy with expectation for the new feature.
But what exactly is Xcode Cloud, and why is Apple convinced it is such a big deal? To find out, we sat down with both engineers at Apple and the developers it’s targeting to see how Xcode Cloud might impact their work, to hear out any apprehensions they might have, and tease out what it could mean for the future of apps.
What is Xcode Cloud?
Let’s start with the basics. To make apps for Apple platforms, developers use an Apple-created Mac app called Xcode. It’s been around since 2003 and remains one of the most important pieces of software in Apple’s catalog. Xcode Cloud is one of the biggest updates to Xcode in years, bringing new functionality that many developers had to leave Xcode for in the past.
Apple positions Xcode Cloud as a tool that puts previously complex tools within reach of all developers. I asked Wiley Hodges, the Director for Tools and Technologies at Apple, what they were hearing from developers that led to the creation of Xcode Cloud.
“We’ve seen that there are… tasks like distributing the apps to beta testers, like managing feedback and crash reports, that are really critical to building great apps,” Hodges said. “And we’ve seen that more and more of our developers have been interested in continuous integration and using this automated build and automated test process to constantly verify the quality of software while it’s being built.”
Those are exactly the problems Xcode Cloud is meant to address.
Xcode Cloud lets developers run multiple automated tests at once, uses continuous integration (CI) so app code can be quickly iterated and updated. It also simplifies the distribution of app builds to beta testers and lets devs catch up on feedback. It can build apps in the cloud rather than on a Mac to reduce load and allows for the creation of advanced workflows that automatically start and stop depending on set conditions.
“We wanted to bring these tools and services in the reach of all our developers, because right now it’s been something that I think was more on the advanced level for developers to get this set up and running as part of their process,” Hodges explained.
That sounds promising enough. But what do actual developers think?
‘A long-term project’
Putting those tools front and center is something several developers told us was a key attraction of Xcode Cloud. Now that previously quite specialized capabilities have been integrated into the main tool they use to build apps, there is much less need to find third-party alternatives and add extra steps to their workflows.
Denys Telezhkin, a software engineer at ClearVPN, summed this feeling up in an interview with Digital Trends.
“I was very interested [in Xcode Cloud] as there have been a variety of problems with different CIs,” he told me. “For example, Microsoft Azure is difficult to configure, GitHub Actions is expensive, and so on.”
With everything integrated into Xcode Cloud, leaning on unreliable alternatives could become unnecessary. Of course, Apple will be happy to steer developers away from its rivals.
But the chief impetus, Hodges insists, was something different: “The motivation for Xcode Cloud came from our observation that while there was a group of devoted Xcode Server users, most developers still weren’t implementing continuous integration. We started looking at the obstacles that prevented adoption and came to the conclusion that a cloud-hosted CI offering would be the best way to get broad adoption of CI as a practice, particularly with smaller developers for whom setting up and managing dedicated build servers was a bigger challenge.”
“Seeing tools and services like Xcode Cloud integrated directly into the dev platform got us excited.”
For devs, it’s about more than just CI though. Scott Olechowski, Chief Product Officer and Co-Founder of Plex, got to try out a beta version of Xcode Cloud before Apple’s WWDC announcement. He told me the potential benefits are wide-ranging.
“Seeing tools and services like Xcode Cloud integrated directly into the dev platform got us excited since it should really help us be more efficient in our development, QA [quality assurance], and release efforts.”
Part of that increased efficiency will likely come in Xcode Cloud’s collaboration tools. Each team member can see project changes from their colleagues, and notifications can be sent when a code update is published. The timing is auspicious, given the way the ongoing pandemic has physically separated teams all over the globe. Yet it was also coincidental, said Hodges.
“The reality is we’ve been on this path for quite a while, literally years and years, and so I think the timing may be fortuitous in that regard. This is definitely a long-term project that was well underway before our unfortunate recent events.”
Putting it into practice
If there is one thing Apple is great at, it’s building an ecosystem of apps and products that all work together. Unsurprisingly, Xcode Cloud reflects that — it connects to TestFlight for beta testers, lets you run builds on multiple virtual Apple devices in parallel, plays nice with App Store Connect, and more. For many developers, that integration could have a strongly positive impact on their work.
Vitalii Budnik, a software engineer at MacPaw’s Setapp, told me having everything in one place will mean more time spent actually coding and less time juggling multiple tools and options. For Budnik’s MacPaw colleague, Bohdan Mihiliev of Gemini Photos, the app distribution process will be faster and smoother than it currently is.
Apple sees Xcode Cloud as something that can improve life for developers large and small. Alison Tracey, a lead developer on Xcode Cloud at Apple, emphasized the way Xcode Cloud levels the playing field for smaller developers as well.
“With the range of options that exist to you in the configuration experience when you’re setting up your workflows, you really can support the needs of a small developer or somebody that’s a small development shop or somebody that’s new to continuous integration, all the way up to more of the advanced power users.”
This ranges from a simple four-step onboarding process to integrating Mac apps and tools like Slack and dashboards thanks to built-in APIs.
The pricing problem
It’s not all smooth sailing, though. Apple refused to divulge pricing details for Xcode Cloud at WWDC, saying more information would not be available until the fall. Many developers I spoke to were concerned about that to one degree or another, and it seems to be putting a slight damper on the excitement a lot of devs are feeling about Xcode Cloud’s potential.
Questions have also been raised about Xcode Cloud’s value to developer teams that create apps for both Apple and non-Apple platforms since Xcode can only be run on the Mac. I put this to Alex Stevenson-Price, Engineering Manager at Plex, since Plex has apps for Mac, Windows, Linux, Android, iOS, and many other systems. He told me that Plex’s various apps are built by different teams using different tools, so while it is a great new string in the Apple team’s bow, it will not be of much use to the non-Apple teams because they will not be using Xcode anyway.
If you want to get Xcode Cloud’s benefits when building an Android app, you are out of luck.
Of course, it should not come as a surprise that Apple has limited interest in providing tools for rival ecosystems. If you want to get Xcode Cloud’s benefits when building an Android app, you are out of luck, but Xcode has always been restricted (Apple might say focused) in that way. That could pose problems for developers who have the same app on both iOS and Android — or any number of other platforms.
Other developers told me they will have to wait and see whether Xcode Cloud’s reputed benefits play out in reality. Its use for solo developers was also questioned, partly because a number of its features are aimed towards teams with multiple members.
For instance, Lukas Burgstaller, the developer behind apps like Fiery Feeds and Tidur, told me Xcode Cloud’s utility depends on the setting.
“While I don’t think I’m going to use it for my personal projects [as] I feel like continuous integration is moderately helpful at best for a solo developer setup, I will definitely start using it in my day job as an iOS team lead, where we were planning to set up some sort of CI for over a year but never got to it.”
But even if he might not use every feature, Burgstaller still described Xcode Cloud as a “finally” announcement, saying he was extremely happy Apple is adding it to Xcode.
A feature with real potential
It is still early days for Xcode Cloud. Like many of the other updates and new features announced at WWDC 2021, from iOS 15 to MacOS Monterey, it is currently only available to beta testers. Despite a few concerns — and bad memories from the spotty launch of another developer tool, Mac Catalyst, a few years ago — the benefits seem to far outweigh the drawbacks, at least according to the developers I spoke to.
In fact, none of those devs said Xcode Cloud was completely without merit, suggesting there will be something for most people who work to create apps for the Apple ecosystem. Provided Apple continues to improve it as developer needs change, and as long as its pricing is not egregiously expensive, Apple might be onto a winner with Xcode Cloud.
As always, the proof is in the pudding, and a lot will depend on the state Xcode Cloud finds itself in at launch. For many developers, though, its fall release can’t come soon enough.