Live data from Hacker News

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

vislyhq.github.io

11–20 of 59 posts

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

#12
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.

Well, given that they're reimplementing the layout engine, maybe it's more like Wine? Does Stretch let you get Chrome-like layout in other browsers?

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

#13
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.

Do we need a cross-company Institutional Knowledge time capsule wiki? Dear future occupant of role X ...

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

#14
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.

Actually it uses webdriver to generate the tests so while we only commit the chrome tests (for simplicity) it is easy enough to run the other browsers locally as long as they support webdriver (which most/all do).

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

#15

How does this compare to Yoga? https://yogalayout.com/

Hey there! Author of both Yoga and Stretch. I built stretch after leaving facebook because of some fundamental flaws in Yoga which made it not 100% compatible with web browsers. Also I wanted something written in a modern language that was easier to debug, maintain, and innovate on.

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

#16
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.

Flexbox is pretty mature though. I'm as much of a critic of the Chrome-only Web as anyone, but in this case it's reasonable to test against Chrome. We have the Web platform tests to make sure Chrome, Firefox, and Safari are interoperable.

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

#17

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…

Stretch doesn't really enable any new kind of layouts that yoga doesn't but it fixes some fundamental problems in Yoga where Yoga was not compatible with the web implementations.

Long term goal of Stretch is to support multiple layout systems including Grid layout I just started with Flexbox because I know that so well :) Look forward to tackling grid layout soonish (contributions / help very welcome).

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

#18

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?

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

#19
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.

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

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

#20
post #2

I've been using Stretch lately for a project I'm planning to open source in a week or two (a cross platform GUI engine...). Pretty happy so far.

Author here. Super excited to see what you are building! We are more than happy to feature it on the Stretch landing page :) Shoot me an email and let's chat!

This is great.

As I put on https://www.reddit.com/r/rust/comments/9bapwt/thoughts_on_wh... this could enable the build of a different kind of cross-platform UI, where the logic (backend) is on rust and the UI render (front-end) in a native lang.

Post reply on HN