惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
L
LangChain Blog
B
Blog
阮一峰的网络日志
阮一峰的网络日志
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
D
Docker
WordPress大学
WordPress大学
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
有赞技术团队
有赞技术团队
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog
博客园 - Franky

Daring Fireball

auth.md — Open Protocol for Agent Registration Anthropic's Safety Superpower Kennedy Center removes Trump’s name from building — The Washington Post Private Cloud Compute - Apple Developer Statement on the US government directive to suspend access to Fable 5 and Mythos 5 Every Frame Perfect The Talk Show: Live From WWDC 2026 What is the true story behind Apple’s decision not to roll out "Siri AI" in the EU? This decision is Apple’s and Apple’s only. Because absolutely nothing in the DMA prohibits Apple from rolling out… | Thomas REGNIER | 111 条评论 Due to DMA, Siri AI delayed in EU for iOS 27 and iPadOS 27 Steven Spielberg Answers YOUR Questions Sweet Jeebus, MacOS 27 Golden Gate Removes the Dumb Icons From Menu Items WWDC26 — The Small Things - Oneberri Blog Apple WWDC 2026 June 8: Introducing Siri AI and more Apple’s App Store rolls out personalized recommendations Unlock Autonomous AI Agents with auth.md, Michael Grinich | MCP Night: Agent Mode Keynote From the Annals of People Having Knowledge of the Matter, Siri AI Extensions Edition Apple’s WWDC AI demos looked more real after $250M false ad settlement Craig Federighi details Apple’s collaboration with Google for Siri AI in iOS 27 60 Minutes Correspondents Lesley Stahl, Bill Whitaker, and the Other Guy Will Stay at Show Trump Can Tear Down Statue of Liberty, Says Trump Lawyer Nieman Journalism Lab: Twitter/X Punishes Accounts That Post Links Regarding Those Rumors of Apple Pursuing an Acquisition of Perplexity ‘The Insider’ Lingon - Peter Borg Apps Chrome is Bad Gemini for macOS - your native AI desktop app Nick Bilton Shits the Bed With Pseudoscience-Laden ‘Could Wearable Computers Be as Harmful as Cigarettes?’ New York Times Column Nick Bilton on an Apple Television Set: ‘It’s Not a Matter of if, It’s a Matter of When.’ Instagram 用户 Scott Pelley Road to WWDC 2026: What’s a developer?
SwiftUI Only Makes It Easy to Develop Bad Apps
Sunday, 7 June 2026 · 2026-06-08 · via Daring Fireball

Paulo Andrade, last month, “Using SwiftUI to Build a Mac-Assed App in 2026”:

I recently launched the macOS version of Shopie, an app I first released on the iOS App Store late last year. Shopie helps you keep track of products you’re interested in by letting you create wishlists and notifying you whenever a product’s price, availability, and other details change.

Unlike my other apps, where I typically blend AppKit (or UIKit) with SwiftUI, Shopie is built entirely in SwiftUI. I wanted to keep it that way to maximize code reuse across iOS, iPadOS, and now macOS. This post explores how far SwiftUI can take you on the Mac in 2026, especially if your goal is to build an app that feels truly native to the platform. It’s not meant to be an exhaustive review of SwiftUI on macOS. It’s simply a collection of recipes and issues I ran into while porting Shopie, a fairly small app, and keeping it 100% SwiftUI.

Andrade’s examples are copious. His conclusion is damning:

Apple dropped the ball here. AppKit was ahead of its time and UIKit was a more polished version of AppKit. A serious cross-platform framework that unified the two should have happened long before SwiftUI. Instead, Apple left AppKit to fossilize and then tried to leapfrog the problem.

You can see the result everywhere. SwiftUI is productive, modern, and often delightful, right up until you try to make a really good Mac app. Then suddenly you’re fighting the framework for things the Mac solved 20 years ago.

There’s something really wrong with SwiftUI. Amongst the apps I use, the best example is Apple Journal. Basic stuff that’s worked reliably for decades — some things that heretofore had worked forever — are dangerously broken. If you’re running MacOS 26 Tahoe, open Journal and make a new dummy entry. Type something like “The quick brown fox.” Then double-click on the word “brown” and delete it. Now invoke Undo.

What you expect is for the word “brown” to reappear. What happens is ... the whole sentence disappears. Gone. Invoke Redo and you only get back to “The quick fox.” The word “brown” is just gone forever. It’s nowhere in the Undo stack. That’s just profoundly fucked up. I’ve never seen anything like this with an AppKit app, ever. (I’ve never seen it with a UIKit app either — and the same thing happens on iOS with Journal. It’s just that you notice it less often because we don’t invoke Undo and Redo nearly as often there.)

I actually use the Journal app and I’ve lost entire sentences of text to this incompetent implementation of Undo. Editing text in Journal is dangerous because SwiftUI is so bad at something as fundamental as text editing. AppKit has had this solved since 1989 or so, a decade before Apple reunified with NeXT. And my example here is just one of many. Andrade documents a whole bunch more in his post. [Shopie is a good modern Mac app — you can practically see from reading his post that Andrade’s hands are scarred from dozens of paper cuts.

So while the world is largely focused on Apple’s AI-related announcements at WWDC tomorrow, I’ve got SwiftUI (on all platforms) and Mac-assed Mac development high on my list. Apple’s developer message used to be that it was not just easy to develop apps for their platforms, but that it was easy to develop good idiomatically native apps. You got the correct complex behavior — for things like Undo/Redo — out of the box. That’s still true for AppKit and UIKit, but it’s never been true for SwiftUI, and SwiftUI is now seven years old. That’s too long for any excuses to hold water.