Florian Hehlen
@zenwork.bsky.social
52 followers 59 following 80 posts
Reluctant architect and software engineer at heart. I work in the digital healthcare world and looking for a way to make a difference with https://hl7.org/fhir
Posts Media Videos Starter Packs
Pinned
zenwork.bsky.social
I am self-deporting here in foggy November looking for blue skies. Trying to forget my X, hoping all the important people I follow eventually follow.
zenwork.bsky.social
Hi all... Sunday, feeling good about my progress helping out with the Lume (lume.land) project (#Deno SSG engine) and the underlying Vento (vento.js.org) templating engine. I am wrking away on a plugin for #Jetbrains #IntelliJIDEA and #Webstorm
Lume, the static site generator for Deno
Support for multiple file formats like Markdown, YAML, JavaScript, TypeScript, JSX, Nunjucks etc.
lume.land
zenwork.bsky.social
Brings back memories. Is this the version of the browser that included dialup software directly into the browser.
zenwork.bsky.social
And the shadow DOM is a feature too. The cascade can lead to lots of issues in complex/large apps or libraries.
zenwork.bsky.social
I don't think that the cascade is inherently bad. I think that the shadow DOM now gives me a choice. And it's a useful choice.

Choice makes it more complicated. You have to learn about loading CSS in components. But coping with the cascade can also lead to a lot of complexity in bigger projects.
zenwork.bsky.social
You can call using the shadow DOM to encapsulate CSS js-centric, but I do not think this is helpful. Shadow roots are part of the DOM and CSS models. What can and can't penetrate (IE: fonts, properties, parts, etc.) is part of the CSS spec. I am just using JS to define boundaries.
zenwork.bsky.social
What you present as disadvantages are relative. I don't see global styling as an absolutely great thing. And, I think that creating web components without JS doesn't make much sense to me.
zenwork.bsky.social
Full disclosure: I 💕 all coffee!
zenwork.bsky.social
Hot holiday take: an Americano coffee is a terrible thing to do to an espresso and makes it nothing like an actually good cup of Jo!

#holiday #coffee
zenwork.bsky.social
I was wondering if this indicates that people finally get that WCs exist, so they don't need hello world examples anymore.
zenwork.bsky.social
Looking forward to this working in webstorm/intellij . This is a missing link for WC adoption
zenwork.bsky.social
I agree that you have to leave your favourite framework paradigm at the door. I don't agree that slots and shadow DOM should be ignored. Understanding them as a browser-primitive is key though. Their quirks become something that you can leverage then.
zenwork.bsky.social
I agree. Although I like my components with Lit. OOP + events is what OOP was always supposed to be.
zenwork.bsky.social
Oh. Hmm... I didn't know about these issues. I almost never do any initialisation in the constructor other than initializing default state on variables when necessary.
zenwork.bsky.social
I knew it was red. I did not know I could call super() later or that super() retired a reference.
zenwork.bsky.social
I guess you have all the answers you want at this point, and don't seem interested in any other experience. For what it's worth I think you misunderstand what Justin has been doing and proposing for over a decade.
zenwork.bsky.social
I followed v0 in 2016 or so. I started with v1 when released. I think you are ignoring the flux the whole space was in back then. The framework authors were not speaking with one voice at all. The disagreements between Angular, React, and Vue, Svelte, etc. universes was a big deal.
zenwork.bsky.social
I have agreed and disagreed with stuff all three of these people have written. To say that the vitriol has come from one side ignores a lot of the story. To assert that there's some kind of collusion by one side and imply only good will and good intentions on the other is pretty simplistic at best.
zenwork.bsky.social
That's a fair point. But you are also conflating the initial discussion raised in the article about having template support in the browser as some kind of concession by the WC community.
zenwork.bsky.social
lit-html is a template lib you can use any where. Lit is the WC lib. The markup is 100% valid html. It extends html with extra syntax. JSX does it differently. MyComponent as a tag name is non-conformant. JSX doesn't distinguish between attributes and properties. "className" instead of "class". Etc.
zenwork.bsky.social
Really. It's been that bad? And there's been no conflation and strong opinions by anyone in the big frameworks? There's been no outright criticising of web components for not being close enough to their favourite framework?
zenwork.bsky.social
For everyone else, Webawesome is successor Shoelaces which will soon be released and exist as a base Oss library complimented by a for money pro version.

webawesome.com
Web Awesome
Build better with Web Awesome, the open source library of web components from Font Awesome.
webawesome.com
zenwork.bsky.social
One and the same! I have been using it since the early days. I am also a Kickstarter participant in Webawesome.
zenwork.bsky.social
My go to reference for web components done right is Shoelace.

Custom properties are mostly a flat list of tokens a d global properties.

Well designed and documented CSS parts are used to provide access to override components at well defined points.

shoelace.style/getting-star...
Customizing
Learn how to customize Shoelace through parts and custom properties.
shoelace.style