Natalia Panferova
Software Engineer | iOS | macOS | Swift | SwiftUI | Previously SwiftUI at Apple | Author of books for Swift developers: https://books.nilcoalescing.com
I’ve been wanting to explore and document SwiftUI’s blend modes for a while. I finally worked through all 21 of them, with visuals and practical examples showing how each one works and when it can be useful: https://nilcoalescing.com/blog/BlendModesInSwiftUI/
#iOSDev #SwiftUI
Our app "Strolly: Generated Daily Walks" got an update! You can now indicate the areas you prefer to walk in and the areas you'd like to avoid, and future generated walks will take your preferences into account. Thank you @hishnash@mastodon.social for working on it!
Strolly 1.6 is now available on the App Store: https://apps.apple.com/us/app/strolly-generated-daily-walks/id6480581550
SwiftUI has three similarly named grouping modifiers: geometryGroup(), compositingGroup() and drawingGroup(). If, like me, you sometimes forget which one does what, I’ve just published a guide explaining how they differ and when to use each one: https://nilcoalescing.com/blog/GeometryCompositingAndDrawingGroupsInSwiftUI/
#iOSDev #SwiftUI
My new SwiftUI book is finally out! 🎉
I wrote "The SwiftUI Way" for developers who feel like they are fighting the framework as their projects grow in complexity. The book will help you align your code with SwiftUI's internal expectations to avoid common pitfalls.
I've released an update to my book "The SwiftUI Way"! It expands the coverage of SwiftUI data flow, view updates, and performance, and includes new guidance for changes introduced in Xcode 27: https://books.nilcoalescing.com/the-swiftui-way
#iOSDev #SwiftUI
SwiftUI's List is only lazy when SwiftUI can determine how many views a ForEach element resolves to without evaluating the closure.
Two common patterns prevent this:
- Using an
ifstatement inside ForEach - Wrapping rows in AnyView
In both cases, SwiftUI evaluates the ForEach closure for every element before any rows are displayed.
You can learn more in the free sample chapter of my book "The SwiftUI Way": https://books.nilcoalescing.com/the-swiftui-way/building-a-performant-and-stable-interface/maximizing-the-performance-of-dynamic-lists/
Knowing which SwiftUI modifiers to reach for when styling the macOS window toolbar is not always obvious, and similar appearances can often be achieved in more than one way. I put together a reference for the different ways to do it on macOS 26: https://nilcoalescing.com/blog/AGuideToMacOSToolbarStylesInSwiftUI/
#macOSDev #SwiftUI
One of my favorite features in Tintly is the ability to easily reorganize colors for quick experimentation when designing a gradient. In v1.1, it's also possible to select multiple points on the canvas and swap or shuffle their colors for a more controlled change: https://apps.apple.com/us/app/tintly-mesh-gradient-editor/id6766786609
#IndieDev #macOSDev
The July issue of the Nil Coalescing newsletter is out! It includes our trip to the /dev/world on tour conference, The SwiftUI Way book update, and a catalog of our recent Swift and SwiftUI blog posts. You can read it online: https://nilcoalescing.com/newsletter/2026-07-29/
We can easily animate insertion and removal of SF Symbols in SwiftUI with symbol effect transitions. We don't even need to apply an implicit animation with the animation(_:value:) modifier or wrap the state modification in a withAnimation {} call.
You can learn more about different ways to animate SF symbols in my blog post: https://nilcoalescing.com/blog/AnimatingSFSymbolsInSwiftUI/
It's my birthday 🎊 To celebrate and to continue the tradition I'm doing a special book sale just for today! You can get any of my Swift and SwiftUI books and bundles with a 20% discount using the coupon code BD2026 applied at checkout: https://books.nilcoalescing.com
#iOSDev #Swift #SwiftUI
Published a new YouTube video covering some advanced techniques for working with Optionals in Swift. I shared these as part of my presentation "Swift's Hidden Gems" at the @ARCticConference@mastodon.social and many developers were surprised.
▶️ https://youtu.be/qgDIOrKnmuw
#Swift #iOSDev
SwiftUI is approachable at first, but in real-life projects it's easy to make mistakes that can compromise app stability and performance.
My new book "The SwiftUI Way" will help you recognize the most common anti-patterns and choose better alternatives: https://books.nilcoalescing.com/the-swiftui-way
I wrote a post on how we can embed SF Symbols in Text and style them with modifiers in SwiftUI by leveraging LocalizedStringKey interpolation: https://nilcoalescing.com/blog/EmbeddingSFSymbolsInSwiftUIText/
#iOSDev #SwiftUI
Last week I had an amazing opportunity to be part of @ARCticConference@mastodon.social and present a talk on lesser known Swift language features. I really enjoyed the conference and my stay in Lapland ❄️ ☃️ 🦌 Thank you to all the organizers, speakers and attendees!
The onChange() modifier in SwiftUI has gone through some API changes since it was introduced. I wrote an overview of the modern variants, including how to access old and new values, and trigger the action on initial appearance: https://nilcoalescing.com/blog/OverviewOfonChangeInSwiftUI
#iOSDev #SwiftUI
The recording of my talk from try! Swift Tokyo is already available on YouTube! I shared my perspective on what drives change in SwiftUI, how new APIs come to life, and why we should try to keep up with the changes: https://www.youtube.com/watch?v=SQ-bn9iC5gw
#tryswift #iosdev #swiftui
Just noticed that my talk 'The Evolution of SwiftUI' from try! Swift Tokyo got featured in Tech Talks Weekly 🙌
https://www.techtalksweekly.io/p/issue-101-i-hate-ai-software-dev
The April issue of the Nil Coalescing newsletter has been sent out and is now available online 📬
I shared links to talks from try! Swift Tokyo, the reception of 'The SwiftUI Way' book, and new content this month: https://nilcoalescing.com/newsletter/2026-04-29/
Excited to be attending try! Swift Tokyo in just two weeks and giving a talk on the evolution of SwiftUI from my perspective, as someone who has worked with the framework from the very first release and also contributed to its development at Apple. See you in Tokyo!
https://tryswift.jp/en/
The March issue of the Nil Coalescing newsletter has been sent out and is now available online. I shared details on my new book "The SwiftUI Way", talk recordings from the iOS conference in Singapore and plans for April: https://nilcoalescing.com/newsletter/2026-03-27/
#iOSDev #SwiftUI




