uibuilder
fastdom
uibuilder | fastdom | |
---|---|---|
6 | 4 | |
128 | 6,772 | |
- | - | |
0.0 | 2.9 | |
about 4 years ago | 2 months ago | |
TypeScript | JavaScript | |
MIT License | - |
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
fastdom
-
If Web Components are so great, why am I not using them?
Now, every time we read `offsetHeight`, the browser sees that it has a scheduled DOM modification to apply, so it has to apply that first, before it can return a correct value.
This is the reason that libraries like fastdom (https://github.com/wilsonpage/fastdom) exist - they help ensure that, in a given tick, all the reads happen first, followed by all the writes.
That said, I suspect even if you add a write followed by a read to your `while(1)` experiment, it still won't actually render anything, because painting is a separate phase of the rendering process, which always happens asynchronously. But that might not be true, and I'm on mobile and can't test it myself.
- TodoMVC App Written in Vanilla JavaScript
-
Notes on the Critical Rendering Path (CRP)
batching your writes & reads to the DOM (via FastDOM or a virtual DOM implementation).
-
Performance tips for JavaScript Game Developers
For more information on how and why this works, and a more robust and complete implementation, check out the FastDom library: https://github.com/wilsonpage/fastdom - note that you might not need this particular optimization if you're using a rendering framework, which should already be doing these sorts of optimisations for you.
What are some alternatives?
svelte-query - Performant and powerful remote data synchronization for Svelte
mebm - zero-dependency browser-based video editor
react-svelte - Use Svelte components inside a React app
react-gradual-upgrade-demo - Demonstration of how to gradually upgrade an app to a new version of React
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
yhtml - Tiny html tag function for rendering Web Component templates with event binding
budibase - Budibase is an open-source low code platform that helps you build internal tools in minutes 🚀
custom-elements - Using custom elements
proposal-import-attributes - Proposal for syntax to import ES modules with assertions
custom-elements-everywhere - Custom Element + Framework Interoperability Tests.