pico VS htmx

Compare pico 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
pico htmx
67 571
12,629 33,880
2.0% 3.6%
9.1 9.5
3 days ago 6 days ago
CSS JavaScript
MIT License 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.

pico

Posts with mentions or reviews of pico. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-28.
  • List of awesome CSS frameworks, libraries and software
    56 projects | dev.to | 28 May 2024
    picocss/pico - Minimal CSS Framework for semantic HTML
  • Show HN: Pico: An open-source Ngrok alternative built for production traffic
    14 projects | news.ycombinator.com | 14 May 2024
  • How to use Tailwind with any CSS framework
    5 projects | dev.to | 17 Apr 2024
    Tailwind is great, but creating everything from scratch is annoying. A nice base of components which can be extended with tailwind would be great. There are a few tailwind frameworks like Flowbite, Daisy Ui, but I like Bulma, PicoCSS and Bootstrap.
  • Concrete.css
    11 projects | news.ycombinator.com | 8 Feb 2024
    Modern CSS stylesheets include configurability via CSS variables on the root element so maybe that's where the "framework" comes from.

    Also note: This project looks like an even more minimized version of PicoCSS [1]

    [1] https://picocss.com/

  • Show HN: A template for Markdown-based sites (no static site generator required)
    3 projects | news.ycombinator.com | 3 Dec 2023
    The templates grabs Markdown file data with XMLHttpRequest and converts it to HTML with https://showdownjs.com/ . Classless styles are done with https://picocss.com/ and code block syntax highlighting is done with https://highlightjs.org/ .

    GitHub repo: https://github.com/dandalpiaz/markdown-pages

  • HTML Web Components: An Example
    3 projects | news.ycombinator.com | 17 Nov 2023
    This is exactly why I love HTMX [1] in combination with PicoCSS[2]. HTMX is just the regular html elements with ajax extensions built into the tags (it is a js library currently but they plan on lobbying to have these as default functionalities with HTML in the future) and picoCSS also works without classes so you are "trained" to use the semantic tags for the page to be rendered beautifully

    [1] https://htmx.org/

    [2] https://picocss.com/

  • Crafting A Minimalist Portfolio Website with SvelteKit and Pico CSS
    9 projects | dev.to | 14 Oct 2023
    /*! * Minimal theme switcher * * Pico.css - https://picocss.com * Copyright 2019-2023 - Licensed under MIT */ /** * Minimal theme switcher * * @namespace * @typedef {Object} ThemeSwitcher * @property {string} _scheme - The current color scheme ("auto", "light", or "dark"). * @property {string} menuTarget - The selector for the menu element that contains theme switchers. * @property {string} buttonsTarget - The selector for theme switcher buttons. * @property {string} buttonAttribute - The attribute name used for theme switcher buttons. * @property {string} rootAttribute - The attribute name used for the root HTML element to store the selected theme. * @property {string} localStorageKey - The key used to store the preferred color scheme in local storage. */ export const ThemeSwitcher = { // Config _scheme: 'auto', menuTarget: "details[role='list']", buttonsTarget: 'a[data-theme-switcher]', buttonAttribute: 'data-theme-switcher', rootAttribute: 'data-theme', localStorageKey: 'picoPreferredColorScheme', /** * Initialize the theme switcher. * * @function * @memberof ThemeSwitcher */ init() { this.scheme = this.schemeFromLocalStorage || this.preferredColorScheme; this.initSwitchers(); }, /** * Get the color scheme from local storage or use the preferred color scheme. * * @function * @memberof ThemeSwitcher * @returns {string|null} The color scheme ("light", "dark", or null). */ get schemeFromLocalStorage() { if (typeof window.localStorage !== 'undefined') { if (window.localStorage.getItem(this.localStorageKey) !== null) { return window.localStorage.getItem(this.localStorageKey); } } return this._scheme; }, /** * Get the preferred color scheme based on user preferences. * * @function * @memberof ThemeSwitcher * @returns {string} The preferred color scheme ("light" or "dark"). */ get preferredColorScheme() { return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; }, /** * Initialize the theme switcher buttons and their click events. * * @function * @memberof ThemeSwitcher */ initSwitchers() { const buttons = document.querySelectorAll(this.buttonsTarget); buttons.forEach((button) => { button.addEventListener( 'click', (event) => { event.preventDefault(); // Set scheme this.scheme = button.getAttribute(this.buttonAttribute) || 'auto'; // Close dropdown document.querySelector(this.menuTarget)?.removeAttribute('open'); }, false ); }); }, /** * Set the selected color scheme and update the UI. * * @function * @memberof ThemeSwitcher * @param {string} scheme - The color scheme to set ("auto", "light", or "dark"). */ set scheme(scheme) { if (scheme == 'auto') { this.preferredColorScheme == 'dark' ? (this._scheme = 'dark') : (this._scheme = 'light'); } else if (scheme == 'dark' || scheme == 'light') { this._scheme = scheme; } this.applyScheme(); this.schemeToLocalStorage(); }, /** * Get the current color scheme. * * @function * @memberof ThemeSwitcher * @returns {string} The current color scheme ("auto", "light", or "dark"). */ get scheme() { return this._scheme; }, /** * Apply the selected color scheme to the HTML root element. * * @function * @memberof ThemeSwitcher */ applyScheme() { document.querySelector('html')?.setAttribute(this.rootAttribute, this.scheme); }, /** * Store the selected color scheme in local storage. * * @function * @memberof ThemeSwitcher */ schemeToLocalStorage() { if (typeof window.localStorage !== 'undefined') { window.localStorage.setItem(this.localStorageKey, this.scheme); } } };
  • The What, Why and How of JavaScript bundlers
    1 project | dev.to | 13 Oct 2023
    To understand the core problem, let's consider a very simple traditional web app, with HTML, CSS and a script tag injecting an index.js which acts as the entry point for JavaScript. To add some styling we're also injecting some external UI library like Pico CSS via a CDN and linking the same.
  • A More Modern CSS Reset
    1 project | news.ycombinator.com | 24 Sep 2023
    This is excellent if bare bones. It's meant for "the clean slate" style of CSS development. To be honest, I do less and less of starting from zero.

    Another style is a more built up starting point like PicoCSS. https://picocss.com/

    Both have their place and their use cases.

  • Why everybody speaks only about Tailwind, what happened to Boo0strap?
    2 projects | news.ycombinator.com | 23 Sep 2023
    I personally prefer Bootstrap to Tailwind, but my favorite is https://picocss.com/

    Usually, I just want decent-looking default CSS styles. The benefits of a CSS framework have diminishing returns when using frameworks with styles scoped to components (like SvelteKit/Vue/React).

    The fact Tailwind removes all styles so you can't even tell a button is a button unless you add classes is annoying. If you know the class names, sometimes it's a little more convenient to add Tailwind classes, but for the most part it just clutters the HTML. And it makes it difficult to update entire "classes" of elements: you have to update each element one at a time.

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-06-02.
  • Htmx Sucks
    1 project | news.ycombinator.com | 9 Jun 2024
    I expect the author would mostly agree with you, but see the "motivation" header under https://htmx.org/
  • Hotwire: HTML Over The Wire
    5 projects | news.ycombinator.com | 2 Jun 2024
    A way less marketed version of this is htmx [1]. It is a single javascript file that enables this functionality. I mostly see people using it with Go backends but I think it is flexible. I have been meaning to try it out for a year or so.

    1. https://htmx.org/

  • htmx vs. React: Choosing the right library for your project
    3 projects | dev.to | 21 May 2024
    Since its first release in 2020, htmx has grown in popularity to over 30k stars on GitHub, which looks promising. However, it has yet to dethrone React, which boasts over 220k stars on GitHub.
  • Hanami and HTMX - progress bar
    5 projects | dev.to | 7 May 2024
    Hi there! I want to show off a little feature I made using hanami, htmx and a little bit of redis + sidekiq.
  • 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/

What are some alternatives?

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

Tailwind CSS - A utility-first CSS framework for rapid UI development.

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

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

unocss - The instant on-demand atomic CSS engine.

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

Grav - Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony

unpoly - Progressive enhancement for HTML

react-snap - πŸ‘» Zero-configuration framework-agnostic static prerendering for SPAs

sakura - :cherry_blossom: a minimal css framework/theme.

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

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