SwiftUI isn’t native and here’s why SwiftUI apps may sometimes feel janky. It ditches the key element that made animations run so smoothly on iOS since the original iPhone: Core Animation. In SwiftUI animations run in-app without CA backing. Block the main thread: SwiftUI ball stalls while UIKit’s keeps moving on the render server.

Sep 15, 2026 · 10:15 PM UTC

54
78
39
1,093
610,743
RelevantRecentLikes
On the other hand, in React Native you absolutely can rely on the marvel of Core Animation-backed animations nitter.cf/O_Pawica/status/209949…
Is this Native or React Native? Both. Core Animation is coming to layout animations in React Native Reanimated. Stay tuned!
4
1
111
28,930
It’s easier to develop a high-performance native app in React Native. SwiftUI has limited functionality, poor layout and animation performance, and DX is mid at best. It’s been discouraging to see it barely improve since released 7 years ago!
5
8
1
131
21,459
💯 also main reason I’ve never been a fan of building react native wrappers of SwiftUI components. Take navigation as an example: react-native-screens is UIKit only
1
43
11,453
In the vast majority of SwiftUI that I’ve written, this has rarely ever been an issue. I would rather keep the ergonomics of SwiftUI and than decide I need yet another abstraction layer for the rare instances when a user may see an animation hitch. Or wrap it in a representable.
1
41
7,769
Does your agent care about the code ergonomics this much too?
1
25
6,907
I’d love to see the source code for this, because I have a feeling you are using a SwiftUI anti-pattern for updating state rather than SwiftUI being bad.
1
2
780
Yikes. Can’t believe they made such a major oversight like that
1
2,387
Not an oversight. It is a trade off for the shape of the animation API that SwiftUI provides (stuff like withAnimation). It simply requires more flexibility from what CA can offer and thus cannot use CA
1
6
2,136
You might be animating incorrectly in SwiftUI... nitter.cf/cifilter/status/210024…
Lot of speculation and misinformation floating around about SwiftUI today! I've done some reverse engineering of all relevant frameworks (including private frameworks), and I've made some interesting discoveries about SwiftUI that disprove a lot of the noise. More soon.
1
11
1,894
It’s noting fancy, just a withAnimation call with repeat. Blocking is done with sleep. Happy to get corrected, but it’s confirmed as expected behavior (perhaps your block handler doesn’t run on the ui thread?)
2
7
988
Can just drop down to UIKit and CA whenever you need to
1
1
1,925
So can you in flutter 🤷
1
1,382
People forget that some of the best “native” engineers are working on react native
1
21
6,778
Yes! Licky to know some of them
2
8
6,354
Wrap a UIView (or custom CALayer) in UIViewRepresentable and bam!
1
1
2,101
yes, but you can also do this in react native or flutter
1
1,601
if this is really it, it's an absolute disgrace
1
3
4,708
It really it’s. But it is nothing else than a trade off for the nice and generic animation api that SwiftUI provides. Core Animation requires you to understand the entire transition before ahead which just isn’t compatible with this API model
1
4,019
serious question: why the fuck did they do this? couldn’t they just… not?
1
4
1,555
Why would you block the main thread though? Coming from Android.
1
5
686
Who the hell would use react native in the world where AI writes code? The best result could be achieved with UKit only and that is what should be used.
413
I thought native dev means you are making the react native / SwiftUI it self. Or you are making software on that level If you only use react native / SwiftUI, you are not native
1
1,862
You must be joking. Any view-state-driven framework would stall if you block the main thread. What is your point here? What do you gain by blocking the main thread?
2
216
SwiftUI is native by definition — it is made by Apple for Apple platforms specifically and is built on top of native components as a higher level of abstraction. Thing is, in this example you are using it wrong. SwiftUI solves specific problem. It gives us a declarative API.
1
7
520
perhaps try not blocking the main thread. use Task and Combine, leave main thread for rendering.
4
260
"SwiftUI is operating at a lower level of abstraction since it does not use CoreAnimation and renders directly, so that means it's less native" Say what??? Both approaches are native!!! Just different. And SwiftUI is at least visually showing you a terrible crime you have committed by blocking the main thread. I would say that regardless of using SwiftUI or UIKit even if technically an animation can complete.
7
1,310
Is this why macOS gets so laggy in information-heavy scenarios, like the wallpaper selection page in Settings or the desktop widget editing screen?
1
1,342
block main thread and the ball freezes. that demo is brutal but clear
402
But this is an anti-pattern/bad practice? If you shift off the main actor, the animation can be just as smooth
1
15
1,750
React Native is native to the same extent as Golang is native.
128
big brain man, why are you blocking the main thread?
36
Just like jetpack compose isn't Native
751
Isn’t this behavior because non ui stuff is being done on the main thread?
73