21 ms·
Show HN: Nue – Apps lighter than a React button
- tipiirai 2y agoNue’s a web framework I’m building to slice through modern web dev bloat. When a Vite/ShadCN/Tailwind button is 40% heavier than a full-blown SPA, it’s time to do things differently. We’re retooling from the ground up—web standards first, no bloat. It’s for frontend architects, design engineers, and UX folks craving simpler, saner workflows. Still in progress, but the shift’s coming. Curious to hear your thoughts!
- whatever1 2y agoHow is Vite relevant to the discussion? It's like saying the UI based on Visual Studio is lighter.
- tipiirai 2y agoBecause Vite emphasizes "Optimized build" in their marketing
- notpushkin 2y agoSlower builds might make developers more thoughtful of the bloat, but I still think it’s tangential. That said, how does Nue compare to, say, Svelte?
- isqueiros 2y agoI'm not sure if I got this correctly, but it seems like you're misunderstanding what Vite actually is or does. For having built what is essentially a bundler, I would've guessed you were more familiar with what it does, or, perhaps even have used it to build your tool. Vite can bundle framework-less html files. It can create an SPA without any JS faff. You just have to point it to the right direction. When you instantiate a Vite app, you have to make the conscious decision to use React under the hood. As for Nue, I think it's a cool idea, but I don't see what it does that I couldn't do with Astro, which has way larger community support and can work with pretty much all JS frameworks OOB. BTW, I think it's really disingenuous to compare a React SPA bundle with an SSG output. You have essentially no functionality for handling state mutations beside events. You could achieve a much better middle ground by using a compiled framework like Svelte or Solid.
- mrcsharp 2y agoI'd argue that UIs built in Visual Studio are a lot more performant and lightweight than Electron apps.
- n2d4 2y agoWhat do you mean by "lighter than a React button"? Do you mean lighter than the entire React runtime, plus a React button? If so, that's somewhat disingenuous because even though a page with a single button would require the entire runtime, a second React button would be significantly cheaper than that.
- tipiirai 2y agoYes. React runtime included. Benchmark and details here: https://nuejs.org/docs/react-button-vs-nue.html https://nuejs.org/docs/react-button-vs-nue.html
- Fulgen 2y agoAs the previous commenter said - you don't need a new runtime instance per button, so the comparison doesn't really work (for the smallest binary size, you could provide a native application doing the bare minimum to display the UI too, if the platform has an OS-provided UI framework). It's still a neat toolkit, since not every website needs a big framework - but comparing runtime sizes is like choosing C over C++ because a `int main() { printf("Hello World\n"); }` binary is smaller.
- audunw 2y agoI think it's relevant in the sense that it shows if you're building a simple app, there's a lot of overhead. It doesn't claim that you're going to get that overhead for every time you instance a button. I don't see how anyone would think that. I think the comparison works fairly well. It should be clear to everyone that it compares apples and oranges, since it's two different kind of apps it's comparing. So it makes you think. If they just compared the size of the framework itself, or a single button vs a single button, you may think "oh but as soon as you add any kind of complicated code, there will probably be so much boilerplate with Nue that it'll end up being bigger"..
- muspimerol 2y agoThis comparison is disingenuous and off-putting. When I read "a React button" I assume you are talking about `<button>` and the React runtime, not some third party libraries.
- JodieBenitez 2y agoAt this point I don't even understand why everything has to be a SPA. It's complicated and inefficient and should probably be only used with highly interactive applications like some kind of Photoshop or Ableton live for the web, which means very few apps should use this paradigm. Granted, I'm not much of a frontend dev... but what I know is that if "instant search and other operations over 150,000 records" is a problem then it's probably best to re-think the paradigm.
- n2d4 2y agoSPAs are great for the hordes of B2B SaaS apps out there, which for the most part are just some fancy variants of a table. They're not a Photoshop, but they're still highly interactive.
- jack_riminton 2y agoI think the exact opposite is true, B2B SaaS apps don't need to be an SPA to deal with fancy variants of a table. You can create highly interactive UI with things like Rails and Hotwire, sprinkles of JS or even HTMX. SPA's are bloat and often driven by designers who focus on flashiness rather than good UX.
- n2d4 2y agoEven if you use Rails or HTMX to get it done, you're still building an SPA.
- jack_riminton 2y agoCouldn’t be more wrong
- tipiirai 2y agoIf you look at the documentation at nuejs.org/docs, you'll see how Nue is really more about apps that focus on content rather than single-page apps (SPAs). However, this release is all about SPAs.
- Cthulhu_ 2y agoI don't think the "a button in X is 40% heavier than an SPA" is a fair comparison; including a framework will add weight, but these frameworks are not intended for single components. Compare apples to apples, then we can make a fair comparison. That said, how does Nue compare to htmx and other frameworks leveraging the modern web standards?
- tipiirai 2y agoIs there a full-blown SPA demo made with htmx?
- t-writescode 2y ago- htmx = 14k as min.gz - solidjs = 7kb as min.gz htmx for "easy" html, solid for reactivity. Don't know how much more Nue provides; but, there you go for numbers.
- MartijnHols 2y agoThere is no such things as a true apples to apples comparison for libraries such as this. They all cherry pick something and ignore a ton of things such as: - accessibility - amount of libraries with plug-and-play solutions to common problems - security - scalability - rendering performance - maintainability - browser support - browser extension interference - hundreds of other niche edge-cases that someone will eventually run into but are non-obvious until it's widely used React is really well-thought out and well made by hundreds of professional contributors that have worked on it for years. The premise that hobbyists can make a better overall solution in less than 8 months is strange. At best they can make a smaller solution, but it will have to sacrifice in other areas.
- maccard 2y agoReact and the react ecosystem fail at many of the criteria you’ve listed. You might argue “that’s not reacts fault” but when I look at a website that takes 15+ seconds to load its content on a gigabit connection , I’m never surprised when it’s react. Lots of sites have massive issues with rendering performance, scalability and maintainability even with react. What react does do is give you a clean separation of concerns across team boundaries and allow for reusable components . But the cost you pay for that is a boat load of overhead, complexity, maintainability concerns, and react specific edge cases
- arewethereyeta 2y agoflawed example for a framework. Tell me...are 2 buttons going to be 80% heavier? why use react if all you build is a button? you need a tractor to pick your groceries from store?
- klysm 2y agoIncredible marketing blurb! Not a single bit of detail about how this works
- pier25 2y agoNue is a very cool project but if you want people to take the project seriously you should probably tone down your confrontational marketing :) Also, I checked the demo and there's like 100kB of WASM code you're not taking into consideration in that React button comparison? Anyway, congrats on the project. I'm really curious to see how the whole vision will turn out.
- kigiri 2y ago100% agree, I felt very put off by the tone, I think HTMX pull it off by not taking itself too seriously and also having good insights. I wish the homepage talked more about how nue approach the problems rather than how better than other framework it is.
- tipiirai 2y agoI think you're right on the marketing. I'll tone down. The comparison uses the non-wasm version at mpa.nuejs.org
- azemetre 2y agoIf you want an alternative view, I like the confrontational tone. You know what you excel at and attack your competitors with it. I really dislike how all the other JS UI libraries are basically the same and espouse the same ideas. Svelte was way better when Rich Harris was straight up attacking react devs at conferences and shaming them for poor performance. Being "nice" just ensures entrenched players stay entrenched.
- pier25 2y agoI wrote "tone down" not "completely remove" ;) Rich and HTMX have a much different tone while shaming React.
- dmix 2y agoIf you're actually doing something better and your results actually stack up under scrutiny I don't see the problem. I think most people get uncomfortable because it's often untrue in marketing. So if it's true (to the best of your knowledge and after outside probing) then by all means.
- joquarky 2y agoI resonate with what you're saying so I'm mostly just curious how long you've been developing front end code. I think those who have had had to run the gauntlet of naked JS in the 90s developed the discipline to intuitively code untyped. I've been enjoying JS since it was first added to Netscape and I also loathe the creeping bloat that is endemic to web development these days. In the event that I want an "intellisense" dropdown capability in a project, I'm a big fan of JSDoc. I think the bootcamp kiddies these days just don't have enough experience to get by without the intellisense crutch.
- tipiirai 2y agoNot an April fool's joke btw!
- futhey 2y agoI thought it was an April fools joke, glad I'm not the only one.
- mirzap 2y ago> 150,000 records — far past where JavaScript (and React) would crash with a stack overflow error I think react-virtualized and stack tables can easily handle 1 million rows client-side without a problem (I saw the demo somewhere). Web development is about convenience, and the speed of development is far more important than ultra optimizations. People simply don't care about super optimizations because servers are so fast these days, and bandwidth is cheap, almost free. But it's an interesting project. Good luck.
- tipiirai 2y agoThis exact demo will crash with vanilla JavaScript (in Chrome 134.0). This React would also crash — unless the computation relies on WASM
- Farseer_ 2y agoCould you give a code example? Also, by crash, do you mean the mentioned stack overflow error? If so, why would the stack be involved when talking element count?
- tipiirai 2y agoThe exact error is "Maximum call stack size exceeded" when the WASM- engine is replaced with this JS engine: https://github.com/nuejs/nue/blob/master/packages/examples/simple-mpa/app/model/engines/javascript.js https://github.com/nuejs/nue/blob/master/packages/examples/s... There is currently no demo about the crash, but you can setup this locally.
- deleted 2y ago[deleted]
- uasi 2y ago`events.push(...arr)` puts all arguments on the call stack before calling the method, which causes the error. Don't push tens of thousands of items at once.
- wordofx 2y agoThe animation makes it look so incredibly slow…
- tipiirai 2y agoWhich animation exactly?
- codelord 2y agoFade in/out animation.
- wordofx 2y agoThe videos. The very first video. Animations like this are done to hide the fact it’s slow by hiding it behind a fancy animation. Used to do this when we were stuck on 3g connections…
- morganherlocker 2y agoAll of them? It should feel instant. A UI does not benefit from artificial delays.
- tipiirai 2y agoGotcha. This is something Nue will tackle later trough design systems, where motion design is an option to choose, ditch, or tweak.
- sandebert 2y agoYeah, they should remove all animations so it feels instant and really snappy instead.
- jbverschoor 2y agoDisable the "appears" class in chrome inspector, and it's all instant. (faster than the macos mail.app)
- zol 2y agoToday it’s Nue. Tomorrow it’ll be Olde and we’ll complain about all the boilerplate or repetitive update logic we now have to write.
- tipiirai 2y agoFair point—new tools pop up constantly, often just piling more layers on React’s bloated stack. Nue’s not that. It’s a fresh start, built on web standards and closer to the metal, not another abstraction treadmill. That’s why a button can be lighter than a whole app—less cruft, not more boilerplate. Tomorrow’s Olde might still fight yesterday’s bloat; Nue’s dodging that trap from day one
- mary-ext 2y agoThe animations makes it feel slow, the lack of any throttling/debouncing means that my input feels slow too.
- tipiirai 2y agoAre you talking about this 150,000 record Rust version? https://mpa.nuejs.org/app/?rust https://mpa.nuejs.org/app/?rust
- akx 2y agoYes. On that version, Chrome 134.0.6998.89's devtools on my Macbook (M2 Max) are indicating 100 to 250 millisecond interaction times and a 160 ms frame when entering text into the search field.
- tipiirai 2y agoI get the same numbers. Interestingly, JavaScript performs faster below 100,000 entries due to the lack of a JS-to-WASM bridge, but it eventually crashes when the records keep increasing
- dimgl 2y agoWhy would you ever have 100,000 entities on a page? What is the business use case for this?
- petetnt 2y agoLoading the page on Fast 4G connection takes 9,61 seconds before I see _any_ content on the screen. This is loading the "all contacts" page that shows 12 items with a title, excerpt, time stamp and user name. Is this expected performance? Network shows the app downloading huge 4/1 megabyte chunks.
- hexo 2y agoThe animations are always a deal breaker. And then WASM.
- wetpaws 2y ago[dead]
- m00dy 2y agowhy would 150,000 records break React and throw overflow exception ?
- tipiirai 2y agoBecause that demo crashes with vanilla JavaScript at around 110,000 records
- m00dy 2y agoit doesn't make sense.
- muspimerol 2y agoHere's the react-table example app with 112,500 records, just like your example. I am not really seeing much of a performance difference (and this is in dev mode - it would be faster if built for production): https://n9vr4n-5173.csb.app/ https://n9vr4n-5173.csb.app/
- leonhard 2y agoI really like the approach but the demo [0] doesn’t really work on iOS Safari (although might be my outdated 16.7.8 version). Scrolling doesn’t work, the layout and buttons have weird line breaks, the native search button is embedded in the custom designed one, leading to 2 icons… [0] https://mpa.nuejs.org/app/ https://mpa.nuejs.org/app/
- Timon3 2y agoThe author is using a trick they've used in almost every past submission: They implement much less than the component they compare themselves to, and then show how much smaller their own solution is.
- tipiirai 2y agoHow is the SPA less than the button?
- Timon3 2y agoDoes your button component implement all the functionality included in the Vite/shadcn bundle? E.g. the different variants, states, loading etc.? I'm sorry if it does, then I'll take my accusation back, but I've seen this happen in almost all of your Nue submissions. People keep bringing up this criticism, and you never retract your misleading comparisons.
- deleted 2y ago[deleted]
- tipiirai 2y agoThe Nue button demo isn’t claiming to replicate every feature of the Vite/ShadCN bundle—no variants, states, or loading spinners here, just a lean example to show size and simplicity. The point’s not to ‘beat’ ShadCN at its own game but to highlight how web standards can cut bloat dramatically, like a button smaller than a full SPA. I get the criticism—comparisons can feel loaded—but it’s less about misleading and more about spotlighting a different approach. Happy to tweak the framing if it’s coming off wrong.
- handfuloflight 2y agoWould you be able to hook this up to https://www.convex.dev/ https://www.convex.dev/?
- n2d4 2y agoAre there any code examples? I've looked for a bit but haven't found any. That should IMO be the first thing on any blog post about new frameworks.
- tipiirai 2y agoThere are currently two examples: - `nue create simple-blog` This highlights content-driven websites. - `nue create simple-mpa` This is today’s SPA demo, where 'MPA' stands for multi-page applications. It shows how client-side routing and view transitions can seamlessly connect content-heavy pages with app-like views. Source code here: https://github.com/nuejs/nue/tree/master/packages/examples https://github.com/nuejs/nue/tree/master/packages/examples
- noodletheworld 2y agoIs there any documentation about them? For example what is this 200kb binary for? https://github.com/nuejs/nue/blob/master/packages/examples/simple-mpa/app/model/wasm/engine_bg.wasm https://github.com/nuejs/nue/blob/master/packages/examples/s...
- jeffhuys 2y agoHere's the source, I believe: https://github.com/nuejs/nue/blob/master/packages/examples/simple-mpa/app/model-rs/README.md https://github.com/nuejs/nue/blob/master/packages/examples/s...
- brundolf 2y agoI also spent five minutes clicking around and couldn't find a sample of what the code looks like
- farzd 2y agolove the demo and overall reason for this, hope it gets the following and support it deserves!
- Garlef 2y agoLooks interesting! Regarding the code examples in the docs: It would be great if the examples for models and views would be from the same example. Currently, the view example is something about users and the model is something about customers? The interesting part for me is not how the individual components of the architecture work but how they connect...
- tipiirai 2y agoThey are from the same example. Here's the source code: https://github.com/nuejs/nue/tree/master/packages/examples/simple-mpa/app https://github.com/nuejs/nue/tree/master/packages/examples/s... Look for "view" and "model" folders
- mentalgear 2y agoCongrats, Nue seems to be an impressive and well-thought-out design system & framework. It feels like a strong candidate to become the "Web Standards Stack" —finally freeing developers from the complexity and bloat of modern frontend tooling. I've been following Nue for a while now, and I'm eager to use it for real world apps. Any updates on when the design system will be released? I know you're ambitious, but I'd suggest launching a single design system first to test the waters, gather feedback, and gain traction — rather than waiting to release everything at once (but losing out to the ecosystem).
- tipiirai 2y agoI'm eager to dive into the design systems, definitely coming. But first, I wanted this release to prove Nue isn’t just for ‘hobby projects,’ a label plain website generators often get stuck with. This SPA demo was key—showing how working closer to web standards really shines for complex apps, not just simple sites.
- throwaway290 2y ago1. It's an SSG and competes with projects like Astro or Solid or Next. Comparing to React is apples to oranges. 2. Benchmarks are just numbers without details. React+ReacDOM gzipped/minified is 40 kb in 2025. I doubt a button adds 30 kb. But if you really want to make small SPAs, Preact is just 4 kb and it doesn't require to learn a new bespoke templating DHTML-style thing. 3. From FAQ > The WebAssembly example in our demo isn't about raw performance — it demonstrates something far more important: what becomes possible when your business logic is properly separated from presentation. > But when your business logic lives in its own pure layer, entirely new possibilities emerge. Rust is just one example — you could model complex financial calculations, build sophisticated data visualization engines, or create real-time collaboration systems. Your logic can evolve independently of the interface, enabling the kind of architectural advances that the React monolith prevents. The writer was high or delusional or bad at explaining the point. Nothing prevents you from putting logic into "its own pure layer" in any language. You can make it messy and impure with Rust/WASM/... just as you can keep it pure with pure JS. And it's not "entirely new" because people separated business logic for literally decades (and believe it or not many of them even did it while using React at the same time) And meanwhile the Rust version is slower and bigger. "What becomes possible" is a mystery. "React monolith" just takes the cake. React literally doesn't care how you separate your business logic, it's just a rendering layer. This ironically is a monolith SSG that does routing, YAML frontmatter, Markdown extensions, syntax highlighting and what not. Again, you are thinking about something like MarkoJS or QwikJS. Before you are trying to take something down you should probably understand the basics. Don't get me wrong, it's a cool project. But it could be more humble because authors don't seem to fully understand themselves what exactly they are proposing.
- boyka 2y agoRegarding Rust, are we talking about a Rust backend with RPC/REST or is it simply WebAssembly compiled from Rust? If the latter, how is the data synced for CRUD?
- aziaziazi 2y ago> frontend architect, design engineer, and UX engineers Damn should I update my resume again? I’ve used webmaster, web developer, full stack developer in the past. Can I use "internet creationist" to leap directly to the next call phrase? More seriously, I’m lost when using a search bar in a job listing. Now I just type "JavaScript" but that miss the posts only mentioning the higher stack and/or typescript.
- once_inc 2y ago"internet creationist" make you sound like God either chose you to be a content creator, or ordained the internet into being...
- sam_goody 2y agoI know a guy whose middle name is "Almighty God". I've actually wondered how that looks on a resume :D
- 7bit 2y agoIf you still use webmaster, perhaps updating is a good idea. Haven't seen that term used in the wild since the early? 2000s
- owebmaster 2y agoit is time for a comeback
- tipiirai 2y agoAuthor here. No need to update the resume yet—titles do keep shifting! React’s monolithic style has muddied the waters, making it tough to build clean business logic, prioritize performance, craft CSS design systems, or just focus on user experience. Nue’s here to unblock that—giving each role room to shine with leaner tools, not cramming everyone into the same heavy stack.
- eurekin 2y agoDon't forget to mention "vibe coding" somewhere too
- greg0r 2y agoIf the authors of this project mean to say that a button in react wouldn’t work without including the react library (which is why the button is supposed to be 73kb), it’s a weak point, because the react library would be reused by other parts of the app bundle at this point. This is misleading to people and the promise is so shallow that it almost feels insulting.
- tipiirai 2y agoI’m the author. To clarify: a button installed via ShadCN/Vite’s official docs (https://ui.shadcn.com/docs/installation/vite https://ui.shadcn.com/docs/installation/vite) ends up way heavier than a full Nue SPA. It’s not a jab at React devs—just showing how web standards can flip the script on bloat. Any thoughts on framing this comparison better?
- mapcars 2y agoCan you give some examples of some of these standards that make Nue stand out and other frameworks don't use? It seems that if other frameworks make use of these standards we would get a similar performance boost across the ecosystem.
- xoxosc 2y agoSeems like it should be Meta with billon dollars that should be doing that. The whole point is framework like React are made for DX and dev flow at company of that size.
- xandrius 2y agoIt's like someone making a hello world in C using the std, then one hand crafting the console print but losing literally everything else. Of course, if my goal was to just write hello world then it would make sense but 99.9% of people in the world will use something else, invalidating the point.
- chippiewill 2y agoMaybe don't compare apples to oranges at all. No one is using react for a single button.
- smusamashah 2y agoI find the blurring/fade-in effect jarring. It makes it feel slower rather than faster. Feels like fade-in is used to hide the performance. Please add a button or something to disable that effect.
- ilrwbwrkhv 2y agoAbsolutely brilliant I've been following Nue for a while and every release gets more and more impressive. Thank you so much for putting in the hard work by making it and I hope others can understand why this is important and use it instead of cargo culting React and making the web worse every single year.
- fcpk 2y agoI see a lot of people angry at "Nue" in various ways, and I can't help but think these are people heavily relying on React and missing the overall issue. The issue is that these huge frameworks have made the web a horrible slow mess. I deal as DevOps/SRE daily with these services, and finding one that will do a first load under 10s is close to impossible. When a simple home page dashboard or a notes page takes more than 10s to load on a 10G connection peered within 5ms of the host, and 95% of this is spent in JS, that's when you know the typical current webapp has reached a massive state of bloat only supported by fast browser engine, and people not having expectations. I'm not hopefully Nue would revolutionize this since there are plethora of Web SaaS companies just wanting to use "common" frameworks... but I can at least root for them.
- martinsnow 2y agoRarely is that a problem with react itself. Poorly written applications exist in every flavor of language, framework and library.
- mentalgear 2y agoSome frameworks though make it easy to fall into a good default, and others don't.
- jack_riminton 2y agoYep, the more complex an app can be, the more complex the app will be
- jeffhuys 2y agoI get what you're trying to say, but aren't you blowing it a little out of proportion? At my job we have an SPA that loads a dashboard with 20+ widgets, all doing their own requests, transferring 2+ MB (compressed) of JS. It loads in two seconds, with all caches disabled. And I mean full load, not "ready for interaction". It runs on Vue 3. I agree that the web could be lighter, but "finding one that will do a first load under 10s is close to impossible" sounds like exaggeration - it might not be due to the framework or lack thereof. Btw, the webapp I'm describing is NOT built by the best of the best.
- gr__or 2y agoThe FAQ (https://nuejs.org/docs/faq.html https://nuejs.org/docs/faq.html) describes pain points that seem pretty foreign to me, the exact thing I appreciate about React is that I can focus on the domain and the tech MOSTLY does fade into the background. It has been an improvement in that regard, to all the frontend MVC I've done before and the architectural pattern has been adopted for good reason by all the native platforms. TBC in React and its offspring, you can still model business logic outside of components, we just learned that most UI development is better served by keeping UI and its state closer.
- Cthulhu_ 2y ago"mostly" for sure; it's a good mental model and allows me to build modular applications etc, but I hate that a nontrivial amount of code and headspace is spent on things like re-renders, memoization, useCallback, dependency arrays, etc. I hope the React compiler will finally solve this, because the competition (apparently?) has (I haven't had the time to look into e.g. vue yet).
- gr__or 2y agoAbsolutely, it would be nice if we found the right abstraction to get rid of that part as well. Basically every non-React framework's answer to that is Signals (aka change tracking), where React is doubling down on unidirectional data flow and thus dependency arrays. React Compiler indeed solves the 99% of performance related memo-s. For effects you still will have to understand the mental model (which I'd argue is inherent in the domain and not incidental to the tech). From reading Nue's docs on Interactivity, it seems to opt-out of the discussion by going back to good old manual UI refreshs. I personally would not choose that, too many pre-React debugging nights spent on chasing state<->UI desynchronization bugs.
- fareesh 2y agoimo the primary benefit of react is the nice component library.
- trippsydrippsy 2y ago[dead]
- edweis 2y agoLooking at the project: - Why is the demo impressive https://mpa.nuejs.org/app/ I believe someone can do the same web-app in React with the same performance. - I'd like to quickly see some code samples on the home page. I had to dig the documentation to find some code samples (https://nuejs.org/docs/view.html#clean-html-templating), is it inspired from Svelte ? - How is new faster and lighter compared to other tech? Specifically, compared to raw HTML/js. To convince me that Nue is a framework worse using, please show that Nue: 1. Is simpler than HTML+JS (or at least simpler than react): like https://alpinejs.dev/ 2. Is easy to understand: maybe the markup and logic are close to HTML or something else I already know 3. Has a better DX with good build time and HMR: you nailed this one 4. The tech is better: low overhead? highly based on WASM? virtual DOM? Server islands? 5. Show me metrics: https://esbuild.github.io/ nailed this one
- arijun 2y ago> Why is the demo impressive https://mpa.nuejs.org/app/ https://mpa.nuejs.org/app/ I believe someone can do the same web-app in React with the same performance Weren't the main points on the main page that it was small ("lighter than a React button"), and could handle large amounts of records ("far past where JavaScript (and React) would crash with a stack overflow error")?
- KTibow 2y agoThose points are only true if you're comparing to a React app that uses bloated frameworks and inefficient list manipulation (as other commenters pointed out, `list.push(...items)` causes problems)
- davedx 2y agoThis is what they're replacing react with: https://nuejs.org/docs/view.html https://nuejs.org/docs/view.html It's an untyped view layer kind of along the lines of early angular 2.0. The model files are plain javascript. So no typings anywhere. Which is fine, I guess this is targeting the vuejs crowd. Maybe their marketing should pivot a little bit in that direction, most react people now use TypeScript because first class types in your view layer are super useful
- bigjump 2y agoMost of the Vue devs I know, also use TypeScript for the same reasons.
- tipiirai 2y agoAuthor here: It’s true—Nue’s view layer is untyped. That’s by design. React’s ecosystem has devs slapping TypeScript on everything—even CSS—which is overkill. Nue flips it: presentation stays clean and semantic, web standards do the heavy lifting, and real static typing (like Rust or Go) shines in business logic where it counts. Thoughts on this?
- seivan 2y agoJesus, this is a regression not a feature, for christ sake. Typed CSS via emotion/styled-components is an amazing feature to call it overkill. This alone is enough to dismiss nue.
- isqueiros 2y agoThis seems incredibly shortsighted. If you're building an application by yourself you're gonna remember the relations and dependencies - but even on a small team (say ~4 devs) or even if you don't pick it up after a while, there is going to be stuff you forget. It's also nice when you move stuff around, you can rely on the LSP to rename and fix everything that breaks. If you have a simple website it's fine, but when you start to have multiple components... Losing typing is a huge deal.
- 2y ago
- imiric 2y agoI really like how Nue is shaping up! Having a clear MVC separation, leveraging modern web standards, semantic markup—all great things. Kudos! Seeing the .dhtml extension certainly brings back memories... One thing I dislike is that the HTML is still parsed and converted into JS, which is then evaluated at runtime, correct? I realize that this is required to support templating and a nicer syntax for binding and such, but my ideal "framework" would support plain HTML files that are not converted to JS, but used very lightweight syntax (essentially custom data attributes, and `<template>` elements) to make the page dynamic. In fact, I'm experimenting with such a library right now[1]. This approach is likely more difficult to manage when building large web apps, but for simple UIs as used in browser extensions, it's fairly sufficient. Frontend web development has been stuck in a pit of complexity for well over a decade now, and it's about time we go back to basics. There are new generations of frontend developers who only know this way of working, which is a shame. They're not really _web_ developers, but React, Vue, or whatever the popular framework is, developers. Web standards are far along now that there is very little additional glue and sugar needed to build modern web applications. React ushered in a new way of building UIs, but it also spawned dozens of copycats and frameworks that are downright developer-hostile beyond their shiny exterior. Not to mention the security nightmare of an incomprehensibly large dependency tree. Let's actively reject this madness. [1]: https://github.com/hackfixme/miu https://github.com/hackfixme/miu
- bricss 2y agoReplace N in Nue with V for Vue, and it will be perfection.
- midzer 2y agoJust do VanillaJS...the W3C is your framework.
- progx 2y agoNue still continues to advertise with clickbait?
- andrewstuart 2y agoThat post didn’t explain what it actually is. Is it a JavaScript framework? A WASM library? Something else? Comparing a JavaScript app to anything wasm is false equivalence because wasm can’t do the DOM.
- vanderZwan 2y ago> Using Rust and Event Sourcing for instant UX over 150,000 records — far past where JavaScript crashes with a stack overflow error. Nit: while I fully support making the web more efficient and hope that Nue is successful in promoting that, I'm skeptical of the "crashing" JS claim here. You can do amazingly efficient things with TypedArrays, the forgotten middle child between JavaScript and WASM. Having said that, this requires building a few clever data structures on top (I've gotten a lot of mileage out of "typed" dequeues, and (sparse) bitmaps myself), often emulating structs in a language unable to express them properly. So the resulting code is not exactly idiomatic JavaScript — which I presume is what they implied here. Plus in this case it probably still wouldn't be as fast as a well-written WASM implementation, since almost all of the work is likely spent searching with only a little bit of DOM manipulation at the end. So I'm both agreeing and feeling like it slightly overgeneralizes. I guess my point is: yes, let's be critical of bloated web frameworks, but let's not equate React with JavaScript either.
- tipiirai 2y agoAuthor here. You’re spot on. I took away the React association and added a direct link to the JS code [1] that hit the ‘Maximum call stack size exceeded’ wall. TypedArrays can do wild stuff, no doubt, but yeah, it’s not exactly vanilla JS—and still lags a tight WASM setup. Appreciating the nuance here! [1]: https://github.com/nuejs/nue/blob/master/packages/examples/simple-mpa/app/model/engines/javascript.js https://github.com/nuejs/nue/blob/master/packages/examples/s...
- vanderZwan 2y agoThe new wording is much more nuanced, appreciated! Also the fact that you link to the actual code that broke down, making it possible to verify the claim. Less ammunition for the people who actually are skeptical of the project instead of just nitpicky like me ;) Speaking of the code in question, it looks pretty sensible - there's a bit of low-hanging fruit where one could avoid creating redundant arrays by turning chained calls to map and filter into one for-loop and such, but that's about it. What confuses me is that there's no point in the code where I see any recursion, here or in the other JS files that seem relevant, so how does one end up with a call stack overflow? (not questioning that it crashed for you, it's just that I don't see any obvious flaws in the implementation, so I'm curious to lean what the "gotcha" is in case I ever bump into something like it myself)
- supermatt 2y agoIf you just use an html button with simple styling the size is around 58kB (not the quoted 73kB, which is from other libs that they built with like ShadCN than just react), so its still impressively smaller than react. That said, using Preact instead (a smaller and more modular react-style library) the file size is less than 5kB. Its almost a drop-in replacement for React too: https://preactjs.com/guide/v10/differences-to-react https://preactjs.com/guide/v10/differences-to-react If i make a similarly minimal app with Nue (the lib the article is about), export as production, and remove the favicon it seems to want to add automatically, the filesize is 28kB. I couldn't see a way to meaningfully reduce that in their docs, as its clearly exporting things that arent being used. Its pretty disingenuous for them to compare an app to a single button, given their own single button implementation is massively overinflated too. It does appear to be a full app framework rather than just a view library though. So I'll definitely give it a whirl. To the OP: From a lot of the comments here, including my own, comparing yourself in this way is only going to result in people calling you out on it. Its clear the lib has merit in its own right, but you aren't comparing like to like, and if the focus is on "button" apps, then you are still WAY behind some other libs in terms of export size.
- dzonga 2y agothis is why inertia.js is a positive path forward. it relegates React, Vue etc to be view layers - purely view layers. all models / state etc handled by your monolith Rails, Laravel server. this simplifies a lot of things. frameworks like Vue & Svelte have scoped styles which preserve knowledge of CSS. While Tailwind is convenient - a lot of people won't know the capability of CSS and why it was named cascading & the customability of CSS for the user.
- mirzap 2y agoHonestly, after playing around with your example and tweaking a JavaScript example, I feel that my plain JS example is faster than the one with WASM/Rust on Nue (possibly due to the animations). Please disable animations; I think they make your WASM example feel slower than it probably is. Here is a 1 million rows table in JS with filtering, sorting, and pagination: https://htmlpreview.github.io/?https://gist.githubusercontent.com/mirzap/ec6602ef1d6f4170406491eda22d43b0/raw/f0d1519af3dad0fc524506c0cb9723cfbcb4629c/gistfile1.txt https://htmlpreview.github.io/?https://gist.githubuserconten...
- bilekas 2y agoThe tagline says a lot more about React than it does Nue, but I'm always interested in less bloat when it comes to front-end. I'll try this out, one small thing I don't like is in the demo there is a weird pulsating effect that actually modifies the layout when clicking, throwing me off a little.
- chvid 2y agoBut what if it is not the frameworks that are bloated but the application developers that make bloated applications? Then how would this fix anything ...
- misiek08 2y agoCouldn't switch to docs from the page linked here, Chrome on macOS. Refresh and it works. Big hopes killed in an instant.
- blatantly 2y agoHow does it involve Rust? Server side or wasm?
- Aldipower 2y agoVery catchy landing page, like it. And I've read the documentation. Unfortunately not convincing me. I mean, writing larger web apps means nothing else then dealing with a lot of _state_, really a lot of asynchronous _state_. Clicks, notifications, mouse movement events, push messages, navigation changes and so on and on. Larger web apps are state monsters. That's why I choose a framework that is good a state management in the first place. React is one of those proven. Nue does not look trustworthy in regard to good state management tbh. For smaller apps that might not be a problem, but there I tend to use vanillajs anyway.
- wg0 2y agoThis is great. But I went for Svelte. Invested in Svelte and SvelteKit. Wrote a decent sized app (not toy example, pretty feature right, tens of forms and screens if you will) and later I looked back at React. And I discovered that: - React is not that hard if you understand the hooks. - React is lightweight too. For my use case at least. - React is boring technology at this point which is good. - The ecosystem is huge. You cannot have React Query like library and that's just one example. So I'm sticking to React for next few years especially when the React compiler is already being used inside Facebook and Instagram and released as public beta. Even React Native supports React compiler and I don't see this support going away rather getting better. PS Edit: React compiler leaves not much for runes in Svelte or its compiled nature. I don't like Svelte much after runes because it feels like you're not writing Javascript rather a notation that looks like Javascript. Post React compiler, much of the hooks hell is not needed in complex scenarios.
- brulard 2y agoTanStack Query (formerly known as React Query) is absolutely compatible with Svelte. https://tanstack.com/query/latest https://tanstack.com/query/latest I work with react for a decade now, and with Svelte for past 3 years. Svelte is obviously a newer generation of framework, and works for me a lot better than React. But I agree there are some rough edges, mostly around the ecosystem
- wg0 2y agoNo, the support is quit limited not as many features are supported.
- iammrpayments 2y agoI transitioned to svelte and I’m finding it around 3x to 2x times less complex than React
- pier25 2y agoSvelte is definitely much less verbose and requires less code. Performance is also way better but it might not matter for many use cases. The drawback is that since Svelte is really a language[1] you now need a compiler and custom dev tools to make it all work. This requires some serious effort to maintain and evolve. I love Svelte and have been using it almost daily for years... but the team really needs more resources to accomplish their vision and maintain it for the foreseeable future. It's amazing that huge companies like Apple are adopting Svelte (eg: Apple Music) and not investing in it. [1] https://gist.github.com/Rich-Harris/0f910048478c2a6505d1c32185b61934 https://gist.github.com/Rich-Harris/0f910048478c2a6505d1c321...
- chkhd 2y agoInteresting, on that page using Safari, clicking on the home/nue logo or most other links/buttons results in a null error :) I would hope React buttons work when people click on them though.
- codedokode 2y agoI wish instead of this marketing article there were technical details, for example: what method of change tracking is used (proxies Vue-style or recomputing everything React-style). Also I didn't understand the phrase about JS "overflowing stack" with 150 000 objects. I created a list of 150 000 objects with the following code: var list = []; for (var i = 0; i < 150000; i++) { list.push({ id: i, name: `Name ${i}`, weight: i * 100 }); } According to profiler, this array (with objects) uses 14 Mb, where 2 Mb is array and the rest are objects and strings. Running list.find() without any indexes also doesn't overflow the stack. With indexes it would probably be lightning fast and won't need any WASM and complications. JS is not that slow. And if you do numeric computations (i.e. multiplication of numbers in large arrays) the code gets compiled and runs pretty fast.
- uasi 2y agoThe author uses something like `list.push(...objects)` in his demo code, and I believe this is the culprit. Passing many (~100,000) arguments to a method at once using the spread operator is known to cause a stack overflow, because, in JavaScript, each argument is placed on the call stack.
- oxidant 2y agoSpreading arrays and objects is such a common performance hit. It works fine for small instances but falls over in large instances. Here's the JS CRM engine https://github.com/nuejs/nue/blob/master/packages/examples/simple-mpa/app/model/engines/javascript.js https://github.com/nuejs/nue/blob/master/packages/examples/s... I see a number of issues, but don't have time to look into them. 1. Spreading when you probably don't need a copy: sortEntries. Sorting is probably where the overflow happens. Just sort in place or use Array.from or slice. 2. Excessive use of array functions. In my experience, a C style for loop performs better when you need performance. Create an empty array before, perform your business logic inside the block, and push to the array. 3. I don't know how filter is called, but it potentially loops through all of the events three times in the worst case. 4. paginate manually creates a JSON string from the returned entries. I don't know why, it seems inefficient.
- admiralrohan 2y agoI like the philosophy so much, I myself am working on a minimalist theory to explain human psychology and strongly against specialized therapy and bloated productivity systems. We have specialized rules for everything which I feel repeatative and we are not using the full potential of human mind. Anyways, here are my initial observations on NueJS 1. In the age of AI we need to support it for broader adoption. One of the reasons people choose NextJs and Tailwind over other frameworks is that LLMs understand them well. We need some minified doc to pass onto LLM to make it understand the framework. 2. What do you think about the unstyled components like Radix UI? Accessibility issue are important for components like Model. 3. What do you think about server components? I like them personality as we don't need to pay for separate NodeJS server as a small team. 4. How much Rust is required to use it properly? It's not an easy language to learn as far I heard. 5. How do it compared to AlpineJS who also focuses on performance?
- bryanhogan 2y agoYes, React is huge, but I also see it used for everything and everyone when it's really not the right tech-stack in many situations. Just need a simple interaction free site? Use Astro. Need some interaction? Use Svelte. Larger project? SvelteKit. Need a more established solution? Use Vue. Working in a huge team and need a highly opinionated framework with strict conventions? Use Angular. More than 99% of websites would be sufficient with Astro though. And when just some interactivity is needed it is always possible to add Svelte / Vue / Solid / Alpine / HTMX on top of Astro.
- klysm 2y agoReact itself is not huge
- mplanchard 2y agoWeird that the current state of things for a simple, noninteractive site is some kind of framework and not just “write the HTML with a little JS where needed,” which works perfectly well and requires no additional baggage.
- deleted 2y ago[deleted]
- sesm 2y agoIs it trying to sell Backbone.js-style MVC as a replacement for React?
- eitland 2y agoSeems to be no support for TypeScript in the frontend? I mean, it is mentioned, but only together with Rust and Go for "computation engines". No TypeScript = No deal with me. I wrote my first Javascript application back in the spring of 2025, and I am not aware of anyone who is willing to pay me enough money to voluntarily write Javascript again in a project of meaningful size.
- ksec 2y agoI like this. Cant wait to see it being released.
- canterburry 2y agoMost new frameworks start as the "lightweight" option to whatever more mature options exist at the time. This is no argument for adoption. Please post again 10 years from now after you have added all the bloat your users request and handled all the edge cases you don't yet understand. If you are still lighter than a react button...that will be news worthy.
- is_true 2y agoI feel the same. I started using svelte to build widgets with few requirements that were deployed as web components, it was great for that.
- iammrpayments 2y agoI don’t think React has ever been considered lightweight, judging from the mostly negative reactions from this website when it first came out.
- dmix 2y agoJS frameworks have often valued DX first over what it outputs. Frontend devs also frequently care more about a) their own tooling and b) how it looks, to a much higher priority than the performance and stability of their output. At least from my own experience in the community :)
- joquarky 2y agoOh my god, yes this is hitting the nail on the head in a way I hadn't thought before. The bloat comes from the discipline (or lack of) more than the framework. IMO, those who have only worked in React tend to be unfamiliar with the layers of native capability that React is built upon, and so they are stuck in the React bubble unless they want to learn a ton of (admittedly crufty, but useful) web fundamentals.
- mplanchard 2y agoSo, nothing is worthy of discussion or can claim any benefits over the incumbents until it has become an incumbent itself? How is it supposed to attract the necessary users to get bloated if they can’t talk about it in relation to the established players?
- unchar1 2y agoNue seems to be in an odd space. It's an untyped framework, built on top of "web standards". But if you wanted web standards + web component, Lit already fills that space. If you want untyped JS or little/no JS at all, there's HTMX. Or if you're just tired of React, and want something faster + simpler, there's Svelte/Solid. I'm not sure what problem Nue is uniquely solving.
- jgalt212 2y agoDo the AI's generate slow and bloated React, or lean React that works well with the new compiler?
- k__ 2y agoA React comparison is a straw man when there are already popular alternatives that are considerably smaller than React.
- maelito 2y agoNo thanks, JSX is fine.
- dividedcomet 2y agoThis doesn’t square with most of my experience with React, especially if use it to generate static code hosted by nginx. I’ve found my personal site to always be wicked fast, even though it’s not that complex.
- morteify 2y agoI think there is an issue with the implementation of search and filtering. When I open https://mpa.nuejs.org/ https://mpa.nuejs.org/ and type "kind of rate limit" in the search box, I get 383 search results, and the URL updates to include the query: /app/search/?query=kind+of+rate+limit. However, when I paste that URL directly into a new tab, I only see one result instead of 383.
- account-5 2y agoI'm a novice, I chose to learn dart/flutter rather than deal with, and attempt to figure which, web framework to use. If forced I would likely go with htmx. Regards nue: do I need to know rust?
- Rockslide 2y ago> What's next We're improving the developer experience in three distinct phases: Framework -> Design -> Cloud So the "cloud" part is where the enshittification will begin. Been there, done that, switched away from next.js :|
- desireco42 2y agoI really like the use of markdown and extending it. I think this is the way to go. Also how you are thinking about app theme and design is really good. This button demo... really ambivalent about it.
- nashashmi 2y agoI feel like some of react’s innovations should be built into browsers. Jquery got built in with document.queryselect.
- SJC_Hacker 2y agoGoogle decides what goes in a browser these days. Since React came out of Facebook there is approximately (checks notes) -ZERO chance in hell- of that happening
- flufluflufluffy 2y agoIt sounds cool and all but the single button thing just irks me. The point of React is for making a system of components with potentially complex relationships between them/when they’re displayed, etc… Nobody is using React to put a single button on their website. It’d be nice if there was a more useful, practical “benchmark” that your entire marketing of the library is centered on.
- phaedrus 2y agoThis framework is a good example of something I call, "there's plenty of room in the middle." (In analogy to Feynman's "plenty of room at the bottom" about nanotechnology.) Much like how Cosmic Inflation in the early universe left the imprint of microwave background radiation written exponentially large across the sky, I believe the exponential expansion of computing during the era of Moore's law left whole sections of scale in software not-fully-explored. Specifically, as "average app sizes" went from 1K - 10K - 100K - 1M - 10M - 100M+, you could imagine the 1K-10K got fully explored because the space wasn't that big to begin with, and the 1M - 10M range got, if not explored at least inhabited, but it could be that that middle range of "neat applications that weigh in ~100K+ but less than 1M" didn't get completely explored because we didn't spend enough time in that era of computing. A similar thing may be playing out in AI scaling, where we went from tiny to medium to huge model sizes, but now some new participants are going back and doing neat things with medium sized models.
- h14h 2y agoIMO talking about the “heaviness” of popular web frameworks is way too simplistic to be actually meaningful. How light or heavy an app feels, in my experience, has very little to do with initial bundle size, and far more to do with how adeptly the developers have solved the distributed systems problems of their app. Are images compressed and cached on a CDN? Is linked content pre-fetched? Does the app avoid unnecessary roundtrips to the server? These are the questions that truly matter, IMHO. They’re also things that junior devs are likely to get wrong. All that said, I agree that you tend to see far more sluggish websites written in React than in any other framework. But personally, I think that’s a consequence of React being popular, and attracting a larger proportion of devs who miss important details. I share this opinion of Electron, BTW.
- zozbot234 2y ago> Does the app avoid unnecessary roundtrips to the server? Guess what, using server-rendered pages avoids all unnecessary roundtrips by definition, because the entire page is loaded in one go. You can augment a server-rendered site with client-side SPA features for seamless interaction within the page, but that's not a key requirement either.
- robertoandred 2y agoRendering and loading an entire new page just to open a dialog seems pretty unnecessary to me.
- crabmusket 2y agoAnd importantly, does the app have clear loading states when it has to block on something? Making sure something happens immediately can make things feel fast even if you're waiting on the network.
- 65 2y agoThis is cool. Though I think what could be improved is using folder routing, it works surprisingly well.
- deleted 2y ago[deleted]
- austin-cheney 2y agoIts not big frameworks making the web big/slow. Its... Yes, its absolutely the big fucking frameworks. In most cases it is the actual literal use of the frameworks, but even that isn't the real problem. The real problem is deeper. You can call it second order consequences. Its developers that cannot optimize and cannot program without something like React. If you took React away would you suddenly not be able to do your job at all? That's horrible problem to have. The result is a bunch of toxic defensive posturing by people who suddenly appear not qualified to do the work. If you cannot dig deeper you certainly cannot optimize deeper. That makes the assumption you are actually measuring things and optimizing things in the first place, which many developers aren't. Again, if a given developer lacks the capabilities to dive deeper they may also lack the capabilities to measure things, as is quite common.
- dmix 2y agoMost IRL software failures like poor performance, lack of stability, unmanageable technical debt, etc are going to be systems and human failures 90%+ of the time, not the individual tool or framework choices.
- austin-cheney 2y agoIt’s human failure 100%. Big frameworks just lower the baseline such that this failure becomes more acceptable, less immediately aware, and masks candidate selection. If you want to achieve something smaller or faster you have to measure for it. Odds are if you cannot execute without a big framework telling you how to proceed you will not be able to measure it either way.
- deleted 2y ago[deleted]
- hollowturtle 2y agoIn the meanwhile on the App/Play store some native apps like YouTube weight around half a GB... but only the web is bloated
- dimgl 2y agoI can’t find a single example of what a Nue app looks like. All I can find is pretentious claims about how Tailwind sucks and other outlandish claims.
- WuxiFingerHold 2y agoReact is the most used frontend framework, but not a good reference as React is outdated, slow and big. Take Solid, Svelte or Vue (with or without Vapor mode) as reference and the picture looks different. Additionally when using custom components instead of large UI libs based on HTML elements like <dialog> or the recently announced stylable <select> element you have a very powerful, small and simple stack. Still, they catched my interest. A lot. I'll dive into the docs to learn more. Maybe I'll be convinced to change my go-to stack to Nue ... damn, I had so many happy weeks with Vue. Maybe till Vue Vapor is out.
- alloysmila 2y agoBased on work done by svelte and solid, I think it is possible to shave base react down to half its current size, but it appears nobody (inside or outside of Meta) is willing to take on this challenge. Unfortunately, the tradeoffs are still in favor of react and will continue to be in favor of react for the foreseeable future. Most importantly it is next to impossible to get developers to give up DX (and muscle memory) for smaller JS bundles.
- exabrial 2y agohttps://dayssincelastjavascriptframework.com/ https://dayssincelastjavascriptframework.com/
- ChuckMcM 2y agoSo is there a book that I could read that would allow me to write applications with just HTML/CSS some js and rust? I don't want Nue so much as I want "The art of writing lightweight, feature complete, responsive applications on the modern web." Would love a pointer to THAT.
- darepublic 2y agoIf I felt strongly about going lightweight I would (do) use plain js. I trust myself to know when I'm following basic principles of performance and when the line has been crossed warranting the use of a framework
- Maksadbek 2y agoSo many people are obsessed with Web application size. But there are other important factors as well. First of all, the UI must be functional even it's slow and heavy. If it does the job then it's already a win. I don't actually care how long I'll wait while I'm downloading the JS bundles. I've been waiting 5-10 mins GTA to load back in 2008, waiting seconds is totally ok.
- SJC_Hacker 2y agoIt would be nice if the standard JS library was more feature complete like Python. Then devs wouldn't have to bundle third party libraries. Or perhaps the caching could be better. e.g. if your'e using Tailwind CSS version XXX, why does the browser have to reload it every single time? Local persistent storage isn't exactly at premium these days even for "lightweight" mobile devices.
- crabmusket 2y ago> if your'e using Tailwind CSS version XXX, why does the browser have to reload it every single time? Security: https://www.stefanjudis.com/notes/say-goodbye-to-resource-caching-across-sites-and-domains/ https://www.stefanjudis.com/notes/say-goodbye-to-resource-ca...
- SJC_Hacker 2y agoThis refers more to tracking, not security directly, though I suppose there is some overlap This is also doesn't explain why the browser would constantly need to redownload the same files assuming the original requester was the same. The browser could also introduce an ersatz delay to throw off the tracking.
- quantadev 2y agoThe main benefit React is giving my app is just the ability to update the DOM automatically and efficiently, without me worrying about doing anything but updating the state variables. I have a feeling some very well crafted prompt to the best AI in the world could just about generate something that can also do this in like 500 lines of JS, in a single file. Once we have that, we can get rid of React maybe? I also hate JSX, and have my app setup so I create GUI elements programatically like "button = new Button("Save", db.save)". Templating has so many friction points I find it to not even be worth the complexity, expecially once you have templates containing other templates with looping and conditionals, etc, and you end up with just an extra layer of cognitive load. No thanks. We can do better. With the capabilities of modern JS (classes, imports, etc) we can phase out React and Vue.
- deleted 2y ago[deleted]
- Jean-Papoulos 2y agoIf React is good enough to power Facebook, it's good enough for your <1k users app.
- eik21 2y agoNah this is crazy
- munawwar 2y agoBTW preact + hooks + router (preact-iso) is 10 kb. It's a good starting point. And SVG icons should use svg `<use>` tag and shouldn't be counted in code size.
- xingwu 2y agoReact is fine. Next.js is evil.