Hacker News new | ask | show | jobs
by acdlite 4093 days ago
> Flexbox. The authors missed the opportunity of offering a saner API and favored sticking to the official spec instead.

Flexbox is the saner API we've all be waiting for, in my opinion. I'm curious what the author's objections to it are. That's really my problem with the whole piece — statements like this are thrown out there without much justification or explanation.

2 comments

I'd much rather be writing apps using constraint-based layout, much like AutoLayout. It took me a while to grok it, but it's much simpler once you get it.
I disagree, but I suppose this a matter of preference. For whatever it's worth, the React team did explore using a constraint-solver, but nixed the idea. They explain their reasoning here: https://www.youtube.com/watch?v=7rDsRXj9-cU&t=14m20s
Yeah, it is preference. I found that buying entirely into Autolayout + Storyboards makes for a really nice development experience.

And their reasoning makes sense. I totally get why they would avoid constraint-based layout.

I agree, imho there isn't any decalarative and powerful way to build UIs as AutoLayout.
Not sure what I think about React Native as a whole but I wholeheartedly approve of using flexbox for layout. It's much more declarative and easier to understand. Autolayout is a fundamentally flawed approach to layout. Building layouts in AL is very tricky and debugging them is twice as tricky as writing them. And lord help you if you have to programmatically add or remove views from a layout at runtime.
> And lord help you if you have to programmatically add or remove views from a layout at runtime.

I disagree with the rest, but yeah... that's a sore point.

It's even available in javascript: http://gridstylesheets.org/
I saw that, but using polyfills for layout give me pause.
More like that:

There's the javascript being bad with no explanation. As if there's something bad with developing tools for the javascript adept to contribute to a platform.

Browsers already doing too much comment. What? Would this person rather the team create new tools from scratch instead of leveraging a tool that the target market for this project is already using?

Notice that the "good" parts have very little or nothing to do with web development and a good number of the "bad" items do. I believe this person is not one of people intended to make use of this tool.