Natalia Panferova
natpanferova@mastodon.social
<p>Software Engineer | iOS | macOS | Swift | SwiftUI | Previously SwiftUI at Apple | Author of books for Swift developers: <a href="https://books.nilcoalescing.com" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">books.nilcoalescing.com</span><span class="invisible"></span></a></p>
Posts
-
View post
A little preview of Breve on iPhone Duo: https://apps.apple.com/app/apple-store/id6747303642
-
View post
Only just noticed that Breve is featured in Great Apps Updated for iOS 27 on the App Store in New Zealand 😅 https://apps.apple.com/nz/app/breve-coffee-recipes/id6747303642
-
View post
SwiftUI’s new onHingeChange() modifier in iOS 27.1 reports the hinge angle as iPhone Duo folds and unfolds, which is great for interactions and visual effects that respond to the folding motion itself. In my new post, I show how we can use it to drive an animation: https://nilcoalescing.com/blog/DrivingSwiftUIAnimationsWithTheHingeAngleOnIPhoneDuo/ #iOSDev #SwiftUI
-
View post
AI coding agents often reach for onHingeChange() whenever they need to adapt a SwiftUI interface to iPhone Duo, including for layout, where it causes unnecessary updates and doesn&#39;t tell the view where the fold is. To help with this, SwiftFairy includes rules in its SwiftUI Layout &amp; Resizability Scroll that guide agents to the most appropriate API for each case: https://tools.nilcoalescing.com/swiftfairy/swiftui-layout/ #iOSDev #SwiftUI
-
View post
Just released an update to Whio with better code highlighting and language detection, improvements to book importing, PDF loading, and accessibility: https://apps.apple.com/app/id6813818431 Made some pricing adjustments too based on feedback! You can learn more about Whio here: https://nilcoalescing.com/apps/whio/ #iOSDev #IndieDev
-
View post
I&#39;m so excited to share that my coffee app Breve is featured as App of the Day on the App Store in the US: https://apps.apple.com/us/story/id6812169592 It comes with a lovely editorial story about the app and me as the developer 😀 I couldn&#39;t be happier! #AppOfTheDay #IndieDev #AppStore #Coffee #iOSDev
-
View post
To diagnose performance issues caused by the structure of ForEach content in SwiftUI's List and lazy stacks, we can enable slow-path logging in Xcode. My new post shows how to set it up, interpret the diagnostic messages, and address the reported issues: https://nilcoalescing.com/blog/DiagnosingForEachPerformanceIssuesInSwiftUILazyContainers/ #iOSDev #SwiftUI
-
View post
SwiftUI introduced a range of new toolbar customization APIs in iOS 27. They give us more control over how toolbars adapt as apps become resizable and appear in more contexts. I explored all the new additions, with examples showing how each one works: https://nilcoalescing.com/blog/AdaptiveSwiftUIToolbarsInIOS27/ #iOSDev #SwiftUI
-
View post
I&#39;ve released an update to my book &quot;The SwiftUI Way&quot;! 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
-
View post
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&#39;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
-
View post
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
-
View post
Our app &quot;Strolly: Generated Daily Walks&quot; got an update! You can now indicate the areas you prefer to walk in and the areas you&#39;d like to avoid, and future generated walks will take your preferences into account. Thank you @hishnash 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 #IndieDev #iOSDev
-
View post
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
-
View post
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/
-
View post
When storing custom values in properties of an @Observable, it’s recommended to make them Equatable to minimize SwiftUI view updates. I’ve just published a post looking at how @Observable handles equal assignments and why Equatable conformance matters: https://nilcoalescing.com/blog/EquatablePropertiesInObservableClasses/ #SwiftUI #iOSDev
-
View post
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
-
View post
Just noticed that my talk &#39;The Evolution of SwiftUI&#39; from try! Swift Tokyo got featured in Tech Talks Weekly 🙌 https://www.techtalksweekly.io/p/issue-101-i-hate-ai-software-dev
-
View post
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 &#39;The SwiftUI Way&#39; book, and new content this month: https://nilcoalescing.com/newsletter/2026-04-29/
-
View post
We can easily animate insertion and removal of SF Symbols in SwiftUI with symbol effect transitions. We don&#39;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/ #iOSDev #SwiftUI
-
View post
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
-
View post
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 `if` statement 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-...
-
View post
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
-
View post
Got home from Japan and try! Swift Tokyo, the trip was amazing! It was so good to meet the local iOS community and explore Tokyo a bit. Thank you so much for having me ☺️ #tryswift
-
View post
It&#39;s my birthday 🎊 To celebrate and to continue the tradition I&#39;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
-
View post
I released a new book 🎉 SwiftUI Fundamentals combines my knowledge and experience from using SwiftUI since its release and working on its source code at Apple to give you a solid understanding of the most important aspects of the framework: https://books.nilcoalescing.com/swiftui-fundamentals #SwiftUI #iOSDev #Swift
-
View post
Last week I had an amazing opportunity to be part of @ARCticConference 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!
-
View post
Today was the last day of the try! Swift Tokyo conference and also the day of my talk. I think it went well 😌 Thank you so much to everyone involved for such an amazing experience! #tryswift
-
View post
The March issue of the Nil Coalescing newsletter has been sent out and is now available online. I shared details on my new book &quot;The SwiftUI Way&quot;, talk recordings from the iOS conference in Singapore and plans for April: https://nilcoalescing.com/newsletter/2026-03-27/ #iOSDev #SwiftUI
-
View post
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/
-
View post
SwiftUI is approachable at first, but in real-life projects it&#39;s easy to make mistakes that can compromise app stability and performance. My new book &quot;The SwiftUI Way&quot; will help you recognize the most common anti-patterns and choose better alternatives: https://books.nilcoalescing.com/the-swiftui-way #iOSDev #SwiftUI