nowfound

Dev tools · alternatives · 2026

GA

24 alternatives to GrainJS – a light TypeScript web framework

GrainJS is a JavaScript / TypeScript library for building dynamic web applications. - It's in part inspired by React, but based on observables (like Knockout) instead of virtual dom. - It is lightweight, has no dependencies, and takes only ~30KB minified. - It needs no special tooling. It's nothing more than a library. - It supports convenient DOM-building in JS, event dispatching, DOM event subscriptions, 9disposable components, and in-code CSS styling. - It's fully typed for use with TypeScript. - It's proven its worth by powering Grist's rich frontend app. Source code:…

Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes.

  1. 1

    Reactive states library for HTML

    2025 · github.com · its alternatives →

  2. 2AA

    Yes, another reactive UI framework for JavaScript. Bear with me, please... :-) I 'invented' the concept for this back in 2011, and it was used (as a proprietary lib) in various startups. Even though many similar open source libs have been released since, and boy have I tried a lot of them, none have been able to capture the elegance and DX of what we had back then. I might be biased though. :-) So I started creating a cleaned-up, modern, TypeScript, open source implementation for the concept about five years ago. After many iterations, working on the project on and off, I'm finally happy…

    2025 · aberdeenjs.org · its alternatives →

  3. 3

    1kB-ish JavaScript framework for building hypertext applications - hyperapp/hyperapp

    2017 · github.com · its alternatives →

  4. 4

    Build powerful & dynamic web applications – without limits

    2022 · nextjs.org · its alternatives →

  5. 5
    Leafjs▲81

    A lightweight web-components based frontend framework

    2022 · its alternatives →

  6. 6AI
  7. 7

    1kB-ish JavaScript framework for building hypertext applications - hyperapp/hyperapp

    2017 · github.com · its alternatives →

  8. 8
    Bun▲295

    A fast JS runtime Node.js replacement with built‑in tools

    Dec 2025 · bun.com · its alternatives →

  9. 9
    DisplayJS▲210

    A simple JavaScript framework for building ambitious UIs 😊

    2017 · display.js.org · its alternatives →

  10. 10

    Hey HN, I'd like to share a fun project I've been working on: mizu.js. It's a js library that add functional attributes support into your html, designed to be a simple and flexible alternative to fully-fledged web frameworks (such as Vue, React, and Angular), while offering more capabilities than other lightweight options (like Alpine.js and htmx). As it's written using modern ES features and due to its isomorphic nature, it can be run in both browsers and runtimes (Node, Deno, Bun) without any changes. This makes it ideal for client-side and server-side rendering, as well as static site…

    2024 · mizu.sh · its alternatives →

  11. 11

    This TypeScript package allows you to safely execute JavaScript code within a WebAssembly sandbox using the QuickJS engine. Perfect for isolating and running untrusted code securely, it leverages the lightweight and fast QuickJS engine compiled to WebAssembly, providing a robust environment for code execution. Features - *Security*: Run untrusted JavaScript code in a safe, isolated environment. - *File System*: Can mount a virtual file system - *Custom Node Modules*: Custom node modules are mountable - *Fetch Client*: Can provide a fetch client to make http(s) calls - *Test-Runner*: Includes…

    2024 · github.com · its alternatives →

  12. 12

    Create and share simple web demos using TypeScript, CSS, and HTML. Prototype new ideas quickly.

    2017 · codewich.com · its alternatives →

  13. 13

    1kB-ish JavaScript framework for building hypertext applications - hyperapp/hyperapp

    2017 · github.com · its alternatives →

  14. 14
    RedwoodJS▲203

    Hey everyone, I'm the original co-creator of RedwoodJS. (The framework that myself and Tom Preston-Werner, Rob Cameron and David Price built during Covid.) I had tried to build a developer tool startup (Snaplet), and failed. I rejoined the efforts to add RSC to Redwood, but I realized that we needed a much simpler framework that was closely tied to a platform (We chose Cloudflare). We started building RedwoodSDK a year ago and this is the result. An insanely simple stack. I am incredibly proud of this work, please star our repo and let me know if there's anything that doesn't resonate with…

    2022 · rwsdk.com · its alternatives →

  15. 15

    Hi HN! I created this lib in the need of a simple and tiny framework to easily do AJAX-style navigation / replacement of fragments in the page, in a web application. For people who don't want to use client-side-rendering and complex frameworks à la React, there are nowadays a few "HTML-over-the-wire" libraries, like HTMX, Unpoly or this super-tiny one Swap.js :) One other key thing is that no external tool is needed: no bundler, no webpack, no TypeScript compiler, no minification needed. Just write HTML, JS (+ your preferred server-side language: PHP, Python, etc.) and it works. The…

    2023 · github.com · its alternatives →

  16. 16
    NestJS▲149

    A progressive Node.js framework 🚀

    2018 · nestjs.com · its alternatives →

  17. 17

    1kB-ish JavaScript framework for building hypertext applications - hyperapp/hyperapp

    2017 · github.com · its alternatives →

  18. 18

    I built µJS because I wanted AJAX navigation without the verbosity of HTMX or the overhead of Turbo. It intercepts links and form submissions, fetches pages via AJAX, and swaps fragments of the DOM. Single tag, one call to `mu.init()`. No build step, no dependencies. Key features: patch mode (update multiple fragments in one request), SSE support, DOM morphing via idiomorph, View Transitions, prefetch on hover, polling, and full HTTP verb support on any element. At ~5KB gzipped, it's smaller than HTMX (16KB) and Turbo (25KB), and works with any backend: PHP, Python, Go, Ruby, whatever.…

    Mar 2026 · mujs.org · its alternatives →

  19. 19

    We've been building Crust (https://crustjs.com/), a TypeScript-first, Bun-native CLI framework with zero dependencies. It's been powering our core product internally for a while, and we're now open-sourcing it. The problem we kept running into: existing CLI frameworks in the JS ecosystem are either minimal arg parsers where you wire everything yourself, or heavyweight frameworks with large dependency trees and Node-era assumptions. We wanted something in between. What Crust does differently: - Full type inference from definitions — args and flags are inferred automatically. No…

    Mar 2026 · github.com · its alternatives →

  20. 20FJ
  21. 21

    A tiny async loader / dependency manager for modern browsers (961 bytes) - amorey/loadjs

    2016 · github.com · its alternatives →

  22. 22

    :umbrella: Lightweight javascript library for DOM manipulation and events

    2018 · umbrellajs.com · its alternatives →

  23. 23

    I always had a sweet tooth for how easy it is to use google/benchmark, but when working with js, current libraries didn't feel right and some were not even accurate enough, so I decided to create my own library to make JavaScript benchmarking tooling better. With more free time, I finally implemented all features I wished for in 1.0.0 and made a lightweight C++ single-header version for moments when google/benchmark is too much. Hope this library helps you as much as it does me.

    2024 · github.com · its alternatives →

  24. 24

    An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.

    2021 · caldom.org · its alternatives →

Also compare

Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →