| ▲ | dfabulich 3 days ago | |
Apple's native SwiftUI framework and Google's Jetpack Compose framework stumbled upon basically the same layout system, "Constraints down, sizes up": 1. Proposal: The parent component proposes a size/constraints to the child 2. Measurement: The child component picks its own size based on those constraints 3. Placement: The parent component then positions the child in its coordinate space It's all done in a single pass. It scales great. It fits great with React-like reactive UI frameworks. (SwiftUI and Jetpack Compose are based on React.) This is what CSS needs. | ||
| ▲ | pavpanchekha 3 days ago | parent [-] | |
That pretty much is how CSS works! At the most basic level, Flow level is about widths down, heights up. But this basic model doesn't let you do a lot of things some people want to do, like distributing left-over space in a container equally among children (imagine a table). So then CSS added more stuff, like Flex-box, which also fundamentally works like this though adds a second pass. | ||