Re: Apple says: Stop splitting your SwiftUI views this way
Hi everyone,
It’s been a while since I last wrote! I’ve just returned from my summer vacation - taking a break was much needed, and I’ve returned recharged and full of new ideas (two of them are books, and another one is about an app for book readers).
Before I went on vacation, I had the opportunity to attend WWDC 26. I didn’t get a golden ticket, but following Daniel’s recommendation, I joined the community events put on by CommunityKit and others. What an amazing experience! It was great to see so many friends from around the developer community, make new friends, and run into super enthusiasticFirebase users. I even got to meet the guy who actually printed a physical copy of the Swift Language Guide PDF I typeset!
With the deeper integration of coding agents into Xcode 27, the use of agentic coding in the iOS ecosystem has become more pervasive than ever before. I’ve been fine-tuning my own agentic coding setup - I now have an entire fleet of agents working on my projects, and it’s been great so far.
One of the first things I do when setting up a new project is to add a bunch of agent skills - for example, Paul Hudson’s Swift and SwiftUI skills, the Firebase skills, and a few others. But one thing had been bugging me - none of the SwiftUI skills support the principles of Progressive Disclosure. So I implemented my own skills - Stratos! It helps my agents build SwiftUI views that look and feel like Apple built them.
In this issue of the newsletter, I’ve included a couple of excellent articles which discuss how to build better SwiftUI views. We now have a better understanding of how Apple thinks about good SwiftUI architecture, thanks to the agent skills they published as part of Xcode 27.
When reading Emre’s article about this, I found myself wondering about the target audience for the blog posts we write. So let me ask you - do you still code manually, or do you let your agent(s) do most / all of the work? Hit reply - I read and reply to every single message you send me!
The @Entry macro makes working with the SwiftUI environment a lot more convenient, but it’s got some potential for shooting yourself in the foot.
Natalia explains the problem and shows how to avoid it.
The SwiftUI environment is one of the backbones of SwiftUI, and knowing how to use it properly is a superpower. I highly recommend reading Natalia’s article.
This is a great article about API design specifically for SwiftUI views. Starting from first principles, Alexander Weiß explains how to build custom SwiftUI views that look, feel, and work like Apple built them.
Alexander covers a couple of key techniques you should know about, such as crafting flexible yet focused initializers. He also explains how to implement view styles and discusses when to prefer view styles over plain view modifiers.
Using computed properties to split up large SwiftUI views is a refactoring that many of us have been using in our own apps (and yes - I’ve recommended this in several of my talks).
Many of those skills do a great job, but there is one issue with all of them - they focus too much on the nitty-gritty details of Swift and SwiftUI. They lack the skill to help with API design. Specifically API design that follows the principles of Progressive Disclosure.
Stratos is a suite of AI agent skills designed to teach your AI coding assistant how to build beautiful, high-end Swift and SwiftUI APIs.
Stratos encodes the core philosophy of Progressive Disclosure: ensuring that your APIs are simple and intuitive by default, yet fully capable of unfolding their complexity when you and your users need it.
You don’t need to be an SDK developer to benefit from this set of skills - any SwiftUI view in your app is a custom SwiftUI view, and you can do yourself a favor by implementing it in a way that makes it look, feel, and work like Apple implemented it.
The Firebase team has been working on bringing Gemini to Apple’s Foundation Models (AFM) framework, enabling seamless integration between local Apple silicon and server-side Gemini intelligence.
I was on the ground at WWDC 26 to talk about this at the AiOS meet-up and record a special video walkthrough showing exactly how it works under the hood.
Check out the blog post on the Firebase Blog, and watch the WWDC special edition video below!
When Apple launched the Foundation Models framework last year, it was just for their own on-device model, which has a very limited context window size. In the iOS 27 beta 3, they increased the context window size to 8192—double the original! While it might not sound like much, it’s actually large enough to summarize the Apple App Store review guidelines.
But the really big deal is the integration with other models. Anyone can now implement the LanguageModel protocol to make any model - be it on-device or cloud-based - accessible to the Foundation Model framework. So far, we’ve seen implementations from Claude and Google.
If you don’t have the time (or the tokens) to implement a LanguageModel adapter for your favorite model, you can now use the ChatCompletionsLanguageModel - brought to you by the open source Foundation Models framework utilities. It allows you to connect to any hosted model that supports the Chat Completions REST protocol, just like that.
The package includes a bunch of other cool utilities, such as tools for managing the session state and context window using different strategies.
DynamicProfiles are one of the Foundation Models framework’s hidden superpowers - they essentially form the basis for implementing agentic experiences. Artem explains how they work by way of implementing an “Economy switch” that can help your app save tokens (and money).
This is a must-read for anyone interested in the internal workings of Apple’s silicon. Manjeet has done an incredible job of reverse-engineering the M4 Neural Engine, providing insights that are usually locked behind NDA walls.
A brand new Tom Ford leather jacket of the exact same model retails for around $9,000, but one actually worn by Nvidia CEO Jensen Huang has sold at a Sotheby’s auction for a staggering $960,000.
I’ve worn a black leather jacket in a bunch of my own videos. If you check out the Firebase YouTube channel and my own channel, you can easily spot some fun thumbnails featuring the jacket. And yes - if you were wondering - I did this as a cheeky homage to Jensen and other public AI figures.
Not sure mine would fetch quite as much money as Jensen’s - but if you’d like to make an offer, just hit reply 😂