webcomponents VS standards-positions

Compare webcomponents vs standards-positions and see what are their differences.

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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
webcomponents standards-positions
34 180
4,313 598
0.2% 1.0%
4.4 7.6
3 months ago 3 months ago
HTML Python
GNU General Public License v3.0 or later Mozilla Public License 2.0
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.

webcomponents

Posts with mentions or reviews of webcomponents. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-27.
  • "open-stylable" Shadow Roots · Issue #909 · WICG/webcomponents
    1 project | news.ycombinator.com | 11 Jan 2024
  • Web Components Eliminate JavaScript Framework Lock-In
    10 projects | news.ycombinator.com | 27 Nov 2023
    It's not all that shiny. Web components have global names (you should pretty much apply a prefix/namespace if you want to work with others) and managing multiple version of the same component in the same page is an issue in any non trivial codebase (either use a different name per version or fix all breaking changes at once during the upgrade, unless the draft about scoping web elements became standard https://github.com/WICG/webcomponents/blob/gh-pages/proposal... )
  • HTML Web Components
    14 projects | news.ycombinator.com | 13 Nov 2023
    I've recently just started playing with Web Components without a build environment. Meaning, no npm, no bun, no webpack, etc, and no dependencies; in typescript. Intellij can autocompile down to js and the browser view injects a small onchange handler for live updates when developing. So far no problems.

    The only thing holding web components back seems to be HTML Modules; being able to link to a .html file instead of a .js file to import a web component. Because of this if you want to use templates or anything more complicated you need to do the ugly inject of .innerHtml = `...`, which I thought would be a problem but the IDE parses the template string very nicely. It would be great to make a component in HTML and any javascript you would put in a tag. It seems like there a lot of bureaucracy involved in getting HTML Modules out the door since its been eight years.<p><a href="https://github.com/WICG/webcomponents/blob/gh-pages/proposals/html-modules-explainer.md#high-level-summary">https://github.com/WICG/webcomponents/blob/gh-pages/proposal...</a>

  • Lit 3 Release Announcement
    9 projects | news.ycombinator.com | 10 Oct 2023
    We're trying to advocate for greater flexibility in cross-component styling. One proposal is "open styleable shadow-roots" which would be an opt-in to let styles from above a component to apply to it's shadow root. I think this would help migration in situations where app teams are currently using global stylesheets.

    Feedback and support of the need for something like this would help a lot: https://github.com/WICG/webcomponents/issues/909

  • Things you forgot because of React
    14 projects | news.ycombinator.com | 15 Aug 2023
    ))

    Part 1.

    > I honestly believe that 90% of the dislike for WC comes from the name "connectedCallback". If they'd named it "onCreate" or something, everyone would be using it

    Of course not. None of the criticism towards Web Components ever mentions "connectedCallback", or how it should be named differently.

    Do you know the actual reason so few are using them? Let's skip the atrocious not-really-high-level not-really-low-level imperative API that they offer.

    How about:

    - 13 years after introduction they still need 20 more specs to try and patch just some of the holes in their original design: https://w3c.github.io/webcomponents-cg/2022.html

    - Shadow DOM is infecting every spec so that the actual useful specs like Scoped CSS have to be delayed almost indefinitely to try and figure out how to work with this abomination of a design

    To quote the report linked above, "many of these pain points are directly related to Shadow DOM's encapsulation"

    - The amount of specs that are required to make them work, barely, and be "good web citizens". And the amount of APIs.

    Oh, you want your custom input to a) be able to send its data in a form, and b) be accessible to a label outside of your component? Well, there's a separate API for a) and there's some separate future API for b). And meanwhile your custom button won't be able to submit your form, sorry, it's a 4-year old issue with no solution: https://github.com/WICG/webcomponents/issues/814

    And all that despite the fact that there are already a dozen specs covering web components, and dozens more on their way.

    - Web Components ar HTMLElement. It means you cannot use them inside SVGs.

    This is impossible:

        
  • Building a Front End Framework; Reactivity, Composability with No Dependencies
    11 projects | news.ycombinator.com | 14 May 2023
    The lit-plugin in for VS Code offers syntax highlighting, jumpt-to-definition, etc: https://marketplace.visualstudio.com/items?itemName=runem.li...

    Prettier already supports HTML in html`` strings, likewise, CSS.

    > Is there a way in Lit to write the templates in regular HTML rather than a string?

    This would require a compiler. You would need to load the HTML into the JS module graph and JS can't do that yet, though there is a proposal for it: https://github.com/WICG/webcomponents/blob/gh-pages/proposal...

    Template in HTML also have the problem of the data not being in scope as it is in JS, and there not being an expression language. So you ned up having to re-implement a lot of JS embedded into the HTML syntax, which then preferences a compiler-based approach to make fast. It turns out to be a lot simpler to embed HTML in JS.

  • I am experimenting with Typescript. Is this way of defining a constructor considered normal or an abomination?
    2 projects | /r/webdev | 22 Feb 2023
    It's more than just sugar now. You can't even write web components functionally: https://github.com/WICG/webcomponents/issues/587
  • Declarative Shadow DOM
    5 projects | news.ycombinator.com | 13 Feb 2023
    gzip/brotli handles this very well, but it still is text to parse through.

    Some form of declarative CSS module scripts would help a lot. A feature request for that here: https://github.com/WICG/webcomponents/issues/939

  • risk of accessible components
    1 project | /r/vuejs | 17 Nov 2022
  • Templating in HTML
    5 projects | news.ycombinator.com | 4 Oct 2022
    In the past I've seen this one:

    https://github.com/WICG/webcomponents/blob/gh-pages/proposal...

    Perhaps there are more recent versions.

    I liked the spirit of the proposal, but never studied it.

standards-positions

Posts with mentions or reviews of standards-positions. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-03.
  • Firefox Webserial Addon
    3 projects | news.ycombinator.com | 3 May 2024
    You can read through the conversations to understand more of the context

    https://github.com/mozilla/standards-positions/issues/100#is...

    https://github.com/mozilla/standards-positions/issues/95#iss...

    https://github.com/mozilla/standards-positions/issues/336

    The main struggle is around giving informed consent that explains the risks. Understandably, browsers don't want to ship a "Set my printer on fire" button.

  • iOS404
    2 projects | news.ycombinator.com | 16 Apr 2024
    You can check why Mozilla and Apple have opted to not support this.

    https://github.com/mozilla/standards-positions/issues/154

    https://github.com/WebKit/standards-positions/issues/28

    Neither Mozilla or Webkit are satisfied that the proposal is safe by default, and contains footguns for the user that can be pretty destructive.

  • Show HN: DualShock calibration in the browser using WebHID
    3 projects | news.ycombinator.com | 9 Apr 2024
    FWIW Mozilla updated their position on Web Serial API to "neutral" and clarified that they might be okay with enabling the API with an add-on.

    https://mozilla.github.io/standards-positions/#webserial

    Allowing serial but not HID would be really strange. With HID you get standard identifiers that let you filter out devices that are too dangerous for the web. With serial you get nothing. Even if you know a device is dangerous, there's no way to protect users from it.

  • Tailwind CSS v4.0.0 Alpha
    7 projects | news.ycombinator.com | 6 Mar 2024
    Hasn't FireFox been dragging their asses on @scope? https://github.com/mozilla/standards-positions/issues/472

    It took years to just convince them of the need for it. And I'm not sure anyone got convinced vs Chrome had already shipped it and Safari has it planned so they caved in.

    Hard to believe FireFox used to be a leader of the modern web.

  • An HTML Switch Control
    4 projects | news.ycombinator.com | 28 Feb 2024
    As mentioned by others, OK idea, but not a fan that this isn't standardized. After a quick search+peruse, these seem to indicate that it's not around the corner either. Happy (/hope) to be corrected.

    https://github.com/whatwg/html/issues/4180

    https://github.com/mozilla/standards-positions/issues/990

  • Platform issues which disadvantage Firefox compared to first-party browsers
    5 projects | news.ycombinator.com | 19 Jan 2024
    Mozilla's position on these specs is nicely outlined publicly and transparently as part of their standards-positions project: https://github.com/mozilla/standards-positions/issues/100

    I'm kinda glad it's not implemented in my browser, to be honest, because the whole thing seems like a security nightmare.

    It's a shame it impacts some hobby usecases, but I don't think this outweighs the reasoning set out on the GitHub issue.

  • What Progressive Web App (PWA) Can Do Today
    5 projects | news.ycombinator.com | 8 Jan 2024
    This should have big warnings on it. Some of these are not web standards; they are features implemented unilaterally by Google in Blink that have been explicitly rejected by both Mozilla and Apple on privacy and security grounds.

    Take Web Bluetooth, for example:

    Mozilla:

    > This model is unsustainable and presents a significant risk to users and their devices.

    — https://mozilla.github.io/standards-positions/#web-bluetooth

    Apple:

    > Here are some examples of features we have decided to not yet implement due to fingerprinting, security, and other concerns, and where we do not yet see a path to resolving those concerns

    — https://webkit.org/tracking-prevention/

    This is Microsoft’s Embrace, Extend, and Extinguish bullshit applied to the web platform by Google. Google keeps implementing these things despite all other major rendering engines rejecting them, convinces people that they are part of the web, resulting in sites like this, then people start asking why Firefox and Safari are “missing functionality”. These are not part of the web platform, they are Google APIs that have been explicitly rejected.

  • Why Are Tech Reporters Sleeping on the Biggest App Store Story?
    6 projects | news.ycombinator.com | 2 Jan 2024
    Is BLE a PWA requirement? I think they explained their position pretty well here, regardless of whether I agree:

    https://github.com/mozilla/standards-positions/issues/95#iss...

  • Reason to Use Firefox Is Sync That Works
    5 projects | news.ycombinator.com | 28 Dec 2023
    I took a glance at Can I Use what the difference between the last public release of Firefox and Chrome is [1] and they don't really have that big of a difference in the eyes of normal use-cases? Some of these aren't implemented purely because of privacy reasons, the proposals aren't finished yet or complexity [2].

    Why would Firefox need to change to Chromium engine? The only websites I notice that don't work with Firefox is because of user-agent targetting or just putting 5-second time-outs in Youtube code on non-chrome webbrowsers [3].

    Can you give some examples of websites not working on Firefox?

    [1] https://caniuse.com/?compare=chrome+120%2Cfirefox+121&compar...

    [2] https://mozilla.github.io/standards-positions/

    [3] https://www.neowin.net/news/youtube-seemingly-intentionally-...

  • Mozilla's Position on CSS Scope
    1 project | news.ycombinator.com | 27 Dec 2023

What are some alternatives?

When comparing webcomponents and standards-positions 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.

webcontainer-core - Dev environments. In your web app.

WHATWG HTML Standard - HTML Standard

custom-elements - All inclusive customElements polyfill for every browser

wpt - Test suites for Web platform specs — including WHATWG, W3C, and others

shoelace-css - A collection of professionally designed, every day UI components built on Web standards. SHOELACE IS BECOMING WEB AWESOME 👇👇👇

firefox-ios - Firefox for iOS

design-reviews - W3C specs and API reviews

WebKit - Home of the WebKit project, the browser engine used by Safari, Mail, App Store and many other applications on macOS, iOS and Linux.

eureka - Lucene-based search engine for your source code

Fakeflix - Not the usual clone that you can find on the web.