jsx VS Mithril.js

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

jsx

The JSX specification is a XML-like syntax extension to ECMAScript. (by facebook)
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
jsx Mithril.js
14 50
1,945 13,896
0.2% 0.5%
0.0 3.4
5 months ago 12 days ago
HTML JavaScript
- 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.

jsx

Posts with mentions or reviews of jsx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-12.
  • I am having to pass down 8+ props even for simple components. What are some common ways to mitigate this? (Typescript)
    2 projects | /r/reactjs | 12 May 2023
    Svelte syntax? Yes, there is upcoming initiative JSX 2.0 which includes shorthands like that. However, have no idea whether it will be released any time soon. So let's say "this is part of React/JSX 1.0" (shrugging)
  • Why TypeScript is the better JavaScript
    2 projects | dev.to | 7 May 2023
    Inherent support for JSX in the language itself
  • Node.js やReact、ESM、Viteの説明
    7 projects | dev.to | 21 Jan 2023
    JavaScript + HTML(DOM)= JSX
  • Alpine.js
    17 projects | news.ycombinator.com | 13 Jan 2023
    FWIW, the className prop is a React thing not a JSX thing. Other libraries which use JSX will happily accept a plain class prop. The React limitation is abstraction leakage: props are not attributes, they map to DOM properties.

    But to the point that JSX is a DSL, that limitation is specifically because React itself is very tightly coupled to DOM semantics… but JSX explicitly has no built in semantics[1].

    1: First sentence of https://facebook.github.io/jsx/ - “JSX is an XML-like syntax extension to ECMAScript without any defined semantics.”

  • React - Introducing JSX
    2 projects | dev.to | 6 Sep 2022
    JSX stands for 'JavaScript XML' and is a syntax extension for JavaScript. It is used to create DOM elements that are then rendered in the React DOM. Although it looks like HTML, it is actually an XML-like syntax specifically written for use in React. Interestingly, JSX is not valid JavaScript either. JSX needs to be compiled by a tool like Babel to be translated into regular JavaScript that a browser can understand. Put simply, JSX describes what the UI should look like, and React takes care of properly rendering it.
  • Web lagnunages to learn
    3 projects | /r/learnprogramming | 29 Jul 2022
  • My thoughts on Mithril.js
    7 projects | dev.to | 3 May 2022
    Alternatively, you can use JSX syntax (like with React), but then you need build-tools.
  • Incrementally adopting TypeScript in a create-react-app project
    6 projects | dev.to | 11 Jan 2022
    Note: For React component files (JSX) we'll use .tsx to maintain JSX support and for non React files we'll use the .ts file extension. However, if you want you could still use .ts file extension for React components without any problem.
  • Sciter, the 5 MB Electron alternative, has switched to JavaScript
    16 projects | news.ycombinator.com | 30 Dec 2021
    I’m concerned that you’re falling into the same trap here with integrating your own variant of JSX, and mulling over adding more things like hyphens in unquoted object literal keys.

    JSX is popular enough that it’s safe, ECMAScript isn’t going to break it, but your alterations to JSX are already significantly incompatible: you have being equivalent to JSX("input", {"class": "search"}, null), but the JSX everyone else is using has that equivalent to JSX(input.search, {}, null). I’m not certain if your JSX syntax is supposed to be able to be used with React code or anything else that uses JSX syntax, but if yes then it’ll be broken in a significant number of cases so that it’s worse than useless, and if no, well, it’s going to be misleading, and what if JSX did get merged into ECMAScript in some form? Then you’d be incompatible with ECMAScript again.

    Same deal with hyphens in unquoted object literal keys: it’s not part of ECMAScript now, but just because it’d be a syntax error now doesn’t mean it always will be. Decorators in TypeScript are a good example of things going badly wrong even when an extremely popular project is involved.

    I say: if you want to go JavaScript, go JavaScript, maaaaaybe plus standard JSX conforming with <https://facebook.github.io/jsx/>, and no further. Even if what you do is obviously superior, &c. &c. I’d apply the same reasoning on your fork of CSS: you introduced it for a good reason back then, but now it’s just friction, even if it’s a little better in a vacuum (and maybe it is in parts, maybe it isn’t in other parts).

  • Do you think HTML is a programming language
    3 projects | /r/ProgrammerHumor | 24 Dec 2021
    Then it might be time for a pull request which identifies these parts as JSX.

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 jsx and Mithril.js you can also consider the following projects:

htm - Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.

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

React - The library for web and native user interfaces.

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

joystick - A full-stack JavaScript framework for building stable, easy-to-maintain apps and websites.

riot - Simple and elegant component-based UI library

denoflare - Develop, test, and deploy Cloudflare Workers with Deno.

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

prepack - A JavaScript bundle optimizer.

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

vite - Next generation frontend tooling. It's fast!

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