You don't need to build to use LitElement, but you can't use decorators. You just need to add a property to say what your attributes are, register the class once it's defined, and everything should fall into place with no build step.
@PaulAllsopp You're probably better just going with the web component API, but if you're coming from React, LitElement is helpful. lit-html is used by LitElement, and can be used without it. I had a project in WASM where I used Rust and lit-html to make several web components, and I think the workflow worked well.
6:20 From what I've heard, it hashes, but only parses if it hasn't seen that string before, but if it has, it doesn't parse, and internally uses the previous parse.
You're close in that Lit only ever prepares a template once, except Lit doesn't need to hash template strings. A feature of tagged template literals is the static string reference is stable. This means we can tell by reference in a constant time check if we've seen a template before.
I think apline.js fits better with HTMX than web components, it is much more focused on declarative hypermedia, whereas web components is like react lite, where everything is in the JS and all you can do is pass in props via attributes.
I also love Webcomponents, but I liked the approche google had with polymer (templates) more, instead of the render function wich is now in lit. Cause of this I build my own small base component wich works more like polymer before. With this I build a complete WYSIWYG designer framework in webcomponents (also as a webcomponent), wich also works without any compilation (only ts -> js)
You could have used regular JavaScript and avoided Typescript. In all the LitElement examples, in the top right hand corner, you could have chosen to show them in .js format instead of .ts
I was frustratingly thinking about the same, and no one the chat told him xD. But we can also blame on dark reader’s extensions that hides the js button
even with angular you can create reusable web components without the need of a framework. I think also svelte has something similar, and surely I would choose the latter if I could
@@filipegoncalves3739 maybe you didn't understand the comment. I'll quote the angular doc "Angular elements are Angular components packaged as custom elements (also called Web Components), a web standard for defining new HTML elements in a framework-agnostic way." And That's what I meant, not that angular is not a framework...
@@sub-harmonik maybe you didn't understand the comment. I'll quote the angular doc "Angular elements are Angular components packaged as custom elements (also called Web Components), a web standard for defining new HTML elements in a framework-agnostic way." And That's what I meant, not that angular is not a framework...
@@axMf3qTI Vue is slept on to some extent in JS land but other languages like PHP and the .NET flavors have long embraced Vue for this fact - JS only try hards simply do not know and that is what makes it so cringe to watch them speak all this ignorance. Prime usually knows his stuff but oh well, at least he's funny.
I use web components for salesforce development, and I love them. Love how raw and native they are.
LWC > Visualforce
You don't need to build to use LitElement, but you can't use decorators. You just need to add a property to say what your attributes are, register the class once it's defined, and everything should fall into place with no build step.
@PaulAllsopp You're probably better just going with the web component API, but if you're coming from React, LitElement is helpful. lit-html is used by LitElement, and can be used without it. I had a project in WASM where I used Rust and lit-html to make several web components, and I think the workflow worked well.
He doesn't want TS but he never turns off the TS option in the examples to get the regular JS.
The best option is not necessarily a great option. You know what they about democracy.
Finally! I caught @theprimeagen do programming in HTML 🤣
We use Lit for our web apps at work and I'm so happy we use it and not anything else. I just feel like theyre so easy to use.
6:20 From what I've heard, it hashes, but only parses if it hasn't seen that string before, but if it has, it doesn't parse, and internally uses the previous parse.
You're close in that Lit only ever prepares a template once, except Lit doesn't need to hash template strings. A feature of tagged template literals is the static string reference is stable. This means we can tell by reference in a constant time check if we've seen a template before.
Pretty sure i was tequila drunk for this stream. I’m admitting that, specifically, in fact. Apologies and/or you’re welcome.
I think apline.js fits better with HTMX than web components, it is much more focused on declarative hypermedia, whereas web components is like react lite, where everything is in the JS and all you can do is pass in props via attributes.
I also love Webcomponents, but I liked the approche google had with polymer (templates) more, instead of the render function wich is now in lit.
Cause of this I build my own small base component wich works more like polymer before.
With this I build a complete WYSIWYG designer framework in webcomponents (also as a webcomponent), wich also works without any compilation (only ts -> js)
You can also do everything without a compilation step, if you use importmaps, and do not use decorators (they are optional)
fun fact perl was invented as a replacement & improvement for awk
Absolutely love this channel. I love you!
Tyty
The existence of build steps for client side javascript still feels morally wrong, htmx is compelling for that reason alone
I don't think I've laughed more than you just dropping chat gpt code in and it installing vue and react alongside each other
Bruh vite literally has Lit template with 5 other frameworks... just init the god damn cli aaaaargh
why does he refuse to `pnpm create vite`?
Neon is the thing to bind native Rust code to Node JS code.
Once you go the htmx way, why not also generate your JS files in your server language of choice?
You could have used regular JavaScript and avoided Typescript. In all the LitElement examples, in the top right hand corner, you could have chosen to show them in .js format instead of .ts
I was frustratingly thinking about the same, and no one the chat told him xD. But we can also blame on dark reader’s extensions that hides the js button
do you have version where you only writing code?
I'd like to see a new "JS tool" that does not sells itself as "Fast", It seems like everything in dev world sells itself as Fast xD
fast to abandon xD
Lightweight, Blazing Fast
Well this was a trainwreck
I think that you could just read the docs instead of yelling, but whatever
looks interesting
😂
even with angular you can create reusable web components without the need of a framework. I think also svelte has something similar, and surely I would choose the latter if I could
lil bro angular IS a framework
you can use web components in any framework.
angular is the most js framework that ever frame worked
@@filipegoncalves3739 maybe you didn't understand the comment. I'll quote the angular doc
"Angular elements are Angular components packaged as custom elements (also called Web Components), a web standard for defining new HTML elements in a framework-agnostic way."
And That's what I meant, not that angular is not a framework...
@@sub-harmonik maybe you didn't understand the comment. I'll quote the angular doc
"Angular elements are Angular components packaged as custom elements (also called Web Components), a web standard for defining new HTML elements in a framework-agnostic way."
And That's what I meant, not that angular is not a framework...
first
no.
@@noTmeDevjust let him have it bro 😂😂
@@noTmeDev wanna fight about it at the nearest costco by having a competition about who knows the most shitty acronyms?
@@dromedda6810 bruh XD
@@noTmeDevxD
Vue can be added anywhere like htmx in the head - it doesn’t have to be your EVERYTHING like react or svelte
This is true. I used vue with shopify in the past like that, next if I have to something similar I probably use htmx though.
@@axMf3qTI Vue is slept on to some extent in JS land but other languages like PHP and the .NET flavors have long embraced Vue for this fact - JS only try hards simply do not know and that is what makes it so cringe to watch them speak all this ignorance. Prime usually knows his stuff but oh well, at least he's funny.