For consumers and outsiders, Apple’s World Developers Conference (WWDC) is an opportunity to see what awaits their devices when the next versions of operating systems arrive on them. For developers, it’s an opportunity to find out what Apple is doing under the hood. At this year’s event, Apple unveiled Xcode Cloud, a new Xcode development app feature that Apple believes will make life easier and simpler for app creators.
Apple representatives told us that they were incredibly excited about Xcode Cloud – and disappointed that developers couldn’t attend the event when it was announced online – and a quick look through the Twittersphere revealed plenty of developers looking forward to the new feature.
But what exactly is Xcode Cloud, and why is Apple convinced it’s such an important thing? To find out, we talked to Apple engineers and the developers it’s aimed at to find out how Xcode Cloud might affect their work, listen to all their concerns, and find out what it might mean for the future of apps.
What is Xcode Cloud?
Let’s start with the basics. Developers use a Mac app created by Apple called Xcode to create apps for Apple platforms. It’s been around since 2003 and remains one of the most important software products in Apple’s catalog. Xcode Cloud is one of the biggest updates to Xcode in recent years and has added new features that many developers previously had to abandon Xcode for.
Apple is positioning Xcode Cloud as a tool that makes previously complex tools available to all developers. I asked Wiley Hodges, director of product marketing for tools and technology at Apple, about what they heard from developers that led to the creation of Xcode Cloud.
“We saw that there are tasks, like distributing apps to beta testers, managing feedback and crash reports, that are really important to making great apps,” Hodges said. “And we’ve seen that more and more of our developers are interested in continually integrating and using this automated build and automated testing process to continually check the quality of software as it’s being built.”
These are exactly the problems that Xcode Cloud is designed to solve.
Xcode Cloud allows developers to run multiple automated tests simultaneously and uses continuous integration (CI) so that application code can be iterated and updated quickly. It also makes it easy to distribute app builds to beta testers and allows developers to track feedback. It can build apps in the cloud rather than on a Mac to reduce workload, and it allows for advanced workflows that automatically start and stop based on specified conditions.
“We wanted to make these tools and services available to all of our developers, because now it was something that I thought was more advanced for developers to set up and run it as part of their process,” Hodges explained.
That sounds promising enough. But what do actual developers think?
According to several developers, Xcode Cloud is appealing precisely because of the focus on these tools. Now that the previously fairly specialized features are integrated into the core tool they use to build apps, there’s much less need to look for third-party alternatives and add extra steps to the workflow.
Denis Telezhkin, a software engineer at ClearVPN, summed up that sentiment in an interview with Digital Trends.
“I was very interested [in Xcode Cloud] because there were different problems with different CIs,” he told me. “For example, Microsoft Azure is difficult to set up, GitHub Actions is expensive, and so on.
When everything is integrated into Xcode Cloud, relying on unreliable alternatives may become unnecessary. Of course, Apple will be happy to steer developers away from their competitors.
But the main motivation, Hodges insists, was something else: “The motivation for Xcode Cloud arose from our observation that, despite having a group of dedicated Xcode Server users, most developers still had not implemented continuous integration. We began to examine the barriers to adoption and concluded that a cloud-based CI offering would be the best way to achieve widespread adoption of CI as a practice, especially among smaller developers, for whom installing and managing dedicated build servers is more challenging.”
Seeing tools and services like Xcode Cloud integrated directly into the developer platform was exciting
For developers, however, it’s not just about CI. Scott Olechowski, product director and co-founder of Plex, had time to try out the beta version of Xcode Cloud before Apple announced it at WWDC. He told me that the potential benefits are wide-ranging.
“Seeing tools and services like Xcode Cloud integrated directly into the development platform, we got excited because it should really help us improve efficiency in development, QA [quality assurance] and release.
Part of that increased efficiency will likely come from the collaboration tools in Xcode Cloud. Every team member can see changes to their colleagues’ project, and notifications can be sent when code updates are published. The timing is favorable, given how the ongoing pandemic has physically divided teams around the world. However, according to Hodges, it was also a fluke.
“The reality is that we’ve been on this path for quite some time, literally years and years, and so I think the timing may be fortunate in that regard. It’s definitely a long-term project that was in progress before the recent unfortunate events.”
Implementation in practice
If there’s one thing Apple has excelled at, it’s creating an ecosystem of apps and products that work together. Not surprisingly, Xcode Cloud reflects this – it connects to TestFlight for beta testers, lets you run builds on multiple Apple virtual devices in parallel, works with App Store Connect, and more. For many developers, this integration can have a strong positive impact on their work.
Vitaly Budnik, a software engineer at MacPaw’s Setapp, told me that having everything in one place would allow more time to focus on the coding itself and less time to juggle the numerous tools and options. For Budnik’s MacPaw colleague, Bogdan Mikhilev of Gemini Photos, the app distribution process will be faster and smoother than it is now.
Apple sees Xcode Cloud as something that can improve the lives of developers large and small. Alison Tracy, lead developer of Xcode Cloud at Apple, stressed that Xcode Cloud levels the playing field for small developers as well.
“With the wide range of options that exist in setting up workflows, you can really meet the needs of the small developer, the small workshop or the novice in continuous integration, all the way up to the advanced power users.
This ranges from a simple four-step implementation process to integration of Mac apps and tools like Slack and dashboards, thanks to built-in APIs.
It’s not all smooth sailing, however. At WWDC, Apple declined to divulge details about pricing for Xcode Cloud, saying that more information would not be available until the fall. Many developers I spoke with were concerned about this to one degree or another, and it seems to somewhat temper the excitement that many developers feel about the potential of Xcode Cloud.
Questions have also been raised about the value of Xcode Cloud to development teams that create applications for both Apple and other platforms, since Xcode can only be run on Macs. I posed this question to Alex Stevenson-Price, development manager at Plex, because Plex has apps for Mac, Windows, Linux, Android, iOS, and many other systems. He told me that different Plex apps are built by different teams using different tools, so while it’s a great new string in the Apple team’s bow, it won’t do much good for non-Apple teams because they won’t be using Xcode anyway.
If you want the benefits of Xcode Cloud when building an Android app, you’re out of luck.
Of course, you shouldn’t be surprised that Apple isn’t interested in providing tools for competing ecosystems. If you want the benefits of Xcode Cloud when building an Android app, you’re out of luck, but Xcode has always been limited (Apple might say focused) in this regard. This can create problems for developers who have the same app running on both iOS and Android – or any number of other platforms.
Other developers have told me that they will have to wait and see if the supposed benefits of Xcode Cloud actually pay off. Its use for single developers has also been questioned, in part because a number of its features are designed for teams with multiple members.
For example, Lucas Burgstaller, a developer of applications such as Fiery Feeds and Tidur, told me that the usefulness of Xcode Cloud depends on customization.
“While I don’t think I will use it for my personal projects, [because] I think continuous integration is moderately useful at best for the single developer, I will definitely start using it at my main job as head of the iOS team, where we had planned to install something like CI for a year but never got around to it.”
But even though he may not be using all the features, Burgstaller still called Xcode Cloud “finally” an announcement, saying he’s very excited that Apple is adding it to Xcode.
A feature with real potential
For Xcode Cloud is still in its early days. Like many of the updates and new features announced at WWDC 2021, from iOS 15 to MacOS Monterey, it is currently only available to beta testers. Despite some misgivings – and bad memories of the failed 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 with.
In fact, none of these developers said that Xcode Cloud is completely devoid of merits, suggesting that it has something for most people who work on building apps for the Apple ecosystem. If Apple continues to improve it as developers’ needs change, and if its price isn’t egregiously expensive, Apple could end up with Xcode Cloud.
As always, the proof is in the pudding, and much will depend on what state Xcode Cloud ends up in at launch. For many developers, however, its fall release won’t be long in coming.