Liskov’s Gun: The parallel evolution of React and Web Components
https://www.baldurbjarnason.com/2024/liskovs-gun/
This is a bit of an experiment. Probably the longest essay I've published directly on my website. 🙂
Liskov’s Gun: The parallel evolution of React and Web Components
https://www.baldurbjarnason.com/2024/liskovs-gun/
This is a bit of an experiment. Probably the longest essay I've published directly on my website. 🙂
@baldur can't claim to have read it all in detail (will bookmark), but I agree with a lot of what's being said and like your take in considering the nuance of all this.
There seems common threads in people's takes on this. Another prescient concern is the UX trade offs of [the lack of] progressive enhancement.
Would be interested to know if you've looked at 'Marko' and have a take on it as something of a React alternative:
https://markojs.com/
@baldur thanks. I did a fairly rambling opinionated blog post about the sustainability of front end view code recently. Marko came up as one framework that ticked the boxes I concluded were required for the way forward (if you have to use a framework at all). That said I still don't know a whole lot Marko and have never actually used it!
https://ssims.co.uk/personal/blog/Writing-sustainable-code-for-apps-part-1-The-View
@nolan Thanks! And, yeah, I'm definitely not giving React much credit or even the benefit of doubt.
Though, I think it's fair to say that the jury is still out on a lot of their innovations and that they don't really make up for the overall harm that comes from React's popularity
And if they do come up with something genuinely novel and reusable, people can always steal the idea 🙂
@baldur
> The CSS property display: contents; also goes some way to alleviate this issue as it can be used to effectively “disappear” the custom element from the rendering tree, so it doesn’t interfere with, for example, the parent-child relationship between a <ul> and <li> element.
This is not how I at least understood `display: contents`. It rather keeps the DOM meaning as defined when it comes to semantics, and just skips the element when it comes to, well, displaying it.
https://hidde.blog/more-accessible-markup-with-display-contents/#heading-4
@hdv here explores a use-case of adding `display: contents` to `<ul>` to make `<li>` grid items for *styling* while keeping it a list for semantics. So `display: contents` doesn't alleviate the `<ul><my-el><li>` situation if that's what you were suggesting.