htm VS Tailwind CSS

Compare htm vs Tailwind CSS and see what are their differences.

htm

Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support. (by developit)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
htm Tailwind CSS
42 1,280
8,554 78,370
- 2.3%
0.0 9.4
3 months ago 4 days ago
JavaScript TypeScript
Apache License 2.0 MIT License
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.

htm

Posts with mentions or reviews of htm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-20.
  • VanJS: A 0.9KB JavaScript UI framework
    15 projects | news.ycombinator.com | 20 Dec 2023
    The preact team also dislikes transpiling jsx so they've developed an alternative using tagged template literals: https://github.com/developit/htm
  • React SSR web-server from scratch
    2 projects | dev.to | 21 Nov 2023
    So getting this to work without bundler magic is very hard. It's not surprising why NextJS is investing in a bundler. Though one thing that really sticks out is how much complexity we add for just miniscule dev ergonomics. Not using JSX and using something like htm would make all this easier (removing the bundler entirely), it's a lot of overhead to avoid a couple of quotes. React should really have a tagged-template mode. Also all of this is indirection is actually bad for dev ergonomics too! One of the reasons I did this is because I'm absolutely sick of magic caches and sorting through code that's been crushed by a bundler into something I don't recognize and can't easily debug. While we can't get rid of this completely (ts/jsx) this preserves the module import graph completely on the client-side making it easy to find things as you are working and preserving line numbers. This obviously is not useful for a production build and there's a lot of work that would need to go in to support both modes over the same code, but it's depressing no tools really work like this for local development.
  • HTML Web Components
    14 projects | news.ycombinator.com | 13 Nov 2023
    You can also do JSX and skip the build step with preact + htm : https://github.com/developit/htm#example
  • Service Worker Templating Language (SWTL)
    4 projects | dev.to | 19 Aug 2023
    While I was able to achieve this fairly easily, the developer experience of manually stitching strings together wasnt great. Being myself a fan of buildless libraries, such as htm and lit-html, I figured I'd try to take a stab at implementing a DSL for component-like templating in Service Workers myself, called Service Worker Templating Language (SWTL), here's what it looks like:
  • Gaseous - Yet Another Games Manager
    3 projects | /r/selfhosted | 10 Jul 2023
    I would however highly recommend https://github.com/developit/htm
  • Create and Hydrate HTML with HTM
    2 projects | news.ycombinator.com | 25 Jun 2023
    I thought the same thing, but apparently "HTM" is a JSX like javascript string template representation of HTML, and it can be found here: https://github.com/developit/htm
  • Anyone using React from just a CDN, barbarian style?
    1 project | /r/reactjs | 28 Feb 2023
    If you're going to do a no-build approach, assume modern JS (so you don't have to transpile the JS syntax). Also, you can use https://github.com/developit/htm as a nearly-identical equivalent to JSX syntax, also without transpiling.
  • Simple Modern JavaScript Using JavaScript Modules and Import Maps
    9 projects | news.ycombinator.com | 16 Feb 2023
    This seems like a case of caring way too much about something that's hardly very different. JSX versus tagged template strings can be incredibly similar to one another.

    The examples in this article are using vanilla template strings to author raw html, but that only misses a couple of nicities JSX has. There are tagged template string libraries like htm[1] that do include some of the few nicities JSX has, but which are actually compatible with the official language.

    [1] https://github.com/developit/htm

  • A few programming language features I’d like to see
    1 project | /r/programming | 19 Jan 2023
    The first one exists in JavaScript and is called Tagged Template Literals. I agree with the author that its a nice feature. It's the perfect construct to use for prepared SQL statements, LINQ-style queries, or reimplementing a JSX-like syntax (see HTM https://github.com/developit/htm).
  • Using React without JSX == no build
    2 projects | dev.to | 4 Jan 2023
    There is however a library that is closer to JSX (HTML-like feel) but yet does not require a build step. htm. HTM uses tagged templates to leverage template literal as native Javascript template strings. If you have not played with tagged templates, I encourage you to check this out, it's a quite powerful feature, that has recently become a part of Javascript.

Tailwind CSS

Posts with mentions or reviews of Tailwind CSS. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-26.
  • Building an Email Assistant Application with Burr
    6 projects | dev.to | 26 Apr 2024
    You can use any frontend framework you want — react-based tooling, however, has a natural advantage as it models everything as a function of state, which can map 1:1 with the concept in Burr. In the demo app we use react, react-query, and tailwind, but we’ll be skipping over this largely (it is not central to the purpose of the post).
  • Shared Data-Layer Setup For Micro Frontend Application with Nx Workspace
    4 projects | dev.to | 25 Apr 2024
    Tailwind CSS: A utility-first CSS framework for rapidly building custom designs.
  • Preline UI + Gowebly CLI = ❤️
    2 projects | dev.to | 25 Apr 2024
    First, you need to make sure that you have a working Tailwind CSS project…
  • Customer service pages for e-commerce built with Tailwind CSS
    1 project | dev.to | 24 Apr 2024
    Tailwind CSS
  • The best testing strategies for frontends
    8 projects | dev.to | 22 Apr 2024
    With better CSS approaches like TailwindCSS and Vanilla Extract (which we're heavily using) it's much easier to maintain the UI and make sure it doesn't change unexpectedly. No more conflicting CSS classes, much less CSS specificity issues and much less CSS code in general.
  • ChatCrafters - Chat with AI powered personas
    3 projects | dev.to | 12 Apr 2024
    This app was built with Svelte Kit, Tailwind CSS, and many other technologies. For a full rundown, please visit the GitHub repository
  • Mojo CSS vs. Tailwind: Choosing the best CSS framework
    3 projects | dev.to | 9 Apr 2024
    Unlike Tailwind, which has over 77,000 stars on GitHub, Mojo CSS has about 200 stars on GitHub. But the Mojo CSS documentation is fairly good and you can find most of the information you’ll need there.
  • Collab Lab #66 Recap
    7 projects | dev.to | 7 Apr 2024
    JavaScript React Flowbite Tailwind Firebase - Auth, Database, and Hosting Vite
  • Show HN: Brutalisthackernews.com – A HN reader inspired by brutalist web design
    2 projects | news.ycombinator.com | 6 Apr 2024
    - Performance is a feature.

    Another common interpretation of brutalism is aesthetic, reacting to overly complicated user interfaces by creating simpler, more direct ones. Tailwind CSS (https://tailwindcss.com), one of today's most popular CSS libraries, promotes this approach in its component examples. There's also a neat library I've seen recently called "Neobrutalism Components" for React that I like (https://neobrutalism-components.vercel.app), providing components with a similar look and feel to Gumroad. This might more accurately be called 'Neo-Brutalism,' as noted in the comments.

    A more engineering-centric interpretation of Brutalism focuses on form, structure, and efficiency, drawing significantly from brutalist architecture principles. Apart from the user interface itself, most mobile, desktop, and web applications are extremely bloated and often perform worse than sites from 10 years ago did. While one HTML file might be "less brutalist" than the original HN site, it is substantially more brutalist than any HN mobile app in existence, and offers nearly identical functionality.

    A broader interpretation of brutalism, which could be termed 'Meta-Brutalism,' is embodied in the overall experience on this site through UX flows. Yes, in the strictest sense, the original HN site is more Brutalist in many ways, but it only shows 30 articles at a time and does not function as a PWA. For this site, the experience of reading 10 stories is arguably less brutalist, but for quickly browsing through several pages and skimming articles (which is how I read HN) it is a lot faster, and in my opinion, more Brutalist.

    My primary inspiration was addressing software and tool bloat in UIs rather than strictly adhering to every principle set forth by David Bryant Copeland. I don't find it convincing that this site "isn't brutalist" compared to really any other experience apart from the Main HN site, and I would argue the overall experience is more brutalist in its performance and scrolling behavior.

    As a side note: I generally don't like Brutalist architecture that much although I believe it is unfairly maligned. I visited the Salk Institute once and enjoyed it though (https://www.archdaily.com/61288/ad-classics-salk-institute-l...).

  • Ask HN: Who is hiring? (April 2024)
    10 projects | news.ycombinator.com | 1 Apr 2024
    - Staff Software Engineer ($275k/yr): https://tailwindcss.com/careers/staff-software-engineer

    We're small, independent, and profitable, with a team of just 6 people doing millions in revenue, and growing sustainably every year. You'd work directly with the founders on open-source software used by millions of people.

    If you like the idea of working on a small team that cares about craft and isn't trying to achieve VC scale, I think this is a pretty awesome place to do your best work.

What are some alternatives?

When comparing htm and Tailwind CSS you can also consider the following projects:

jsx - The JSX specification is a XML-like syntax extension to ECMAScript.

flowbite - Open-source UI component library and front-end development framework based on Tailwind CSS

Preact - ⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.

antd - An enterprise-class UI design language and React UI library

esbuild-plugin-alias - esbuild plugin for path aliases

unocss - The instant on-demand atomic CSS engine.

babel-plugin-react-html-attrs - Babel plugin which transforms HTML and SVG attributes on JSX host elements into React-compatible attributes

windicss - Next generation utility-first CSS framework.

vim-jsx-pretty - :flashlight: [Vim script] JSX and TSX syntax pretty highlighting for vim.

emotion - 👩‍🎤 CSS-in-JS library designed for high performance style composition

lit - Lit is a simple library for building fast, lightweight web components.

Material UI - Ready-to-use foundational React components, free forever. It includes Material UI, which implements Google's Material Design.