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.

Blitz: A lightweight, modular, extensible web renderer

433 pointsby whatever39 months ago

14 comments

nicoburns9 months ago
I didn&#x27;t submit this, but I&#x27;m the lead dev for Blitz. AMA.<p>One thing to note is it&#x27;s not quite ready yet:<p>- The text input and focus system are pretty basic<p>- We don&#x27;t support scrolling (other than the root viewport)<p>- Complex CSS selectors like nth-child and :has aren&#x27;t working correctly yet.<p>- Event handling integration with Dioxus (the React-like framework that sits on top of Blitz) isn&#x27;t robust or fleshed out yet (only clicks work, there is no preventDefault)<p>- The currently networking is super-dumb and does synchronous requests on the main thread. We need proper async and&#x2F;or multithreaded networking.<p>- We have put very little work into performance - we&#x27;re currently recomputing style&#x2F;layout&#x2F;paint every frame.<p>- Relatedly: We have few dumb memory leaks where nodes are not cleaned up. We know where these are, we just haven&#x27;t fixed them yet.<p>- Less critical, but things like shadows, web fonts, calc, float layout, and form controls other than text input are missing (see README for more).<p>All of these are basically a case of &quot;building a webview is a big task, and we haven&#x27;t gotten around to that yet&quot;. We&#x27;re hoping to have something a bit more complete in 2-3 months time.<p>There are some more screenshots here:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;DioxusLabs&#x2F;blitz&#x2F;issues&#x2F;23">https:&#x2F;&#x2F;github.com&#x2F;DioxusLabs&#x2F;blitz&#x2F;issues&#x2F;23</a>
评论 #41222549 未加载
评论 #41221614 未加载
评论 #41222580 未加载
评论 #41222889 未加载
评论 #41223547 未加载
评论 #41222072 未加载
评论 #41223637 未加载
评论 #41222748 未加载
评论 #41222813 未加载
dgb239 months ago
This project looks very useful at a glance.<p>Create native applications that use the widely popular HTML&#x2F;CSS paradigm for layout, but leave out much of the heavyweight stuff that a full JS&#x2F;DOM&#x2F;browser API implies. This looks like it can enable very large improvements over packaging browser engines like electron etc. do.<p>Funnily enough, I just recently listened to Casey Muratori on Richard Feldman‘s podcast, where they where extremely critical of CSS.<p>Some of the stories they told, like having to prerender and dynamically measure web pages in order to achieve some very simple layout relationships hit right at home.<p>Writing CSS feels, as Muratori said, more like presenting a case in the court of law, instead of building upon simple primitives.<p>Now there’s of course a very widespread need or want that is met by this project. Not just in terms of familiarity but also compatibility and the fact that „happy path CSS“ is incredibly productive.<p>But maybe there’s an opportunity to provide a simpler, general layer that a user of this can drop down to.<p>Perhaps the authors can find inspiration by looking at CSS houdini, which tries to make CSS extensible via a JS API. Or maybe that’s what they mean by „Custom Widgets“?
评论 #41223601 未加载
评论 #41228919 未加载
评论 #41224393 未加载
joshmarinacci9 months ago
I built an open source project like this some years ago (holy carp! 20 years ago) called Flying Saucer. It was a pure Java HTML + CSS2 renderer. I imagined people would use it to render rich text UIs in games, but the killer use ended up being server side PDF generation. It was far easier to generate HTML and render to a PDF than to use the various PDF report generation APIs available at the time.<p>Blitz looks cool. I&#x27;m excited to see more GUI libs in Rust.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Flying_Saucer_(library)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Flying_Saucer_(library)</a><p>PS: amazingly it is still being updated! <a href="https:&#x2F;&#x2F;github.com&#x2F;flyingsaucerproject&#x2F;flyingsaucer&#x2F;releases&#x2F;tag&#x2F;v9.9.0">https:&#x2F;&#x2F;github.com&#x2F;flyingsaucerproject&#x2F;flyingsaucer&#x2F;releases...</a>
owenpalmer9 months ago
&gt; It is effectively a lightweight webview except that the JavaScript engine is replaced with a native Rust API<p>Woah, this looks promising. Basically Tauri without JS in the loop? Music to my ears.
评论 #41221466 未加载
评论 #41223642 未加载
评论 #41221454 未加载
Fire-Dragon-DoL9 months ago
Interesting. Just today I was looking for wkhtmltopdf replacement after a horrible experience with puppeteer and trying to run chromium headless (do NOT try to run it with jemalloc in LD_PRELOAD). I did solve the problem, but I preferred the simplicity of a renderer.
评论 #41221500 未加载
评论 #41225286 未加载
评论 #41221844 未加载
评论 #41221550 未加载
bigbones9 months ago
Not a comment on Blitz itself, but had never heard of Dioxus before. Is there some unwritten rule about compiles-to-wasm type frameworks where they never actually show a demo or have their own site self-hosted in the framework? Seen this like 5 or 6 times now. I see some wasm file loaded on the Dioxus home page, but it&#x27;s not clear where it&#x27;s being used if at all
评论 #41222203 未加载
Woshiwuja9 months ago
Could be cool using it with a backend + htmx. But i guess JS engine is not even in the mix, so i wonder how you could do that
评论 #41221775 未加载
评论 #41225972 未加载
评论 #41221543 未加载
alberth9 months ago
TIL about Dioxus<p><a href="https:&#x2F;&#x2F;dioxuslabs.com&#x2F;">https:&#x2F;&#x2F;dioxuslabs.com&#x2F;</a>
marcjschmidt9 months ago
That&#x27;s really cool! Would love to use it in my c++ projects. One thought that came to my mind: How is the performance? Could you render a relatively complex page at high frames per seconds? I usually use ImGUI which is excellent to display real-time data without even thinking about performance issues. Compared to Chromium&#x27;s web rendering which burns my CPU already at 10FPS simple DOM text updates, this could be a game changer.
评论 #41223530 未加载
darkteflon9 months ago
Looks really interesting and lots of strongly favourable responses in this thread. For those in the know: what’s something like this used for? Where does it fit in to the landscape? Is it a case of filling a specific need in the Rust front-end ecosystem, or something more language and framework agnostic? I’ve very little front end experience - the repo readme went over my head.
评论 #41223463 未加载
评论 #41222091 未加载
webprofusion9 months ago
This is impressive work, I greatly appreciate the &quot;lightweight&quot; aim but would it not make sense to use Servo, perhaps with build feature flags to reduce size?
评论 #41223496 未加载
atoav9 months ago
This is what we need. I hope somwone picks up working on a python implementation.
ogogmad9 months ago
Any connection to Blitz Basic or Blitz 3D?
评论 #41223834 未加载
indexerror9 months ago
This is what we need.