swup VS Mithril.js

Compare swup vs Mithril.js and see what are their differences.

swup

Versatile and extensible page transition library for server-rendered websites 🎉 (by swup)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
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
swup Mithril.js
17 50
4,446 13,896
0.8% 0.5%
9.7 3.4
22 days ago 12 days ago
TypeScript JavaScript
MIT License 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.

swup

Posts with mentions or reviews of swup. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-19.
  • The Subtle Case For and Against React
    3 projects | dev.to | 19 Apr 2024
    https://swup.js.org/ single-page-app but with minimal framework, still along for the feel of an SPA
  • Coming to grips with JS: a Rubyist's deep dive
    16 projects | dev.to | 29 Dec 2023
    Sure, you can use any number of JS-avoidance libraries. I'm a fan of Turbo, and there's also htmx, Unpoly, Alpine, hyperscript, swup, barba.js, and probably others.
  • [Swup] Has anyone used Swup with React
    1 project | /r/react | 29 Nov 2023
    Swup is this nice page transition library I found recently : https://swup.js.org/
  • Show HN: We built swup+fragment-plugin to visually enhance classic websites
    4 projects | news.ycombinator.com | 2 Aug 2023
    2. The newly released fragment-plugin [3] that provides a declarative API for dynamically replacing containers based on rules

    I can now finally build websites that tick all three boxes:

    1. Visually impressive, fun, and snappy by using swup's first-class support for animations[4], cache[5], and preload capacities[6], enhanced with fragment visits as seen on the demo site.

    2. Accessible by being able to serve server-rendered semantic markup that will fully work even with JavaScript disabled (try it out on the demo site!). On top of that, swup's a11y plugin[7] will automatically announce page visits to assistive technologies and will focus the new `

    ` element after each visit.

    3. Because now all I need for my fancy frontend is a bit of progressive JavaScript, I can choose whatever tool I like on the server, keeping complexity low and maintainability high. I can use SSGs like eleventy or Astro (the demo site is built using Astro!), I can use any CMS like WordPress or ProcessWire, or a framework like Laravel. And I don't have to maintain an additional node server for SSG!

    And all it took was 20 years! ;)

    [0] https://github.com/swup/swup

  • Animated transitions between sections
    2 projects | /r/webdev | 26 Jun 2023
  • How to use View Transitions in Hotwire Turbo
    10 projects | dev.to | 16 Feb 2023
    So what are View Transitions good for? In short, they allow adding animated page transitions. Although we already have several standard options to animate stuff on web pages (CSS Transitions, CSS Animations or the Web Animations API) and countless more options in particular JavaScript frameworks and libraries (Framer Motion for React, Vue Transitions, Svelte Transitions, Swup, Barba.js or Animate.css to name just a few), the web still lacks a generic, standards-based and easy-to-use solution to animate transitions between pages or during DOM updates. At least that’s what Google engineers say and I tend to agree with them.
  • Smooth Page Transitions in 2023
    4 projects | /r/webdev | 31 Jan 2023
    Is https://turbo.hotwired.dev/ my replacement? Or Swup.js?
  • Alpine.js
    17 projects | news.ycombinator.com | 13 Jan 2023
  • Is there any js library to add fluid "app-like" animations to a website?
    2 projects | /r/webdev | 28 Dec 2022
    I've used https://swup.js.org/. Simple to setup with one of the built in/contributed themes, haven't tried building a custom theme however. Also has a lot of good plugins for eg. accessibility. I used it in combination with Astro so a static site with a separate html file for each page.
  • Migrating my website from Gatsby to Astro
    13 projects | dev.to | 25 Nov 2022
    Like Gatsby or Next, Astro does not have any client side navigation. So each link click triggers a full page reload. Astro recommends to use Swup as mentioned here. Turbo is also another option though the team does not recommend it. I'm currently using Swup which I'll probably switch from or completely remove it as I have added TOC to MDX and clicking on a title is not redirecting the page to that particular section.

Mithril.js

Posts with mentions or reviews of Mithril.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-21.
  • Ask HN: I can no longer like React, do you?
    1 project | news.ycombinator.com | 29 Apr 2024
    I don’t enjoy React much, but (as I’ve commented before) I do love Mithril (https://mithril.js.org). Immediate-mode UI via a vDOM, like React, but small, simple, and with none of the reactivity complications. I’d never go back to building apps with pure JS.
  • Mithril.js: A Modern Framework for JavaScript
    1 project | dev.to | 25 Apr 2024
    You can find more information about Mithril.js on its official website.
  • Ludic: New framework for Python with seamless Htmx support
    27 projects | news.ycombinator.com | 21 Mar 2024
    The idea of nested function calls to build HTML is not new. Back in the hey-day of JS frameworks, this was a common vdom pattern. I kinda miss [MithrilJS](https://mithril.js.org/#dom-elements)
  • No CMS? Writing Our Blog in React
    6 projects | news.ycombinator.com | 12 Feb 2024
    I have mixed feelings about React. I like it better than jQuery, and better than other JS frameworks I’ve used.

    But I much prefer Mithril (https://mithril.js.org/), which offers the same immediate-mode advantages (https://news.ycombinator.com/item?id=19746235) but without the crazy complex dependency-tracking reactivity.

    I rather liked this comment on React: https://news.ycombinator.com/item?id=38640051

  • VueJS turns 10 years old
    5 projects | news.ycombinator.com | 4 Feb 2024
    Vue with Vite (the builder/runner) is a stable, open source option. It is really a lightweight start where you're mostly writing HTML with interpolated data, and Vue is updating values correctly and performantly. Just build your reactive HTML app in one file and break into separate components as you're feeling the spirit. https://vuejs.org/guide/quick-start

    Mithril if you just want to drop in want a tiny, complete reactive library that doesn't require a build step--this one is most like what you might end up creating in a large jQuery app. You can understand everything from the homepage. https://mithril.js.org/

    HTMX if you really like HTML conventions. This doesn't feel jQuery-like and depends on your approach to your server app. https://htmx.org/

  • VanJS: A 0.9KB JavaScript UI framework
    15 projects | news.ycombinator.com | 20 Dec 2023
  • HTMX for pages with heavy user interactivity
    2 projects | /r/htmx | 24 Oct 2023
    React is still has gratuitous complexity. If you need some React like, take a look at mithril which is simpler and much smaller.
  • Lodash just declared issue bankruptcy and closed every issue and open PR
    7 projects | news.ycombinator.com | 16 Sep 2023
    The submitter creating multiple var -> let PRs (one PR per file), was also doing this in other projects, and would've broken some of their users.

    https://github.com/MithrilJS/mithril.js/pull/2880#pullreques...

    And he created multiple PRs there too. And didn't follow their workflow...

  • Produce HTML from S-Expressions
    5 projects | news.ycombinator.com | 30 Aug 2023
  • Vanjs
    2 projects | news.ycombinator.com | 3 Aug 2023

What are some alternatives?

When comparing swup and Mithril.js you can also consider the following projects:

highway - Highway - A Modern Javascript Transitions Manager

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

highway - Performance-portable, length-agnostic SIMD with runtime dispatch

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

single-spa - The router for easy microfrontends

riot - Simple and elegant component-based UI library

pjax - Easily enable fast Ajax navigation on any website (using pushState + xhr)

inferno - :fire: An extremely fast, React-like JavaScript library for building modern user interfaces

turbo - The speed of a single-page web application without having to write any JavaScript

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

barba - Create badass, fluid and smooth transitions between your website’s pages

Aurelia 1 - The Aurelia 1 framework entry point, bringing together all the required sub-modules of Aurelia.