domdiff
eureka
domdiff | eureka | |
---|---|---|
2 | 11 | |
210 | 4 | |
- | - | |
0.0 | 1.8 | |
over 1 year ago | over 3 years ago | |
JavaScript | ||
ISC License | GNU General Public License v3.0 only |
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.
domdiff
-
Ask HN: What happened to vanilla HTML/CSS/JS development?
> There are lighter-weight shadow dom frameworks out there (than Vue/React/Angular) so why would you want to write one yourself?
You can even avoid a shadow DOM entirely:
https://github.com/WebReflection/domdiff
https://github.com/WebReflection/uhtml
-
Proposal to add efficient DOM diffing to browser
If by faster you mean faster than React I think there is evidence it can be. The author of the issue writes lots of dom utility and rendering libraries and I believe domdiff is more or less what he describes in the post:
https://github.com/WebReflection/domdiff
You can find it placed way above React in the usual JS rendering benchmarks:
https://rawgit.com/krausest/js-framework-benchmark/master/we...
Now it's not entirely clear whether these benchmarks convey something meaningful except for maybe the point that most frameworks are quite fast. That being said I think it's developer experience that really stands to improve. Thinking of view as a pure function of state was a great innovation, but existing implementations can end up fracturing the view into virtual doms and non-virtual. Then you end up with problems like D3 and React not coexisting.
I feel like I heard something from the lit-html folks that a long term aspiration was to integrate some learnings from the project into chrome, but I haven't been able to find where again.
There has been a trend in JS with libraries becoming idiomatic to the language to later have the issues they targeted be addressed natively (a la JQuery).
In general, I definitely appreciate your point about adding complexity to the platform, but I think when it comes to web technologies that ship has long sailed. I really see it as an opportunity to bring a lot of simplicity, chiefly filling that void that's birthed a billion JS frameworks.
Thanks for the thoughtful comment.
eureka
-
How to build a website without frameworks and tons of libraries
Here's an example of building a well-structured, maintainable web-site using JavaScript, HTML and CSS: https://github.com/wisercoder/eureka/tree/master/webapp/Clie...
It doesn't use React (imagine the horror!), instead it uses two tine 500-line libs.
-
React is 10 years old
> a literal 5-20x productivity boost
Not really. See a better way here: https://github.com/wisercoder/eureka
- Building a Front End Framework; Reactivity, Composability with No Dependencies
-
React is a fractal of bad design
I'm not quite seeing React being used, just JSX though? All the view and state updating is being done manually, but it looks fairly well-organised. There are small optimisations like debouncing onInput with a timeout (avoiding rapid re-rendering for every character typed): https://github.com/wisercoder/eureka/blob/master/webapp/Clie...
- Ask HN: Good resource on writing web app with plain JavaScript/HTML/CSS
- Can We All Just Admit React Hooks Were a Bad Idea?
- Ask HN: What happened to vanilla HTML/CSS/JS development?
-
I don't miss React: a story about using the platform
React works well for simple, non-interactive components. Complex, interactive components are going to have state. Stateful components don't work so well in React. If you want to update props in a stateful component, the recommendation is to replace the component entirely by changing its key. At the point all of the benefits of React (preservation of selection, caret position, scroll position etc.) vanish. You might as well use vanilla js instead of React.
What does using Vanilla JS look like? Here's an example: https://github.com/wisercoder/eureka It uses two tiny 500-line libs. It uses TSX files, just like React. It has components, just like React. It doesn't have incremental screen update, but neither does React, if your components are interactive and stateful.
- A Visual Guide to React Rendering
What are some alternatives?
dom - DOM Standard
webcomponents - Web Components specifications
modern-todomvc-vanillajs - TodoMVC with Modern (ES6+), Vanilla JavaScript
Ink - 🌈 React for interactive command-line apps
notemplate - NoTemplate is not a template library.
org-mode-site-template - A workflow for a complete site using the HTML publish option of Emacs Org-Mode
prehistoric-simulation - Simulator in browser
el - Minimal JavaScript application framework / WebComponents base class
AlgoVis - A web page that visualizes a simple sorting algorithm.
editable-website - A SvelteKit template for building CMS-free editable websites
web-starter - Starter for Fastify + Web Components/Lit Web App. Includes Reload and web server restart on dev mode.
uhtml - A micro HTML/SVG render