Nue: A React/Vue/Vite/Astro Alternative

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • www

    Content for nuejs.org (by nuejs)

  • The TODO app points to https://github.com/nuejs/www/blob/master/todomvc/todo-compac...

    but the link is broken, it's actually: https://github.com/nuejs/www/blob/master/todomvc/todomvc-com...

  • create-nue

    A recommended way to start a Nue project

  • Hey! You can clone and play with this: https://github.com/nuejs/create-nue — it showcases Nue JS, which is currently the only thing completed from the Nue Ecosystem. The only real Nue project atm is the nuejs.org website.

  • 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 logo
  • headlessui

    Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.

  • Thanks for sharing! I love projects that reimagine entire ecosystems: there's a lot of value in imagining what could be if we didn't worry about what is.

    Some feedback: your comparison of the various ListBox implementations[0] feels disingenuous. I know Vue best, so I looked at that implementation in detail, and it's got a lot going on that you don't attempt to replicate in your version. A few key features that are missing:

    * Search—in the HeadlessUI version there are several hundred lines dedicated to making typing work for jumping to specific list items.

    * Multiselect—HeadlessUI supports multiple selections, yours does not appear to. Again, this occupies a lot of lines.

    * Focus management—HeadlessUI has a lot of code dedicated to smoothing out the focus management. In my testing, your implementation has pretty buggy support for using tab to navigate.

    * The HeadlessUI version dedicates a lot of lines to types, where your Nue implementation is dynamically typed. This may be a feature for you, but in my mind those type declarations are doing important work.

    * In general, the HeadlessUI implementation tries to be flexible for many use cases [2], while yours only needs to support the one demo list.

    You also include this render.ts file [1] from HeadlessUI, which is more part of a bespoke sub-framework used by HeadlessUI than it is a necessary part of any old Vue ListBox implementation. If you're going to count that against Vue, then there are parts of Nue JS that should be included as well.

    These kinds of comparisons are most persuasive if you can write all the implementations from the ground up, using idiomatic patterns for each framework and identical feature sets for each implementation. When you do that, it's easy to compare and contrast the frameworks. As it is, it's like comparing a house to a garden shed: yes, you've used fewer lines of code, but it's not obvious to me that that's a feature of Nue and not just a byproduct of a less ambitious component.

    [0] https://nuejs.org/compare/component.html

    [1] https://github.com/tailwindlabs/headlessui/blob/%40headlessu...

    [2] https://headlessui.com/vue/listbox#component-apihttps://head...

  • htmlparser2

    The fast & forgiving HTML and XML parser

  • I hear you! I went all-in to jQuery- scene. Even wrote a semi-famous library called "jQuery Tools" (oldies know). Then came React and I wrote Riot to simplify the syntax. Then I sidetracked to a startup world for (too) many years and watched aside how the frontend ecosystem grew to it's current dimensions.

    Node uses a single dependency, htmlparser2 [1], in the package.json [2]. The HTML parser is used to traverse the HTML that is written on the Nue files. I quickly _thought_ of writing my own parser, but right now I'm having my eyes staring at Bun's native HTML parsing capabilities. Instead of Node, I'm using Bun to develop everything. I need less dependencies with it, because things like JS minification or .env file parsing are biult in.

    [1]: https://github.com/fb55/htmlparser2

  • nue

    The Content First Web Framework

  • bun

    Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one

  • Preact

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

  • A truly reactive Preact [1] is merely 3 kb of JS.

    OTOH the need for really simple bits of interactivity does occur in real life. If the htmx [2] approach does not cu it, a micro-library like this could.

    [1]: https://preactjs.com/

    [2]: https://htmx.org/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • htmx

    </> htmx - high power tools for HTML

  • A truly reactive Preact [1] is merely 3 kb of JS.

    OTOH the need for really simple bits of interactivity does occur in real life. If the htmx [2] approach does not cu it, a micro-library like this could.

    [1]: https://preactjs.com/

    [2]: https://htmx.org/

  • shoelace-css

    A collection of professionally designed, every day UI components built on Web standards. SHOELACE IS BECOMING WEB AWESOME. WE ARE LIVE ON KICKSTARTER! 👇👇👇

  • After trying out and reviewing the code of https://shoelace.style/ I began asking the question: Do we still need libraries like Vue? Haven't native web components reached the point where we can let go of the component "polyfills" we've been using?

    This crossover is bound to happen, like it happened with jQuery. The question is when.

  • mojo.js

    :unicorn: The Mojolicious real-time web framework for Node.js

  • Have you looked at https://mobx-keystone.js.org/ by any chance?

    I've been quite enjoying keystone + lit (or react if required) of late and at the very least it feels like solid prior art towards MVC stuff.

    Also https://mojojs.org/ for server side.

    (I'm not saying "use these" even if I quite enjoy using them myself, but they're my reference points for comparison here)

  • stencil

    A toolchain for building scalable, enterprise-ready component systems on top of TypeScript and Web Component standards. Stencil components can be distributed natively to React, Angular, Vue, and traditional web developers from a single, framework-agnostic codebase.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts