wisdom VS webcomponents

Compare wisdom vs webcomponents and see what are their differences.

wisdom

Building better developers by specifying criteria of success (by prettydiff)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
wisdom webcomponents
26 34
567 4,312
- 0.7%
5.4 4.4
8 months ago 3 months ago
HTML
GNU General Public License v3.0 only 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.

wisdom

Posts with mentions or reviews of wisdom. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-02.
  • Ask HN: Best stack for real time data intensive apps
    1 project | news.ycombinator.com | 17 Apr 2024
    If you want to output to a browser here is the guide to achieve the best possible performance according to the numbers:

    https://github.com/prettydiff/wisdom/blob/master/performance...

    Warning: every time I post this people claim to want superior performance but then whine when they realize they have to actually write code (as opposed to letting NPM or React or jQuery do 99% of everything).

  • Ask HN: What are the hidden performance tricks for JavaScript?
    1 project | news.ycombinator.com | 4 Mar 2024
    This was attempt to research the fastest possible approach to a JavaScript GUI in the browser.

    https://github.com/prettydiff/wisdom/blob/master/performance...

    The techniques mentioned are stupid fast to the fewest milliseconds, but most JavaScript developers find this incredibly unpopular.

  • Ask HN: How can I learn about performance optimization?
    6 projects | news.ycombinator.com | 2 Mar 2024
    Measure everything and be extremely critical. Be ready to challenge common and popular held assumptions.

    Here is something I wrote about extreme performance in JavaScript that is discarded by most programmers because most people that program JavaScript professionally cannot really program.

    https://github.com/prettydiff/wisdom/blob/master/performance...

  • Ask HN: What are good patterns for holding state?
    1 project | news.ycombinator.com | 9 Dec 2023
    For simple state management here is what I do: https://github.com/prettydiff/wisdom/blob/master/state_manag...

    Here is an application with an OS-like GUI making use of that concept: https://github.com/prettydiff/share-file-systems

  • IBM study: 40% of workers will have to reskill in the next three years due to AI
    1 project | news.ycombinator.com | 20 Aug 2023
    The challenge is in determining who is about to become obsolete and that is not clear. For example OOP remains the most popular and requested programming paradigm even though it has gradually slid into functional obsolescence more than a decade ago[1].

    Even still legacy code will remain in use and talent to maintain legacy systems will remain in demand. My university still teaches COBOL because there still exists demand for people to maintain these legacy applications even if new applications are no longer written in that language.

    [1] https://github.com/prettydiff/wisdom/blob/master/Object_Orie...

  • TypeScript Is Surprisingly OK for Compilers
    14 projects | news.ycombinator.com | 18 Aug 2023
    That depends on how many changes it requires. If its just a matter of don't do these 3 things and your code suddenly becomes more predictable its like being slapped with a magic wand. Everybody wins. All you have to do to ensure 100% of your code compiles in a JIT is be predictable. Predictable code is, on its face, always less confusing.

    > The performance benefits are likely to be minimal

    This makes me cry, but not a cry of joy or ecstasy. People guessing about performance is perhaps the most frequent anti-pattern in all programming. Please read this document, you can skip to the end but it may not make much sense if you do. https://github.com/prettydiff/wisdom/blob/master/JavaScript_...

  • As a self learner which courses, books, tutorials have impacted you positively?
    1 project | news.ycombinator.com | 17 Aug 2023
    After talking about the biggest failures I have seen through my career in learning JavaScript I watched a YouTube video about an interview with a divorce attorney. It was interesting because the behaviors I heard expressed in that video exactly aligned with behaviors I see expressed in failures to learn after large commitments of time investment in programming. It inspired me to write this: https://github.com/prettydiff/wisdom/blob/master/JavaScript_...

    The most important learning for me out of this is that people are predictable and how we commit is modeled by how perceptions of rewards are attained. It also inspired me to dive deeper into self learning about behavior and economics, because people do exceptionally irrational things to avoid perceived discomfort.

  • Why are many of the biggest web frameworks in dynamically typed langs?
    1 project | news.ycombinator.com | 6 Jun 2023
    > just want to know what makes a good web framework.

    Personal opinion. A framework is an architecture in a box so that you, the developer, do not have to make as many decisions. Normally when developers are asking such questions they are seeking easiness: https://github.com/prettydiff/wisdom/blob/master/Easiness.md

  • Htmx
    5 projects | news.ycombinator.com | 25 May 2023
    Software developers, especially DOM fearing front developers love using the word easy. It isn’t so much an infatuation but more like a fatal attraction obsession where obstruction means war on a very emotional level. Ironically, people are loathe to confront these feelings openly and thus cannot define the word easy with any kind of clear practical application.

    So, I did the world a favor and wrote just such a definition: https://github.com/prettydiff/wisdom/blob/master/Easiness.md...

  • Building a Front End Framework; Reactivity, Composability with No Dependencies
    11 projects | news.ycombinator.com | 14 May 2023
    Depends on the definition of simplicity. People say they want simple, but then really want easy. The most easy is always somebody doing the work for you. I got tired of hearing people mention easy when really they probably mean some combination of fearful and/or lazy, so I chose to define easiness:

    https://github.com/prettydiff/wisdom/blob/master/Easiness.md

    If developers really wanted simplicity or to be done with work faster they would just learn the primitives of their environment: DOM, functions, and events. Most of the frameworks have APIs that are huge, so clearly simplicity isn't what's wanted.

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.

What are some alternatives?

When comparing wisdom and webcomponents you can also consider the following projects:

share-file-systems - Use a Windows/OSX like GUI in the browser to share files cross OS privately. No cloud, no server, no third party.

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.

dom-proxy - Develop lightweight and declarative UI with automatic dependecy tracking without boilerplate code, VDOM, nor compiler

WHATWG HTML Standard - HTML Standard

caya - a tiny useful simple language experiment

custom-elements - All inclusive customElements polyfill for every browser

zustand - 🐻 Bear necessities for state management in React

shoelace-css - A collection of professionally designed, every day UI components built on Web standards. SHOELACE IS BECOMING WEB AWESOME. WE ARE LIVE ON KICKSTARTER! πŸ‘‡πŸ‘‡πŸ‘‡

swc - Rust-based platform for the Web

design-reviews - W3C specs and API reviews

wstunnel - Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI - Static binary available

eureka - Lucene-based search engine for your source code