Jacob Bartlett 🍺
@jacobstechtavern.com
Writing the #1 iOS newsletter on Substack. Turbocharge your Swift career with in-depth weekly articles 🚀 Sign up free today!
join.jacobstechtavern.com
join.jacobstechtavern.com
out to my paid subs by Tuesday 11.
Support my journey to independence by subscribing for free: join.jacobstechtavern.com
Support my journey to independence by subscribing for free: join.jacobstechtavern.com
Jacob's Tech Tavern
Sign up free
join.jacobstechtavern.com
November 3, 2025 at 9:25 PM
out to my paid subs by Tuesday 11.
Support my journey to independence by subscribing for free: join.jacobstechtavern.com
Support my journey to independence by subscribing for free: join.jacobstechtavern.com
concurrency course as a new pillar in why someone should become a paid subscriber. Think like a game where each level is an increasingly difficult puzzle that you have to solve with a different tool, or combination of tools, in Swift Concurrency. With my full focus this week, I'm aiming to get it
November 3, 2025 at 9:25 PM
concurrency course as a new pillar in why someone should become a paid subscriber. Think like a game where each level is an increasingly difficult puzzle that you have to solve with a different tool, or combination of tools, in Swift Concurrency. With my full focus this week, I'm aiming to get it
crazy. I think my potential positive avenues vis-a-vis sponsorship has reduced the intensity with which I'm going to try and muck around with LeetCode. Depends on my runway though.
Spent the last part of the day planning out my “Swift Concurrency Kata” which is going to join in with my
Spent the last part of the day planning out my “Swift Concurrency Kata” which is going to join in with my
November 3, 2025 at 9:25 PM
crazy. I think my potential positive avenues vis-a-vis sponsorship has reduced the intensity with which I'm going to try and muck around with LeetCode. Depends on my runway though.
Spent the last part of the day planning out my “Swift Concurrency Kata” which is going to join in with my
Spent the last part of the day planning out my “Swift Concurrency Kata” which is going to join in with my
Thanks a ton to to Alex Bush and Pierluigi Cifani 🙏
I have an interview with a very legendary figure in the iOS community tomorrow, so I spent the rest of the day prepping the various questions I want to ask.
With the rest of the day, I actually managed to get a gym session in which is
I have an interview with a very legendary figure in the iOS community tomorrow, so I spent the rest of the day prepping the various questions I want to ask.
With the rest of the day, I actually managed to get a gym session in which is
November 3, 2025 at 9:25 PM
Thanks a ton to to Alex Bush and Pierluigi Cifani 🙏
I have an interview with a very legendary figure in the iOS community tomorrow, so I spent the rest of the day prepping the various questions I want to ask.
With the rest of the day, I actually managed to get a gym session in which is
I have an interview with a very legendary figure in the iOS community tomorrow, so I spent the rest of the day prepping the various questions I want to ask.
With the rest of the day, I actually managed to get a gym session in which is
vs Swift for Android post. Fortunately/unfortunately, they team had just merged in a way to interop Async/Await with swift-java. This dramatically improves the ergonomics, but I had to re-write my whole f*cking project.
Got it out in time. Managed to get some people to proofread my stuff.
Got it out in time. Managed to get some people to proofread my stuff.
November 3, 2025 at 9:25 PM
vs Swift for Android post. Fortunately/unfortunately, they team had just merged in a way to interop Async/Await with swift-java. This dramatically improves the ergonomics, but I had to re-write my whole f*cking project.
Got it out in time. Managed to get some people to proofread my stuff.
Got it out in time. Managed to get some people to proofread my stuff.
Be among the first to read my exclusive in-depth comparison: blog.jacobstechtavern.com/p/swift-for-...
Swift for Android vs. Kotlin Multiplatform
The "Xbox vs. Playstation" of the multiplatform era
blog.jacobstechtavern.com
November 3, 2025 at 5:01 PM
Be among the first to read my exclusive in-depth comparison: blog.jacobstechtavern.com/p/swift-for-...
SwiftUI can run into very painful performance problems when dealing with infinite scrolling feeds. Today, we will investigate these performance problems, understand why they happen, and explore techniques to mitigate them, making your SwiftUI performance buttery smooth 🧈.
November 3, 2025 at 8:01 AM
SwiftUI can run into very painful performance problems when dealing with infinite scrolling feeds. Today, we will investigate these performance problems, understand why they happen, and explore techniques to mitigate them, making your SwiftUI performance buttery smooth 🧈.
To achieve the maximum 120Hz refresh rate, the main thread has to execute all layout computation and rendering in 8.3ms to avoid a frame drop: the dreaded hitch. With system overhead, you’re lucky to get 5ms for this work.
November 3, 2025 at 8:01 AM
To achieve the maximum 120Hz refresh rate, the main thread has to execute all layout computation and rendering in 8.3ms to avoid a frame drop: the dreaded hitch. With system overhead, you’re lucky to get 5ms for this work.
Here’s the trace showing these dropped frames and micro-hangs. Overall, though, it wasn’t terrible considering the unfair example I used (with random cell heights).
See the full article here: blog.jacobstechtavern.com/p/swiftui-sc...
See the full article here: blog.jacobstechtavern.com/p/swiftui-sc...
SwiftUI Scroll Performance: The 120FPS Challenge
Squeezing high performance from the magic
blog.jacobstechtavern.com
November 2, 2025 at 5:02 PM
Here’s the trace showing these dropped frames and micro-hangs. Overall, though, it wasn’t terrible considering the unfair example I used (with random cell heights).
See the full article here: blog.jacobstechtavern.com/p/swiftui-sc...
See the full article here: blog.jacobstechtavern.com/p/swiftui-sc...
If you programmatically scroll to a specific cell way off-screen, SwiftUI suddenly has to run all this layout computation, causing a big performance hit.
With dynamically-sized cells, we see a visible degradation in performance, with several dropped frames.
With dynamically-sized cells, we see a visible degradation in performance, with several dropped frames.
November 2, 2025 at 5:02 PM
If you programmatically scroll to a specific cell way off-screen, SwiftUI suddenly has to run all this layout computation, causing a big performance hit.
With dynamically-sized cells, we see a visible degradation in performance, with several dropped frames.
With dynamically-sized cells, we see a visible degradation in performance, with several dropped frames.
LazyVStack dynamically estimates geometry based on the number of views.
What does this mean practically? Let’s imagine your views are all dynamically sized, or your layout contains cells with varying heights.
What does this mean practically? Let’s imagine your views are all dynamically sized, or your layout contains cells with varying heights.
November 2, 2025 at 5:02 PM
LazyVStack dynamically estimates geometry based on the number of views.
What does this mean practically? Let’s imagine your views are all dynamically sized, or your layout contains cells with varying heights.
What does this mean practically? Let’s imagine your views are all dynamically sized, or your layout contains cells with varying heights.
Read The Meme that gave me Imposter Syndrome: A primer on type attributes in functions today! blog.jacobstechtavern.com/p/the-meme-t...
The Meme that gave me Imposter Syndrome
A primer on type attributes in functions
blog.jacobstechtavern.com
November 2, 2025 at 11:00 AM
Read The Meme that gave me Imposter Syndrome: A primer on type attributes in functions today! blog.jacobstechtavern.com/p/the-meme-t...
to stop touching the ads but dreams of paid acquisition consume my every waking moment.
Support me pls my family is starving: join.jacobstechtavern.com
Support me pls my family is starving: join.jacobstechtavern.com
Jacob's Tech Tavern
Sign up free
join.jacobstechtavern.com
October 31, 2025 at 7:40 PM
to stop touching the ads but dreams of paid acquisition consume my every waking moment.
Support me pls my family is starving: join.jacobstechtavern.com
Support me pls my family is starving: join.jacobstechtavern.com