Live data from Hacker News

Show HN: Stretch – A high-performance cross-platform layout engine in Rust

vislyhq.github.io

31–40 of 59 posts

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#31
post #19

Earlier quoted context omitted.

It really isn't. Chrome is pretty good. IE6 was incredibly awful.

That's not the point gp is making. You're right of course: Chrome is competent, IE6 definitely wasn't. Chrome is, however, proprietary and driving further that way. IE6 showed that a single, dominant browser is not good for consumers or progress. Especially when it originates from one of the two leading surveillance tech firms. [As an aside, I was disappointed to see MS admit defeat with Edge and jump into bed with G…

> Chrome is, however, proprietary and driving further that way.

Given that all the relevant bits are in Chromium (sans Widevine, which is a whole subject on its own) this is not a strong argument.

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#32
post #26

Earlier quoted context omitted.

That's not the point gp is making. You're right of course: Chrome is competent, IE6 definitely wasn't. Chrome is, however, proprietary and driving further that way. IE6 showed that a single, dominant browser is not good for consumers or progress. Especially when it originates from one of the two leading surveillance tech firms. [As an aside, I was disappointed to see MS admit defeat with Edge and jump into bed with G…

Competence compensates for a monoculture. You don't see people complaining that GHC is de facto the only Haskell compiler.

Competence is also a transient determination. IE6 was highly competent in its time, it is only retrospectively that it "earns" most of its incompetence. IE defined the modern CSS box layout strategy of choice (and realized that box layout model was something underdefined in the specifications), for just one instance. Most of IE6's particular incompetence was the "mic drop" peace-out of Microsoft declaring victory on web browsing and disbanding the team for far too many years; unless you are crazy, you don't "mic drop" on what you think to be an incompetent project, and there's certainly a delicious irony in being considered "too competent" becoming a major part of your core incompetency in a "mic drop" incident.

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#33

Interesting! It seems this is a rewrite of Yoga, by the same author, seen by another comment in this thread. So why start again using flex box as a layout engine? For example, there isn't really a good, equally as rich, grid layout engine yet. Also curious what the intended goal with conformance is, as the README states this project has a secondary intent to be more in line with the CSS spec? Personally for me any la…

What problems have you experienced with Apple’s auto layout?

I’d be interested in GPs answer too. Especially considering that flexbox is a proper subset of what’s possible with AutoLayout...

If you’re not comfortable with constraint systems yet, just use UIStackView and voilà, it’s a flexbox.

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#34

Earlier quoted context omitted.

Just to be clear, we are not working on it. However it is something I would like to start looking into sometime soon :) This is a huge area for contributions as I myself am not a grid expert (as apposed to having worked on flexbox engines past 3 years).

> Just to be clear, we are not working on it. However it is something I would like to start looking into sometime soon :) I hear you, but this is very different to "we're never going to implement this". I might look into contributing, but I've never implemented any layout engine, so I'm not sure how much help I would be!

I would love to help talk through how to start and the process i used for the flexbox implementation :) start a PR / Issue and we can discuss :)

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#35

Earlier quoted context omitted.

That's not the point gp is making. You're right of course: Chrome is competent, IE6 definitely wasn't. Chrome is, however, proprietary and driving further that way. IE6 showed that a single, dominant browser is not good for consumers or progress. Especially when it originates from one of the two leading surveillance tech firms. [As an aside, I was disappointed to see MS admit defeat with Edge and jump into bed with G…

> Chrome is, however, proprietary and driving further that way. Given that all the relevant bits are in Chromium (sans Widevine, which is a whole subject on its own) this is not a strong argument.

Forking Chromium won’t help you if Chrome’s market share is so overwhelmingly large that it can basically force its ideas down the web’s throat.

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#36

Earlier quoted context omitted.

What problems have you experienced with Apple’s auto layout?

I’d be interested in GPs answer too. Especially considering that flexbox is a proper subset of what’s possible with AutoLayout... If you’re not comfortable with constraint systems yet, just use UIStackView and voilà, it’s a flexbox.

You clearly know your layouts :). I agree, AutoLayout is the most powerful system I've worked with.

I wish others would start their layout systems based on it (others like React Native, or native Android), then add simplified APIs like flexbox using it if needed/desired.

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#37
post #26

Earlier quoted context omitted.

That's not the point gp is making. You're right of course: Chrome is competent, IE6 definitely wasn't. Chrome is, however, proprietary and driving further that way. IE6 showed that a single, dominant browser is not good for consumers or progress. Especially when it originates from one of the two leading surveillance tech firms. [As an aside, I was disappointed to see MS admit defeat with Edge and jump into bed with G…

Competence compensates for a monoculture. You don't see people complaining that GHC is de facto the only Haskell compiler.

Not when one of the concerns is to make it possible to maintain compatibility with it.

Microsoft threw the towel for this very reason. It is quite hard to keep up when you have an implementation used by more than 70% of the market, because that makes it the de facto standard, regardless of what the standard really is.

We are going to see the same issues as with IE6: chrome does (and breaks) things before the standards are updated, and dictate huge chuncks of poorly-thought features on the web platform, that might become required for any kind of serious business (think flash, java, silverlight, widevine).

This really is the E part in EEE (the middle one...)

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#38

Earlier quoted context omitted.

What problems have you experienced with Apple’s auto layout?

I’d be interested in GPs answer too. Especially considering that flexbox is a proper subset of what’s possible with AutoLayout... If you’re not comfortable with constraint systems yet, just use UIStackView and voilà, it’s a flexbox.

Somethings become very complicated in constraint based systems and they are often much slower in my experience than more special purpose layout systems. That said i'm not against constraint systems either, they just both have their place.

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#39
post #9
post #8

> Stretch is tested against Chrome to ensure 100% web compatibility Erm, no. That’s testing Chrome compatibility (though it’s probably the only one easy enough to test). Chrome is often rushing ahead to implement features that are either not standardized yet, or will not be standardized, or break exisiting standards and compatibility.

It's the "IE6 Only" of the modern web. I really hoped we (as an industry) would have learned enough from that pain, but I guess not. Institutional Knowledge seems to suffer from serious memory loss.

The problem with IE was that it wasn't standards compliant. Oftentimes it seemed they even did so on purpose. Chrome appears to follow the standards nicely. We don't need quirks mode settings to render websites "designed for Chrome".

Re: Show HN: Stretch – A high-performance cross-platform layout engine in Rust

#40
post #19
post #9

Earlier quoted context omitted.

It's the "IE6 Only" of the modern web. I really hoped we (as an industry) would have learned enough from that pain, but I guess not. Institutional Knowledge seems to suffer from serious memory loss.

It really isn't. Chrome is pretty good. IE6 was incredibly awful.

at its prime it was considered the best. it's what came after that that made it "awful"
Post reply on HN