Web Components are highly versatile. I built a chat app with GitHub OAuth login, blockchain-based authentication and access control using only 120 lines of HTML in a single .html file with no custom code, no framework, no custom server-side code. It can run anywhere:
The backend is serverless built using Saasufy.com - The platform/startup I'm working on currently: https://saasufy.com/
An effective approach I've found is to create components which consume slotted <template> elements to produce HTML that can be fully customized and injected with data they loaded from a back end. This allows you to create components which are declaratively bound to specific back end resources.
https://github.com/Saasufy/chat-app/blob/main/index.html#L23...
You can try the app here (if you have a GitHub account): https://saasufy.github.io/chat-app/
The backend is serverless built using Saasufy.com - The platform/startup I'm working on currently: https://saasufy.com/
An effective approach I've found is to create components which consume slotted <template> elements to produce HTML that can be fully customized and injected with data they loaded from a back end. This allows you to create components which are declaratively bound to specific back end resources.