//
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...
πŸ“’ π—œπ˜€π˜€π˜‚π—² 𝟡𝟲 π—Άπ˜€ π—Όπ˜‚π˜! Fresh insights: πŸ”§ @π‘†π‘‘π‘Žπ‘‘π‘’ π‘šπ‘Žπ‘π‘Ÿπ‘œ 𝑖𝑛 π‘‹π‘π‘œπ‘‘π‘’ 27 πŸ’» π‘†π‘–π‘šπ‘’π‘™π‘Žπ‘‘π‘œπ‘Ÿ π‘Ÿπ‘’π‘›π‘‘π‘–π‘šπ‘’π‘  π‘£π‘–π‘Ž 𝐢𝐿𝐼 πŸ€– π‘‹π‘π‘œπ‘‘π‘’ 27 π‘Žπ‘”π‘’π‘›π‘‘ π‘ π‘˜π‘–π‘™π‘™π‘  ⚑ 𝐴𝑔𝑒𝑛𝑑𝑖𝑐𝑆𝑀𝑖𝑓𝑑 🐍 π‘“π‘š 𝐢𝐿𝐼 πŸ–₯️ πΌπ‘›π‘ π‘π‘’π‘π‘‘π‘œπ‘Ÿ 𝐺𝑒𝑖𝑑𝑒𝑙𝑖𝑛𝑒𝑠 πŸ“ π‘Šπ‘Šπ·πΆ26 𝑑𝑙;𝑑𝑀 πŸ“œ πΏπ‘Žπ‘§π‘¦ π‘ π‘‘π‘Žπ‘π‘˜π‘  & π‘ π‘π‘Ÿπ‘œπ‘™π‘™π‘–π‘›π‘” #Swift #iOSDev ios-newsletter.snappmobile.io/issues/2026-...
2d
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...
πŸ”§ πΌπ‘›π‘–π‘‘π‘–π‘Žπ‘™π‘–π‘§π‘–π‘›π‘” @π‘‚π‘π‘ π‘’π‘Ÿπ‘£π‘Žπ‘π‘™π‘’ π‘€π‘–π‘‘β„Ž @π‘†π‘‘π‘Žπ‘‘π‘’ 𝑖𝑛 π‘‹π‘π‘œπ‘‘π‘’ 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...
4d
iOS 27 extends support for swipe actions beyond List to any scroll container using the new swipeActionsContainer() modifier in SwiftUI: nilcoalescing.com/blog/CustomS...
1d
2d
My WWDC26 book sale will be running for a few more days!
My WWDC26 book sale will be running for a few more days!
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 β˜•οΈ
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
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
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...
Snapp iOS Weekly
Snapp iOS Weekly
2d
2d
Nil Coalescing
1d
4h
5d
Nil Coalescing
1d
Natalia Panferova
Natalia Panferova
Natalia Panferova
Natalia Panferova
Natalia Panferova
Natalia Panferova
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
Hello again!
ios-newsletter.snappmobile.io
iOS Newsletter Issue 96
Navigation transition updates in SwiftUI on iOS 27
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
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
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
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
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
14d
14d
1d
Natalia Panferova
Natalia Panferova
Breve