DEV Community

Discussion on: Improve HTML and CSS performance

Collapse
 
leob profile image
leob

Great explanation of what a browser is doing under the hood, no wonder browsers are among the most complex pieces of software ... also obvious now why techniques like Turbolinks are so effective, because it means the CSS and a large part of the HTML needs to be parsed just once instead of for every page.

Your explanation made me wonder though - I see that the browser has to do a lot of work (parsing etc) just to arrive at the Render Tree - what if that work could somehow be done server side (by "precompiling" an HTML page and its CSS) and the server just sends a complete "compiled" render tree to the browser - is that a crazy idea?

Collapse
 
yashints profile image
Yaser Adel Mehraban

Not at all, a small part of that is done by server side rendering, but browsers still will need to perform majority of the work. Maybe some day

Collapse
 
leob profile image
leob

Evidently yes, the browser does most of that work nowadays - I just thought, theoretically, whether some of that work could be shifted to the "build phase" - sort of a precompilation ...

Especially since all of these resources (html, css) are essentially plain text - then internally the browser builds an optimized 'binary' version - so I thought if that "optimized" version could somehow be pre-generated and downloaded ...

A bit similar to what they're doing with Javascript and Web Assembly ... OTOH if building that 'render tree' depends on a lot of dynamic variables which are not known in advance then this would of course not be practically feasible :-)