| I am more a fan of the augmented style because it doesn't entrap you in dev lock-in to platforms. The problem with frameworks, especially web frameworks, is they reimplement many items that are standard now (shadowdom, components, storage, templating, base libraries, class/async, network/realtime etc). DOM rendering speeds have been improved due to virtualdom but is no longer needed with shadowdom. The web standards of today are amazing and take away the need for frameworks today: from templating to html templates [1], vanilla javascript with classes [2] and async [3] and better api access like fetch [4] and browser support for vdom with shadow dom [5], components with WebComponents [6][7], css now with lots of additions like variables [8] transitions[9]/animations[10], flex and media queries, canvas/svg/etc for interactivity, and so much more. There is little need to use frameworks except to sell books and conferences and keep developers locked in. React for instance jumped ahead and front ran WebComponents and ShadowDOM, those are both part of the browser and standards now. The killer feature phase of React is over. If you like the component style of other frameworks but want to use Web Components, Google Lit is quite nice. [11] Google Lit is like a combination of HTML Web Components and React/Vue style components. The great part is it is build on Web Components underneath. [1] https://caniuse.com/template [2] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... [3] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... [4] https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/U... [5] https://caniuse.com/shadowdomv1 [6] https://caniuse.com/custom-elementsv1 [7] https://developer.mozilla.org/en-US/docs/Web/Web_Components [8] https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_c... [9] https://developer.mozilla.org/en-US/docs/Web/CSS/transition [10] https://developer.mozilla.org/en-US/docs/Web/CSS/animation [11] https://lit.dev/ |
https://vuejs.org/guide/extras/web-components.html