Emil from Figma here! We have made a ton of improvements to the generated CSS code, and while we still sometimes provide absolute positioning we now separate it from the styling & flexbox code that you might actually want to pull into your codebase.
We've also introduced an API extension point so third parties can now provide their own implementation of code snippers (code generation) in Figma's Dev Mode which Anima and a few other partners have already released plugins for :)
Hey all! Emil here from the Figma team that brought you Dev Mode and Figma for VS Code today! Really interested to hear what you think and also here to answer your questions. We are super excited to invest more into developers in the future, today is just the start of that!
OP here. Totally agree passing arbitrary styles down in props is not a great solution and makes to incredibly hard to reason about components. We defined explicitly using typescript the styles which can be set from the parent which makes it much easier to reason about and we can even use the "find all references" feature of VSCode to identify usages.
Hey! I'm actually in the process of writing up a high level overview of Flexbox and how it works. Won't cover all aspects but would make it easier to understand hopefully. Can't promise when I'll post it but hopefully soon at medium.com/visly.
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.
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).
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).
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.
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).
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!
I'm the author of both Yoga and Stretch :) After leaving Facebook I created Stretch to fix some core issues which would be hard to address in Yoga, mainly some web compatibility issues. Would love to know more about what you are building and let me know if I can help in any way with the migration! Adding any missing APIs etc should be very easy.