Re: Should SwiftUI become Open-Source? Plus Headless Xcode & Software Factories
Hi everyone!
In issue 97 of this newsletter, I asked “Is the IDE dead”. At that time, I did most of my coding in a chat that sat in the sidebar of my IDE (be it one of the many VS Code-based IDEs or Xcode), and I honestly believed I’d keep working like that.
These days, I spend most of my time in coding agents - either terminal-based ones like OpenCode, Claude Code, or Antigravity CLI, or GUIs like OpenChamber, Antigravity, or others. And sometimes, I even use Xcode’s coding agent. If you’re following me on X/Twitter, you might have read the spirited debate I had with the Xcode team lead and their former designer about whether or not to put the agent in an editor, in a sidebar, or letting the user choose.
In what is a pretty surprising development, Apple has started to open up Xcode and its agentic coding experience. It started with an officially documented way to export Xcode’s agent skills, and now they’ve shipped a standalone MCP server that can be run without launching Xcode.
Is this the beginning of developers being able to assemble the agentic coding environment of their dreams? Will we end up having a bunch of agentic coding distros, like we have Linux distros?
I wholeheartedly agree with Max - SwiftUI should be open sourced. Not only would it help developers (and coding agents) understand if what seems to be a bug actually is a bug in SwiftUI or if you’re actually holding it wrong. It would also enable the community to fix bugs or even implement features.
How do you ask an AI questions about a book you’re reading without getting major plot twists spoiled?
In season 2 of our livestreaming series Code, Commit, Deploy, Repeat, Marina and I will build an app that does just that.
Join us on the Firebase YouTube channel on August 25th, at 19:30 CEST, to see if, at the end of the stream, we’ll be able to say “I’m in the third chapter of A Study in Scarlet, can you catch me up to what happened so far?”
Xcode 27 beta 5 now includes a headless MCP server. Artem Novichkov demonstrates that you can actually use it to build a fully functional multi-platform app without ever having to open Xcode. Tools like FlowDeck and XcodeBuildMCP made this possible before, but it’s quite astonishing to see Apple themselves giving us all the individual components to build the agentic development environment of our dreams.
If you’re planning to use Xcode’s new headless MCP server in your agentic coding setup, Artem put together a great overview of all the tools it supports.
Engineering is about solving problems. The code you write only happens to be the medium we use (most of the time) to express our solutions in. If you agree with this premise, AI writing the software now is much less of an attack on the profession of software engineers.
It’s just a change of medium.
In this article, David Zhang describes how the entire software development lifecycle assumes you can read the code we produce. However, you already ship code that you didn’t read - the SDKs and libraries you compile against and link to your binaries. You’ve learned to trust them (and, of course, if they’re open source, you can read their source - but how many of the Swift packages you’re using in your apps did you actually read in their entirety?).
David argues that the right way to deal with this new world is to treat the generated code as a black box.
Obviously not by ignoring how it works, but by specifying the behaviour and asking the agent to return a ledger of all decisions made so you can review them.
Ever wondered in which session in which coding agent you worked on a specific feature, or discussed a complicated issue?
This tool shows you all your (local!) conversations across all coding agents, and allows you to search and resume the respective session - super useful!
I have a love/hate relationship with AI code reviewers. I love that they’re capable of finding issues both my coding agent and I have missed in our local review.
But I hate that they always, always, find one more thing. I bet they would even find bugs in a simple “Hello world” program 😅
This tool by Paul helps manage agentic review processes. It’s got a CLI that is more efficient at handling review comments, and three skills for dealing with human and bot reviews.
Captive portals are the bane of every traveller. You can’t access the internet without acknowledging the TOS or even signing in, but the darned thing won’t show up.
Short of figuring out the router’s IP address, use a memorable tool like this.
The unit testing framework JUnit was famously implemented on a transatlantic flight. Back then, there was no WiFi on planes, so that might have helped with not being distracted. But according to Dmitrii Kotelnikov, the low hum (aka brown noise) of the plane interior might have also played a major role.
If you truly want to understand something, you should write about it. I think it has to do with the different speed at which you’re thinking and with which you can type (yes - I recommend typing instead of voice typing for maximum effect).
It’s easy to believe you understand something when you’re just turning it over in your head. When you have to condense that down into words, you find out exactly how much you do or don’t understand.
I couldn’t agree more with Sean Goedecke. Want to learn something really thoroughly? Go write a blog post.
Here is your updated list of conferences for iOS, Swift, and AI.
A quick schedule update: unfortunately, Swift Island won’t be happening this year. On the bright side, NSSpain is returning to Logroño this September! Check out the updated lineup below.