TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Houdini: Maybe the Most Exciting Development in CSS

159 pointsby mattiemassabout 9 years ago

10 comments

pcwaltonabout 9 years ago
&gt; This subset will only include properties that can be read or set without forcing the rendering engine to recalculate layout or style (for example, transform, opacity, scroll offset).<p>I&#x27;m frankly skeptical of most of Houdini, but I&#x27;m especially not happy with this one. This is baking the limitations of current browser engines into the platform for all time. The provided justification seems pretty flimsy to me, because effort that goes into this (which is something that native has no concept of, for good reason) could instead go into fixing the problems that make it seem like this is necessary.
评论 #11359061 未加载
mrecabout 9 years ago
Very interesting, and oddly reminiscent of the shift from fixed-function to programmable graphics APIs, right down to the restricted &quot;worklets&quot; being sort-of-analogous to shader programs.<p>I do wonder whether &quot;as performant as native CSS features&quot; is setting up unrealistic expectations. Same ballpark, maybe, but I&#x27;d have thought native will always be easier for browser vendors to optimize, even leaving aside the language&#x2F;runtime differences (C++&#x2F;Rust versus JS&#x2F;WASM).
评论 #11357953 未加载
评论 #11360713 未加载
msoadabout 9 years ago
What we need is a &quot;strict mode&quot; HTML. Number of APIs available to web platform is getting out of hand. Using ES6 module system we can clean up the web API landscape.<p>Here is the idea: you declare your document to be in strict mode:<p><pre><code> &lt;!DOCTYPE strict&gt; </code></pre> In this mode you don&#x27;t have access to any API unless you import it. You need to import CSS layout systems like regular box model or basic APIs like query selector. You also need to import each html element you use. This way browsers don&#x27;t have to take into account every possible CSS property or html element when doing layout or painting.<p>After we got that, then you can import your own implementation of standard modules that is written using APIs introduced by Houdini<p>Here is an example:<p><pre><code> import &quot;html&#x2F;div&quot; import &quot;css&#x2F;flex&quot; import &quot;dom&#x2F;query&quot;</code></pre>
评论 #11363120 未加载
romanivabout 9 years ago
Maybe we should just transpile Flash into ASM.js and be done with it.<p>And yes, I am being sarcastic here. I understand the motivation underpinning such projects, but the approach of introducing yet another complicated API with dubious cross-browser support is not something that will move the web forward in a meaningful way.
nine_kabout 9 years ago
Behold the inexorable advance of the Atwood Law.<p>Next step would be having an ability to entirely reprogram the layout engine in newly-performant JS. And then more and more, until we have built an entire OS (again).
评论 #11362414 未加载
wheatiesabout 9 years ago
Quick question, what&#x27;s to stop someone from reimplementing, say &quot;float: right&quot; to also spin up a banner ad? That is, this sounds great in principal but much like Microsoft&#x27;s Tay taught us, the internet is full of *-holes.
评论 #11359940 未加载
评论 #11360440 未加载
评论 #11359849 未加载
colordropsabout 9 years ago
Currently, custom web components don&#x27;t have a way to add styling hooks specific to the component, so solutions include hacks to pipe styles into the guts of the web component, or use pre-defined attributes to style the component, just like the late 90s. Perhaps Houdini would provide a way to give custom web components first class css styling.
debacleabout 9 years ago
Seems like a band-aid for CSS, which needs to go away. Styling the DOM in the fashion we have been for the last 15+ years needs to end. JavaScript has evolved, but we still need to use LESS and SASS and Modernizr and other tools.<p>CSS doesn&#x27;t need abstractions. It needs to be replaced.
评论 #11359984 未加载
评论 #11360819 未加载
评论 #11360315 未加载
评论 #11360397 未加载
yugaiabout 9 years ago
I think it&#x27;s not very exciting at all. Browser support for Houdini will be a new issue in the future if they manage to release anything.
评论 #11359952 未加载
Zardoz84about 9 years ago
Great! But sadly, I must keep working with IE8 compatibility. Government related clients update at glacial speed...
评论 #11360260 未加载