objc.io retweeted
Swift Talk 320
Custom Components: Introduction 🛒
We're joined by Kasper from @movingpartsio, who shows us how to build an accessible and styleable stepper control with an API that feels native.
This is a public episode, enjoy! 😊
talk.objc.io/episodes/S01E32…
Swift Talk 320 — Custom Components: Introduction
We’re joined by Kasper to take a look at building custom components, beginning with exploring SwiftUI's built-in component styling.
objc.io retweeted
Yes. Because I watched @objcio ‘s reimplementation of SwiftUI before, when reading the new document of Layout protocol, I instantly understand how it works, why the cache is important and how it should be used.
Really good job objcio.
objc.io retweeted
Hello, world! Please give a warm welcome to our first Mac app, Narrated. It lets you create personal screen recordings. Try it for free on buildandshipapps.com 🎉
objc.io retweeted
I'm sure I've posted this already, but if you're not watching @objcio, you really need to be. Even for things I think I already know, I come away understanding it at a much deeper level. Their SwiftUI series keeps taking me from "huh?", to "ok…", to "oh, that's probably good."
objc.io retweeted
Swift Talk 236 — SwiftUI Layout Explained: Fuzzing HStack
We write tests for our SwiftUI implementation.
Focusing on HStack, the most complicated view we have, we generate many random views and compare our results with SwiftUI.
talk.objc.io/episodes/S01E23…
Swift Talk 236 — SwiftUI Layout Explained: Fuzzing HStack
We write an automated fuzz test for our HStack implementation and uncover a subtle bug in the process.
objc.io retweeted
In case you missed it (because I somehow did) - what an awesome treat!! Over 4 (FOUR) hours of awesome SwiftUI content from @objcio for free until the new year!
A little present 🎁
Our series SwiftUI Layout Explained is free to watch until the new year!
With eleven episodes of live-coding and discussion, a hand-written transcript and sample code, there’s plenty to enjoy over the winter break.
Happy holidays!
objc.io/blog/2020/12/24/swif…
objc.io retweeted
If you have time before the new year, I highly recommend checking this out! Their content is phenomenal!
A little present 🎁
Our series SwiftUI Layout Explained is free to watch until the new year!
With eleven episodes of live-coding and discussion, a hand-written transcript and sample code, there’s plenty to enjoy over the winter break.
Happy holidays!
objc.io/blog/2020/12/24/swif…
objc.io retweeted
A little present 🎁
Our series SwiftUI Layout Explained is free to watch until the new year!
With eleven episodes of live-coding and discussion, a hand-written transcript and sample code, there’s plenty to enjoy over the winter break.
Happy holidays!
objc.io/blog/2020/12/24/swif…
objc.io retweeted
How deep did @chriseidhof and I go when discussing SwiftUI’s layout system on last week’s podcast episode? I think this clip might give you an idea 😅
🎧 Full episode: swiftbysundell.com/podcast/8…
objc.io retweeted
Because we focused on the essentials in the first edition of our book, we didn't have to change anything fundamental for this update. But we did improve some explanations, and explain new concepts such as grid layouts, matched geometry effect and StateObject.
Book Update: Thinking in SwiftUI
Improved and expanded for the latest version of SwiftUI. A free update for all Ebook readers.
Happy holidays! 😊
objc.io/blog/2020/12/17/thin…
objc.io retweeted
I've been catching up on @objcio Swift Talk and I can't recommend enough the SwiftUI layout videos.
objc.io retweeted
Readers of Thinking in SwiftUI: have you done any of the exercises in the book? Did you find them helpful?
43%I didn't do any
15%They were just right
3%They were too easy/hard
39%Please add more
142 votes • Final results objc.io retweeted
Today's the last day!
Black Friday: 30% off everything
Use the code "thanks2020" for 30% off Swift Talk and eBooks, including bundles! Offer ends Monday.
objc.io/blog/2020/11/27/blac…
objc.io retweeted
Here's a fun thread if you think you understand grid layouts in SwiftUI (until we reimplemented them, I probably would not have answered even one correctly):
objc.io retweeted
Excellent article on how HStack works, by @objcio.
objc.io/blog/2020/11/09/hsta…
objc.io retweeted
To really understand how an HStack works took us quite a long time. The good news is: it turns out to be quite simple. One of these solutions where you're like: "oh, this is pretty obvious".
How an Hstack Lays out Its Children
SwiftUI’s layout system is intuitive, but it can surprise you!
Views are ordered by flexibility, but flexibility isn’t defined. By replicating the behavior ourselves, we work out what's going on.
objc.io/blog/2020/11/09/hsta…
objc.io retweeted
Perhaps surprisingly, GeometryReader is one of the simplest views we implemented!
Swift Talk 228 — SwiftUI Layout Explained: Overlays & Geometry Readers
We reimplement SwiftUI’s Text, Overlay, and Geometry Reader. Using these components we can measure and display the size of a view.
talk.objc.io/episodes/S01E22…
Swift Talk 228 — SwiftUI Layout Explained: Overlays & Geometry Readers
We implement Text, Overlay, and Geometry Reader to measure views and display their size on screen.
objc.io retweeted
Learn why frames in SwiftUI are very much not like frames in UIKit:
Swift Talk 226 — SwiftUI Layout Explained: Fixed Frames 🗜
Reimplementing SwiftUI’s layout system, we add our first layout construct: the fixed frame. This helps us understand how a proposed size, frame size, and content size interact.
talk.objc.io/episodes/S01E22…
Swift Talk 226 — SwiftUI Layout Explained: Fixed Frames
We implement fixed frames to understanding how the proposed size, frame size, and content size interact.
objc.io retweeted
We tried reverse-engineering the algorithm of (H/V)Stacks in SwiftUI, and it's quite interesting. For example, if you add a .frame(width: 500) to the following view, how wide does it render itself?
objc.io retweeted
Here's a summary of our fuzzy search implementation, and how we got it to search 20,000 files in 6ms (compared to our initial naive implementation that took multiple seconds).
Fast Fuzzy Search 🚀
We optimize a fuzzy search algorithm similar to Xcode's Open Quickly. It should work on large file bases, and return results in under 15ms.
To do this we look at scoring, data structures, dynamic programming and parallel processing.
objc.io/blog/2020/08/18/fuzz…
















