Mesh: I tried Htmx, then ditched it
Blazor, LiveView, and server-driven UIs
- Several commenters praise Blazor for letting them avoid JavaScript and share C# between front and back end; others find it heavy, complex, and overkill for simple needs.
- Concerns: Microsoft’s history of abandoning tech, comparison to Silverlight, and risk of vendor lock-in. Supporters reply that Blazor is MIT-licensed and built on open web standards.
- Performance criticisms focus on WASM: large bundle sizes (multi‑MB to tens of MB), high memory use, slow on low‑power devices (e.g., Raspberry Pi, mobile). Rust/Leptos is suggested as a more efficient WASM path due to lack of GC and true native compilation.
- Phoenix LiveView is frequently cited as more efficient and ergonomic, especially given BEAM’s preemptive actors; some teams use LiveView at home “for sanity” and Blazor or Vaadin at work.
- Skeptics liken Blazor to a modern WebForms/GWT/JSF: great for .NET shops that won’t learn browser tech, but questionable future beyond that niche.
HTMX: strengths, limits, and fit
- Many agree HTMX is excellent for “oldschool” multipage apps, admin dashboards, and low‑to‑medium interactivity, with minimal dependency churn.
- Several report HTMX becoming hard to manage once apps exceed a certain complexity (drag‑and‑drop, rich component state, heavy interdependence), leading them to React or other frameworks.
- Debate over complexity: defenders say it’s easy if you know HTML; critics note quirks, custom headers, attribute inheritance, and trigger DSLs that rival a SPA framework in conceptual load.
- The HTMX author explicitly says this app wasn’t a good fit, points to guidance on when to use hypermedia, and highlights upcoming improvements (e.g., better shadow DOM handling, experiments like fixi.js).
- Philosophical divide: HTMX fans generally don’t want something that “feels like an SPA”; they value high cohesion (page and endpoints together) and low coupling (no shared DTOs, routers, or state stores).
MESH, Datastar, and SSE-centric approaches
- MESH’s principle “one component = one endpoint” plus SSE updates is seen as exploring the same attractor as LiveView, Blazor, and server components—server is source of truth, HTML fragments streamed to clients.
- Some like the idea; others worry many endpoints will become a “mess” and that it combines SPA modeling overhead with tight backend coupling.
- Datastar is highlighted as a related but different approach: one SSE connection per page, full-page morphing, CQRS style. It’s praised for multiplayer/streaming use cases.
- Datastar’s “pro” license triggers debate: supporters see it as sustainable and optional; critics worry about partial proprietary lock‑in and inability to share improvements.
SPA frameworks, React, and “no-build”
- React is viewed as having an enormous moat via its component ecosystem and vendor‑supplied React integrations, even if alternatives may be simpler.
- Some call React/tooling a “monstrosity”; others argue the core library is small and its power justifies complexity.
- A few report success leaving React for Lit/web components, or going “no-build”; others find no-build impractical once Tailwind‑style utilities or richer tooling are desired.