The idea here is to enable developers to create “components” : custom-element that can react directly to data changes.
Alpine.js does that already more or less
Start Here - Alpine.js
Create a blank HTML file somewhere on your computer with a name like: i-love-alpine.html Using a text editor, fill the file with these contents: Open your file in a web browser, if you see I ❤️ Alpine, you're ready to rumble!
https://alpinejs.dev/start-here
Here are the differences with our components
→ observables instead of VueJS reactiveData and effect under the hood
→ custom elements so no DOM parsing and flaky node structures
→ only references to observables and not evaluated javascript in the HTML
→ no magics, plugin-s and stuff like that… just pure functions.