custom-elements-everywhere VS fastdom

Compare custom-elements-everywhere vs fastdom and see what are their differences.

fastdom

Eliminates layout thrashing by batching DOM measurement and mutation tasks (by wilsonpage)
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.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
custom-elements-everywhere fastdom
19 4
1,135 6,772
0.5% -
8.9 2.9
6 days ago 2 months ago
JavaScript JavaScript
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

custom-elements-everywhere

Posts with mentions or reviews of custom-elements-everywhere. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-05.

fastdom

Posts with mentions or reviews of fastdom. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-02.
  • If Web Components are so great, why am I not using them?
    12 projects | news.ycombinator.com | 2 Aug 2023
    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
    9 projects | news.ycombinator.com | 7 May 2022
  • Notes on the Critical Rendering Path (CRP)
    1 project | dev.to | 25 Apr 2022
    batching your writes & reads to the DOM (via FastDOM or a virtual DOM implementation).
  • Performance tips for JavaScript Game Developers
    1 project | /r/incremental_games | 23 Apr 2021
    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?

When comparing custom-elements-everywhere and fastdom you can also consider the following projects:

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.

mebm - zero-dependency browser-based video editor

details-dialog-element - A modal dialog that's opened with <details>.

react-gradual-upgrade-demo - Demonstration of how to gradually upgrade an app to a new version of React

hybrids - Extraordinary JavaScript UI framework with unique declarative and functional architecture

yhtml - Tiny html tag function for rendering Web Component templates with event binding

feelback-integrations - Feelback SDKs, integrations libraries and samples

uibuilder - Typed HTML templates using TypeScript's TSX files

astro - The web framework for content-driven websites. ⭐️ Star to support our work!

custom-elements - Using custom elements

web-vitals - Essential metrics for a healthy site.

proposal-import-attributes - Proposal for syntax to import ES modules with assertions