webcomponents VS htmx

Compare webcomponents vs htmx and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
webcomponents htmx
34 567
4,313 32,837
0.2% 3.6%
4.4 9.6
3 months ago 6 days ago
HTML JavaScript
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

webcomponents

Posts with mentions or reviews of webcomponents. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-27.
  • "open-stylable" Shadow Roots · Issue #909 · WICG/webcomponents
    1 project | news.ycombinator.com | 11 Jan 2024
  • Web Components Eliminate JavaScript Framework Lock-In
    10 projects | news.ycombinator.com | 27 Nov 2023
    It's not all that shiny. Web components have global names (you should pretty much apply a prefix/namespace if you want to work with others) and managing multiple version of the same component in the same page is an issue in any non trivial codebase (either use a different name per version or fix all breaking changes at once during the upgrade, unless the draft about scoping web elements became standard https://github.com/WICG/webcomponents/blob/gh-pages/proposal... )
  • HTML Web Components
    14 projects | news.ycombinator.com | 13 Nov 2023
    I've recently just started playing with Web Components without a build environment. Meaning, no npm, no bun, no webpack, etc, and no dependencies; in typescript. Intellij can autocompile down to js and the browser view injects a small onchange handler for live updates when developing. So far no problems.

    The only thing holding web components back seems to be HTML Modules; being able to link to a .html file instead of a .js file to import a web component. Because of this if you want to use templates or anything more complicated you need to do the ugly inject of .innerHtml = `...`, which I thought would be a problem but the IDE parses the template string very nicely. It would be great to make a component in HTML and any javascript you would put in a tag. It seems like there a lot of bureaucracy involved in getting HTML Modules out the door since its been eight years.<p><a href="https://github.com/WICG/webcomponents/blob/gh-pages/proposals/html-modules-explainer.md#high-level-summary">https://github.com/WICG/webcomponents/blob/gh-pages/proposal...</a>

  • Lit 3 Release Announcement
    9 projects | news.ycombinator.com | 10 Oct 2023
    We're trying to advocate for greater flexibility in cross-component styling. One proposal is "open styleable shadow-roots" which would be an opt-in to let styles from above a component to apply to it's shadow root. I think this would help migration in situations where app teams are currently using global stylesheets.

    Feedback and support of the need for something like this would help a lot: https://github.com/WICG/webcomponents/issues/909

  • Things you forgot because of React
    14 projects | news.ycombinator.com | 15 Aug 2023
    ))

    Part 1.

    > I honestly believe that 90% of the dislike for WC comes from the name "connectedCallback". If they'd named it "onCreate" or something, everyone would be using it

    Of course not. None of the criticism towards Web Components ever mentions "connectedCallback", or how it should be named differently.

    Do you know the actual reason so few are using them? Let's skip the atrocious not-really-high-level not-really-low-level imperative API that they offer.

    How about:

    - 13 years after introduction they still need 20 more specs to try and patch just some of the holes in their original design: https://w3c.github.io/webcomponents-cg/2022.html

    - Shadow DOM is infecting every spec so that the actual useful specs like Scoped CSS have to be delayed almost indefinitely to try and figure out how to work with this abomination of a design

    To quote the report linked above, "many of these pain points are directly related to Shadow DOM's encapsulation"

    - The amount of specs that are required to make them work, barely, and be "good web citizens". And the amount of APIs.

    Oh, you want your custom input to a) be able to send its data in a form, and b) be accessible to a label outside of your component? Well, there's a separate API for a) and there's some separate future API for b). And meanwhile your custom button won't be able to submit your form, sorry, it's a 4-year old issue with no solution: https://github.com/WICG/webcomponents/issues/814

    And all that despite the fact that there are already a dozen specs covering web components, and dozens more on their way.

    - Web Components ar HTMLElement. It means you cannot use them inside SVGs.

    This is impossible:

        
  • Building a Front End Framework; Reactivity, Composability with No Dependencies
    11 projects | news.ycombinator.com | 14 May 2023
    The lit-plugin in for VS Code offers syntax highlighting, jumpt-to-definition, etc: https://marketplace.visualstudio.com/items?itemName=runem.li...

    Prettier already supports HTML in html`` strings, likewise, CSS.

    > Is there a way in Lit to write the templates in regular HTML rather than a string?

    This would require a compiler. You would need to load the HTML into the JS module graph and JS can't do that yet, though there is a proposal for it: https://github.com/WICG/webcomponents/blob/gh-pages/proposal...

    Template in HTML also have the problem of the data not being in scope as it is in JS, and there not being an expression language. So you ned up having to re-implement a lot of JS embedded into the HTML syntax, which then preferences a compiler-based approach to make fast. It turns out to be a lot simpler to embed HTML in JS.

  • I am experimenting with Typescript. Is this way of defining a constructor considered normal or an abomination?
    2 projects | /r/webdev | 22 Feb 2023
    It's more than just sugar now. You can't even write web components functionally: https://github.com/WICG/webcomponents/issues/587
  • Declarative Shadow DOM
    5 projects | news.ycombinator.com | 13 Feb 2023
    gzip/brotli handles this very well, but it still is text to parse through.

    Some form of declarative CSS module scripts would help a lot. A feature request for that here: https://github.com/WICG/webcomponents/issues/939

  • risk of accessible components
    1 project | /r/vuejs | 17 Nov 2022
  • Templating in HTML
    5 projects | news.ycombinator.com | 4 Oct 2022
    In the past I've seen this one:

    https://github.com/WICG/webcomponents/blob/gh-pages/proposal...

    Perhaps there are more recent versions.

    I liked the spirit of the proposal, but never studied it.

htmx

Posts with mentions or reviews of htmx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-05.
  • Migrating Next.js App to GO + Templ & HTMX
    5 projects | dev.to | 5 May 2024
    Recently, I just rewrite one of my application Stashbin from Next.js to GO. Though my main motivation of this migration was to learn GO and experimenting with HTMX. I also aiming to reduce the resource usage of my application and simplify the deployment process. Initially, Stashbin codebase are split into two seperate repository, one for the frontend that uses Next.js and another for the backend that already uses GO. The backend repository is just a REST API responsible for storing and retreiving data from the database.
  • 🕸️ Web development trends we will see in 2024 👀
    3 projects | dev.to | 2 May 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
    1 project | dev.to | 6 Apr 2024
    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
    2 projects | dev.to | 31 Mar 2024
    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
    3 projects | dev.to | 28 Mar 2024
    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
    3 projects | news.ycombinator.com | 9 Mar 2024
    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
    1 project | news.ycombinator.com | 4 Mar 2024
    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
    6 projects | dev.to | 1 Mar 2024
    ✨ 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
    50 projects | dev.to | 26 Feb 2024
  • Go + Hypermedia - A Learning Journey (Part 1)
    6 projects | dev.to | 23 Feb 2024
    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.

What are some alternatives?

When comparing webcomponents and htmx you can also consider the following projects:

stencil - A toolchain for building scalable, enterprise-ready component systems on top of TypeScript and Web Component standards. Stencil components can be distributed natively to React, Angular, Vue, and traditional web developers from a single, framework-agnostic codebase.

Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.

WHATWG HTML Standard - HTML Standard

Vue.js - This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

custom-elements - All inclusive customElements polyfill for every browser

astro - The web framework for content-driven websites. ⭐️ Star to support our work!

shoelace-css - A collection of professionally designed, every day UI components built on Web standards. SHOELACE IS BECOMING WEB AWESOME 👇👇👇

unpoly - Progressive enhancement for HTML

design-reviews - W3C specs and API reviews

react-snap - 👻 Zero-configuration framework-agnostic static prerendering for SPAs

eureka - Lucene-based search engine for your source code

django-unicorn - The magical reactive component framework for Django ✨