//
sign in
Profile
by @danabra.mov
Profile
by @dansshadow.bsky.social
Profile
by @jimpick.com
AviHandle
by @danabra.mov
AviHandle
by @dansshadow.bsky.social
AviHandle
by @katherine.computer
EventsList
by @katherine.computer
ProfileHeader
by @dansshadow.bsky.social
ProfileHeader
by @danabra.mov
ProfileMedia
by @danabra.mov
ProfilePlays
by @danabra.mov
ProfilePosts
by @danabra.mov
ProfilePosts
by @dansshadow.bsky.social
ProfileReplies
by @danabra.mov
Record
by @atsui.org
Skircle
by @danabra.mov
StreamPlacePlaylist
by @katherine.computer
+ new component
Profile
Loading...
Software Engineer | iOS | macOS | Swift | SwiftUI | Previously SwiftUI at Apple | Author of books for Swift developers: https://books.nilcoalescing.com
Natalia Panferova









Loading...
I've built a macOS app for designing mesh gradients. Tintly generates gradients from pasted color palettes and lets you adjust control points visually. It can export images, SVGs, CSS, and SwiftUI code. It's now available on the Mac App Store: apps.apple.com/us/app/tintl... #macOSDev #IndieDev
I wrote about two additions to SwiftUI's navigation transition APIs in iOS 27. The new crossFade transition provides an alternative presentation animation, while AnyNavigationTransition makes it possible to choose a transition dynamically at runtime: nilcoalescing.com/blog/SwiftUI...
My WWDC26 book sale will be running for a few more days!
πŸ”§ πΌπ‘›π‘–π‘‘π‘–π‘Žπ‘™π‘–π‘§π‘–π‘›π‘” @π‘‚π‘π‘ π‘’π‘Ÿπ‘£π‘Žπ‘π‘™π‘’ π‘€π‘–π‘‘β„Ž @π‘†π‘‘π‘Žπ‘‘π‘’ 𝑖𝑛 π‘‹π‘π‘œπ‘‘π‘’ 27 by Natalia Panferova (@natpanferova.bsky.social) @π‘†π‘‘π‘Žπ‘‘π‘’ is now a macro with lazy evaluation for @π‘‚π‘π‘ π‘’π‘Ÿπ‘£π‘Žπ‘π‘™π‘’ classes. No more wasted init cycles or optional workarounds. #Swift #SwiftUI nilcoalescing.com/blog/Initial...
I've just released an update for @brevecoffeeapp.bsky.social! It adds Home Screen widgets with daily coffee suggestions, recipe sharing, improved search, and better VoiceOver support β˜•οΈ
My WWDC26 book sale will be running for a few more days!
iOS 27 extends support for swipe actions beyond List to any scroll container using the new swipeActionsContainer() modifier in SwiftUI: nilcoalescing.com/blog/CustomS...
πŸ“’ π—œπ˜€π˜€π˜‚π—² 𝟡𝟲 π—Άπ˜€ π—Όπ˜‚π˜! Fresh insights: πŸ”§ @π‘†π‘‘π‘Žπ‘‘π‘’ π‘šπ‘Žπ‘π‘Ÿπ‘œ 𝑖𝑛 π‘‹π‘π‘œπ‘‘π‘’ 27 πŸ’» π‘†π‘–π‘šπ‘’π‘™π‘Žπ‘‘π‘œπ‘Ÿ π‘Ÿπ‘’π‘›π‘‘π‘–π‘šπ‘’π‘  π‘£π‘–π‘Ž 𝐢𝐿𝐼 πŸ€– π‘‹π‘π‘œπ‘‘π‘’ 27 π‘Žπ‘”π‘’π‘›π‘‘ π‘ π‘˜π‘–π‘™π‘™π‘  ⚑ 𝐴𝑔𝑒𝑛𝑑𝑖𝑐𝑆𝑀𝑖𝑓𝑑 🐍 π‘“π‘š 𝐢𝐿𝐼 πŸ–₯️ πΌπ‘›π‘ π‘π‘’π‘π‘‘π‘œπ‘Ÿ 𝐺𝑒𝑖𝑑𝑒𝑙𝑖𝑛𝑒𝑠 πŸ“ π‘Šπ‘Šπ·πΆ26 𝑑𝑙;𝑑𝑀 πŸ“œ πΏπ‘Žπ‘§π‘¦ π‘ π‘‘π‘Žπ‘π‘˜π‘  & π‘ π‘π‘Ÿπ‘œπ‘™π‘™π‘–π‘›π‘” #Swift #iOSDev ios-newsletter.snappmobile.io/issues/2026-...
Learn the recommended ways to initialize and store Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly: nilcoalescing.com/blog/Initial...
In iOS 27 we can add swipe actions to items in any scroll container, not just List, by applying the new swipeActionsContainer() modifier to the wrapping ScrollView. I wrote a post with some examples: nilcoalescing.com/blog/CustomS... #WWDC26 #iOSDev #SwiftUI
9h
2d
1d
1d
1d
2d
2d
3d
4d
5d
SwiftUI now includes CrossFadeNavigationTransition, a built-in cross-fade navigation transition, and AnyNavigationTransition, a type-erased wrapper that allows transitions to be selected dynamically a...
nilcoalescing.com
Navigation transition updates in SwiftUI on iOS 27
SwiftUI's @State changes from a property wrapper to a macro in Xcode 27, gaining lazy evaluation of the initial value and fixing unnecessary @Observable model initialization on view recreation.
nilcoalescing.com
Initializing @Observable classes with the @State macro in Xcode 27
iOS 27 extends support for swipe actions beyond List to any scroll container using the new swipeActionsContainer() modifier.
nilcoalescing.com
Hello again!
Custom scroll layouts with swipe actions in SwiftUI on iOS 27
iOS Newsletter Issue 96
ios-newsletter.snappmobile.io
Learn the recommended ways to initialize and store @Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly.
nilcoalescing.com
Initializing @Observable classes within the SwiftUI hierarchy
iOS 27 extends support for swipe actions beyond List to any scroll container using the new swipeActionsContainer() modifier.
nilcoalescing.com
Custom scroll layouts with swipe actions in SwiftUI on iOS 27
Natalia Panferova
Natalia Panferova
Natalia Panferova
Snapp iOS Weekly
Natalia Panferova
Natalia Panferova
Nil Coalescing
Snapp iOS Weekly
Nil Coalescing
Natalia Panferova
My annual WWDC book sale has started! All my Swift and SwiftUI books, including my most recent book, The SwiftUI Way, are now 30% off! You can learn more about the available books and bundles on my website: books.nilcoalescing.com #iOSDev #SwiftLang #SwiftUI
Breve v1.2 is now live! You can now get daily coffee suggestions right on your Home Screen with the new widgets and share your favorite coffee recipes from the app with friends! Get it on the App Store: apps.apple.com/us/app/breve... #iOSDev #IndieDev #Coffee
My annual WWDC book sale has started! All my Swift and SwiftUI books, including my most recent book, The SwiftUI Way, are now 30% off! You can learn more about the available books and bundles on my website: books.nilcoalescing.com #iOSDev #SwiftLang #SwiftUI
14d
1d
14d
Natalia Panferova
Breve
Natalia Panferova