Cassius VS quickjs

Compare Cassius vs quickjs and see what are their differences.

Cassius

A CSS specification and reasoning engine (by uwplse)

quickjs

Public repository of the QuickJS Javascript Engine. (by bellard)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Cassius quickjs
5 65
90 7,641
- -
0.0 9.1
about 1 year ago 4 days ago
Racket C
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.

Cassius

Posts with mentions or reviews of Cassius. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-12.
  • The Rules of Margin Collapse
    2 projects | news.ycombinator.com | 12 Sep 2023
    FWIW, while there are unfortunately only very few attempts at formalizing CSS, there's at least an unofficial, unreviewed (?), partial formal semantics for (CSS 2-era) float layout based on z3 SMT and Racket you can take a look at to get a flavor, though it isn't receiving further development.

    [1]: https://github.com/uwplse/cassius

    [2]: https://pavpanchekha.com/blog/css-floats.html

  • W3C’s transfer from MIT to non-profit going poorly
    6 projects | /r/programming | 19 Dec 2022
    Do we need W3C anymore? The HTML 5 specification has been created by WHATWG for many years now, with W3C only rubber-stamping historic WHATWG versions until 2017 or so. SVG2 is going nowhere, and so isn't MathML, leaving the CSS working group as W3C's remaining point of influence over the Web. CSS is regarded as so poor and overdone a specification that the only two external projects for a formal specification have failed or remained woefully incomplete (1, 2).
  • Is There Too Much CSS Now?
    4 projects | news.ycombinator.com | 7 Nov 2022
    1. CSS should've been split into app-y styles and doc-y styles a looong time ago; meaning that when you need JavaScript to make use of a feature anyway, there's no point in using CSS and it's better to set styles, layout using JavaScript rather than bloat CSS. The Houdini API was on the right track years ago.

    2. The CSS WG at W3C must deliver formal specification rather than the prose they're writing up now. For an idea how a (partial) formal spec for CSS rendering looks like, see eg. [1], [2] (with limitations).

    The one way complexity that both W3C and WHATWG have delivered over the past 15 years with complete lack of mental discipline due to financial dependency/job security will be a major source of confusion for generations to cone, and will not be looked at favorably.

    [1]: https://github.com/uwplse/cassius

    [2]: https://github.com/lmeyerov/sc

  • Verifying GCC optimizations using an SMT solver
    2 projects | news.ycombinator.com | 4 Nov 2022
    There's this cool project using z3 (and racket) for formalizing CSS rendering [1] I never came around to lift for anything. Maybe someone else interested in leading the web out of the dark ages and give W3C's CSS WG an idea what we expect from them will.

    [1]: https://github.com/uwplse/cassius

  • Ladybird: A new cross-platform browser project
    19 projects | news.ycombinator.com | 12 Sep 2022
    FWIW, I know two (partial, kinda) formal specifications of CSS normal flow and float layout, both of which are finished ie dead projects:

    [1]: https://lmeyerov.github.io/projects/pbrowser/pubfiles/paper....

    [2]: https://github.com/uwplse/cassius

    (not counting the 1990s constraint CSS effort).

    The first was merely part of a parallel compiler project and also covers table layout, whereas the second is a Racket (Scheme) program to formulate the HTML doc and CSS rules as a theory for submitting to z3 SMT to solve all kinds of decision problems (it can also produce a rendering).

    Not sure that's very helpful; it would be cool if W3C can invest some time into better specs (not just prose).

quickjs

Posts with mentions or reviews of quickjs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-02.
  • Show HN: Happy Pi day with this PWA to cut 100k Pi digits offline
    1 project | news.ycombinator.com | 13 Mar 2024
    It uses service workers to cache static files, by the time it opens up you already free to be offline, try toggle network switch to verify.

    It has download link at bottom of the about page ([accdoo.app/about]) which you could then self host it by dropping into any static hosting services.

    btw, the Pi feature was by-product from the original App but I won't expand here, if you'd like to learn more, please checkout its two Show HN post (39115559 and 39138957) previously.

    [wiki]: https://en.wikipedia.org/wiki/Chudnovsky_algorithm

    [quickjs/pi]: https://bellard.org/quickjs/pi.html

    [pi_bigint.js]: https://github.com/bellard/quickjs/blob/master/examples/pi_b...

    [accdoo.app/about]: https://accdoo.app/about#releases

    [39115559]: https://news.ycombinator.com/item?id=39115559

    [39138957]: https://news.ycombinator.com/item?id=39138957

  • Ask HN: C/C++ plugin make JavaScipt end up with C/C++ binary?
    2 projects | news.ycombinator.com | 2 Mar 2024
    Just go with quickjs, I think this is what you are looking for.

    https://bellard.org/quickjs/

  • Show HW: accdoo cipher web app now fused with offline Pi cutter (100k digits)
    1 project | news.ycombinator.com | 2 Feb 2024
  • QuickJS JavaScript Engine
    1 project | news.ycombinator.com | 18 Jan 2024
  • A list of JavaScript engines, runtimes, interpreters
    23 projects | /r/learnjavascript | 10 Dec 2023
    QuickJS
  • Can you make your own JavaScript by implementing ECMAScript standard?
    10 projects | /r/learnjavascript | 10 Dec 2023
    I think QuickJS, written in C, is a user-"friendly" starting point for implementing ECMA-262. Documentation QuickJS Javascript Engine.
  • New QuickJS Release
    1 project | /r/hypeurls | 9 Dec 2023
    6 projects | news.ycombinator.com | 9 Dec 2023
    There is a readme on the project's main page: https://bellard.org/quickjs/

    The newsworthy bit here is that the activity seemed to have stalled for year or two and now Fabrice pushed a few fixes and made a new release.

  • GitHub
    1 project | /r/learnjavascript | 6 Dec 2023
    Just to demonstrate GitHub repositories do not necessarily reflect upon a programmers' body of work, Fabrice Bellard has one (1) repository published on GitHub, quickjs. Compare the list of work on Bellard's home page https://bellard.org/.
  • WinterJS
    6 projects | news.ycombinator.com | 28 Oct 2023
    > I am still confused, it's a JavaScript runtime intended to be deployed to JavaScript/Wasm runtimes?

    Seemingly.

    > Why does a JavaScript runtime need a JavaScript runtime?

    Because if you want to create a Service Worker server for CloudFlare Workers and other JavaScript/Wasm runtimes, that's the only option for doing that AFAIK.

    FWIW, this isn't a new idea. For example, Figma uses QuickJS (https://bellard.org/quickjs/) for their plug-in runtime: https://www.figma.com/blog/an-update-on-plugin-security/

What are some alternatives?

When comparing Cassius and quickjs you can also consider the following projects:

Radpath - Path library for Elixir inspired by Python's pathlib

Duktape - Duktape - embeddable Javascript engine with a focus on portability and compact footprint

ex_guard - ExGuard is a mix command to handle events on file system modifications

jerryscript - Ultra-lightweight JavaScript engine for the Internet of Things.

sizeable - An Elixir library to make File Sizes human-readable

mjs - Embedded JavaScript engine for C/C++

servo-embedding-example - Examples of embedding Servo inside non-browser GL applications.

edex-ui - A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.

alive2 - Automatic verification of LLVM optimizations

Nuitka - Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.

wpt - Test suites for Web platform specs — including WHATWG, W3C, and others

esp8266-quickjs - An attempt on getting QuickJS working on ESP8266 hardware