uibuilder
react-svelte
Our great sponsors
uibuilder | react-svelte | |
---|---|---|
6 | 2 | |
128 | 301 | |
- | - | |
0.0 | 0.0 | |
about 4 years ago | over 1 year ago | |
TypeScript | JavaScript | |
MIT License | GNU General Public License v3.0 or later |
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.
uibuilder
- Web Components Will Outlive Your JavaScript Framework
- If Web Components are so great, why am I not using them?
- Ask HN: Good resource on writing web app with plain JavaScript/HTML/CSS
-
AlpineJS – Lightweight JavaScript Framework
This looks bad. I see custom syntax, and JavaScript embedded into HTML in a way that cannot be syntax-checked at build time.
If you want a lightweight framework check out UIBuilder instead: https://github.com/wisercoder/uibuilder
Same JSX syntax as React, but this lib is very simple -- just over 200 lines of source code.
-
Virtual DOM is pure overhead
If you don't need Virtual DOM then Web Components are a great idea for building reusable components that work with all frameworks, including React. You can even use JSX to build Web Components: https://github.com/wisercoder/uibuilder
react-svelte
-
Virtual DOM is pure overhead
React’s changes over time have always been broadly compatible, and the same under the hood, just presented and manipulated a different way at the surface. Migrating to anything like Svelte would be a radical and extremely incompatible change on multiple fronts. It’s never, ever going to happen; the closest you’ll get will be another layer on top of React that embeds something like Svelte—such as https://github.com/Rich-Harris/react-svelte.
Svelte’s approach requires detailed knowledge of the structure of state, and requires compilation: components’ blocks are not written in JavaScript, but rather a language with the same general syntax but different semantics, and some places where JavaScript is too flexible to be tractable get replaced with special template syntax (like {#each} instead of for-loops or Array.prototype.map). Svelte cannot be implemented as a JavaScript library (I disqualify eval()). Svelte is also deliberately severely limited in what it can express in various places, whereas React gives you the full power of JavaScript (for better and for worse).<p>You could perhaps implement an optimising compiler for a small subset of React components that avoid problematic patterns and are written in TypeScript with proper specifications of the types of state and props; but if you considered it unacceptable for this compiler to change the component’s semantics, I think you’d be surprised at how little serious React code in the wild could actually be supported. Even simple loops <i>might</i> be out of reach. The Svelte approach can’t be a progressive enhancement, it’s an all-or-nothing (at the component level).
- I need help with a Svelte/Storybook/React implementation
What are some alternatives?
svelte-query - Performant and powerful remote data synchronization for Svelte
budibase - Budibase is an open-source low code platform that helps you build internal tools in minutes 🚀
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
react-query - 🤖 Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]
Tailwind CSS - A utility-first CSS framework for rapid UI development.
fastdom - Eliminates layout thrashing by batching DOM measurement and mutation tasks
htmx - </> htmx - high power tools for HTML
proposal-import-attributes - Proposal for syntax to import ES modules with assertions
custom-elements - Using custom elements
langterm - 🕹️ WebGL-based VT220 emulator, made as a learning example and frontend for a text adventure