blitz
htmx
blitz | htmx | |
---|---|---|
16 | 566 | |
405 | 32,837 | |
5.9% | 3.6% | |
9.0 | 9.6 | |
about 2 months ago | 5 days ago | |
Rust | JavaScript | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
blitz
-
Deno in 2023
Have you talked to the Dioxus people recently?
They're working on a project called Dioxus Blitz; from what I'm told, they're trying to implement a minimal browser target, that provides some basic DOM-like features and renders with wgpu.
It's not exactly what you're hoping for, but you might find common ground.
https://github.com/DioxusLabs/blitz
(Also, the Linebender project is working on Masonry, with FFI as a medium-term goal.)
-
If the native speed DOM/Web API for Rust becomes a reality, would you be willing to build your web apps with Rust and HTML/CSS?
Your proposal sounds very similar to what the Dioxus folks are doing on Blitz, which is using HTML/CSS as the languages but doing native rendering. WebF seems much further along, and I know they've been exploring other rendering engines, so it may be an interesting conversation for you to have with them.
-
Looking for this. html + css rendering through wgpu.
Others have already mentioned inlyne and blitz, however given that you're interested in combining web UI with game/wgpu rendering you may be more interested in bevy_ui (and the higher level APIs like bevy_ui_dsl and belly that sit on top of this). Bevy UI is working on a HTML model and is specifically designed to integrate with Bevy's main game renderer and other infrastructure. It's worth noting that a 0.11 release of Bevy of due in next few days, and that UI is going to be a strong focus of the 0.12 release cycle: which should lead to significant development of bevy_ui, and either a doubling down on the "HTML-like UI" approach or a pivot to a new approach.
-
Awesome presentation of Dioxus - cross-platform GUI framework at RustNL
Here is an example: https://github.com/DioxusLabs/blitz/blob/master/examples/buttons.rs
-
Digital Audio Workstation Front End Development Struggles
> But no one is saying, "Hey I have a CSS 2.1 compliant rasterizer and compositor that you can use in your C++ or Rust environment!" are they?
There’s actually quite a lot of interesting work going on in that general space, has been in various forms for some years. A couple that immediately spring to mind:
• Azul <https://azul.rs/> builds on WebRender, as used in Firefox. I haven’t looked at it for a few years, but it looks to have grown quite interesting now.
• Blitz <https://github.com/DioxusLabs/blitz> is based on from-scratch implementations of CSS layout and rendering, and wgpu rendering. It’s not usable yet, but is a very interesting concept. If one happens to be familiar with React Native: it’s kinda like that, or React Native Web.
-
[Media] Version 0.3 of Inlyne - An interactive markdown renderer written entirely in Rust
You may also be interested in https://github.com/DioxusLabs/blitz which aims to be a full HTML+CSS renderer on top of wgpu (but is currently not nearly as complete as inlyne).
-
What is the most fully-featured rust frontend framework?
If you are focused on performance we are working on a native renderer for Dioxus called Blitz. It is very incomplete right now, but in the future it will be much more performant than the current webview based approach.
- GitHub Accelerator: our first cohort and what's next
-
Taffy 0.3: UI layout in Rust, now with css-grid!
There hasn't been too much progress on Blitz in the last few weeks (it will come), but there is now a new project Freya which is using a Dioxus frontend and rendering with Skia. That's currently using it's own layout system instead of Taffy though.
-
Tauri vs Iced vs egui: Rust GUI framework performance comparison (including startup time, input lag, resize tests)
The main desktop renderer for Dioxus uses wry (the webview tauri uses internally), so the startup time will likely be similar. We are working on a native renderer called blitz which should improve this, but development is still early
htmx
-
🕸️ Web development trends we will see in 2024 👀
HTMX is another library that gained popularity due to its server-first approach to rendering data, although seeking a much simpler way of appealing to developers.
-
Reusable Input Datalist
When I work with HTMX I need isolated component that can be reusable a form. So I create a PHP Function that generate the Input Datalist.
-
HTMZ inspired form subission
I was inspired by htmz (which was in turn inspired by htmx) and how the author got pretty close to a basic htmx-like experience just using an iframe. I wanted to push it a little further so whipped this demo together. My submission demonstrates progressive enhancement for the form - with js enabled the request targets an iframe that is inserted into the dom, meaning the page doesn't actually navigate (similar to event.preventDefault()). The iframe receives the html response from the request and on load triggers a function to swap out it's contents into the main page.
-
Example Java Application with Embedded Jetty and a htmx Website
As described on htmx.org: "htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext"
-
Show HN: ZakuChess, an open source web game built with Django, Htmx and Tailwind
Apart from the source code itself, the repo's README also gives a bit more details about the various packages I used.
1. htmx: https://htmx.org/
-
Show HN: Alpine Ajax – If Htmx and Alpine.js Had a Baby
Also, there’s some response header juggling you have to do when submitting forms that have a validation step before redirecting: https://github.com/bigskysoftware/htmx/issues/369
I’ve tried to iron out any footguns or server requirements I’ve bumped into while using HTMX & Hotwire in my projects.
-
🤓 My top 3 Go packages that I wish I'd known about earlier
✨ In recent months, I have been developing web projects using GOTTHA stack: Go + Templ + Tailwind CSS + htmx + Alpine.js. As soon as I'm ready to talk about all the subtleties and pitfalls, I'll post it on my social networks.
- FLaNK Stack 26 February 2024
-
Go + Hypermedia - A Learning Journey (Part 1)
I've been digging into HTMX lately (using Python web frameworks) and find the concepts and approach to be interesting and promising. The idea of hypermedia driven systems over the current practice of JavaScript based frameworks (I never really got into React, played with Vue, and enjoy Svelte/SvelteKit) and the ability to chose your language/framework for the backend while primarily leveraging HTML/CSS on the frontend just seems refreshing.
-
Htmx become 0 clause BSD-licensed
Apparently it changed from 2-clause BSD: https://github.com/bigskysoftware/htmx/commit/e16f1865a494b6...
(The zero clause license drops the requirements for preserving the copyright notice when distributing)
What are some alternatives?
vizia - A declarative GUI library written in Rust
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
dioxus - Fullstack GUI library for web, desktop, mobile, and more.
Vue.js - This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
freya - Native GUI library for 🦀 Rust powered by 🧬 Dioxus and 🎨 Skia.
astro - The web framework for content-driven websites. ⭐️ Star to support our work!
taffy - A high performance rust-powered UI layout library
unpoly - Progressive enhancement for HTML
ToobAmp - A set of high-quality guitar effect plugins for Raspberry Pi with specific support for PiPedal.
react-snap - 👻 Zero-configuration framework-agnostic static prerendering for SPAs
vello - An experimental GPU compute-centric 2D renderer.
django-unicorn - The magical reactive component framework for Django ✨