Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

where does blazor stand with web components? #16033

Closed
touseefbsb opened this issue May 12, 2018 · 7 comments
Closed

where does blazor stand with web components? #16033

touseefbsb opened this issue May 12, 2018 · 7 comments
Labels
area-blazor Includes: Blazor, Razor Components

Comments

@touseefbsb
Copy link

reference : https://www.youtube.com/watch?v=7CUO7PyD5zA

web components aim to standardize the UI for web irrespective of how we do web development I just want to know whether brazor will be in sync to that so we can take advantage of that standardized web components and widges at one place, instead of being over whelmed by a lot of ways to build ui widgets.

@SteveSandersonMS
Copy link
Member

Blazor lets you run any client-side JavaScript that you want, so you can use any WebComponent inside a Blazor app.

However Blazor components are not themselves WebComponents, just like React components aren't WebComponents, and Angular components aren't WebComponents, and Vue components aren't WebComponents. The reason for this is that each framework provides its own distinct features and benefits.

@kwaclaw
Copy link

kwaclaw commented Sep 16, 2018

Angular Elements are web components., and the reason they are part of Angular is that web components are part of the HTML standard and therefore recognized by the browser without help from any framework.

I don't see how parts of the HTML standard can be ignored by Blazor.

@Sellorio
Copy link

Sellorio commented Nov 6, 2018

I too am interested in a feature similar to Angular Elements that would allow Blazor components to be 'compiled' in some way into native Web Components which can be easily shared amongst different projects that use different technologies for UI development. My company is only just now moving towards standardising to Angular as our UI but if Blazor could be used in parallel then we could switch to that without conflicting with other teams.

@nickrandolph
Copy link

@SteveSandersonMS is there any support planned within Blazor for web components (both consuming and creating a web component in Blazor)? With the direction that React and Angular are going, Blazor will need to support the web component standard if it's to be a viable SPA alternative.

@kwaclaw
Copy link

kwaclaw commented Dec 26, 2018 via email

@veikkoeeva
Copy link

Maybe use Worker DOM as described at https://github.com/ampproject/worker-dom. Some maybe interesting techniques are described at https://www.loxodrome.io/post/easier-web-workers/. I could imagine caching Blazor WASM in worker and using something like COMLink to offload things (jointly with webcomponents) could become interesting.

@mkArtakMSFT mkArtakMSFT transferred this issue from dotnet/blazor Oct 27, 2019
@mkArtakMSFT mkArtakMSFT added the area-blazor Includes: Blazor, Razor Components label Oct 27, 2019
@veikkoeeva
Copy link

veikkoeeva commented Oct 29, 2019

I'll cross-reference #10170 and #6218 as discussion (towards the end) touches web components in popular frameworks, their publishing and also design systems built using lit-html, StencilJS etc. to be consumed as web components in thes popular libraries amongst other cases that are closely related and could perhaps be solved without components. I'll note here explicitly though it's visible in the other threads that I'd like to see a good integration with Web APIs and abstractions built on top of those.

I take the opportunity to note WebAssembly Reference Types and along with them WASM access to DOM is coming.

As for my DOM notes, I was thinking offloading operations to web workers. A couple of good examples: https://davidea.st/articles/comlink-simple-web-worker, https://dassur.ma/things/react-redux-comlink/. It appears Google is cracking down (maybe too strong an expression) on performance and bundle sizes and it appears these techniques help. As far as I understand the WASM threading system will be built on web workers and seen from .NET perspective, it's like ThreadPool.

This was closed, but also labelled, so maybe useful to connect some dots. :)

@ghost ghost locked as resolved and limited conversation to collaborators Dec 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-blazor Includes: Blazor, Razor Components
Projects
None yet
Development

No branches or pull requests

7 participants