Blazor is Microsoft’s very new and exciting technology. This session was led by two Sitecore MVPs and showed a proof of concept for creating a JSS framework for Blazor. Since Blazor is not yet supported by Sitecore, the project is community-driven. Here are my key takeaways from their presentation:
- What is Blazor?
- A new web development framework from Microsoft
- Interactive web UI built on C# and .NET Core
- Competes with Angular and React
- Uses SignalR or WebAssembly
- Open source
- Removes the barriers of Webpack, Npm, and Babel
- Blazor Hosting Methods:
- Blazor Server
- Blazor WebAssembly
- Blazor Server:
- How it works
- Persistent connection from the client to the server
- Events are sent to the server using SignalR
- Blazor server runs on .NET Core and sends html to the client
- Advantages
- Server side debugging
- Small download size
- Faster load time
- Thin client support
- Disadvantages
- Noticeable latency
- No offline support
- .NET Core required
- Means it’s not easily compatible with Sitecore
- How it works
- Blazor WebAssembly
- How it works
- Gives languages a true way to run in the browser
- Code is NOT compiled to javascript
- Advantages
- Language familiarity
- Offline support
- Runs client side
- Host anywhere
- Can work with Sitecore since rendering host is separate from Sitecore
- Disadvantages
- Still under construction
- Full release expected 5/2020
- Limited to existing browser capabilities
- Horrible debugging
- Huge download size
- 9.5MB base for webassembly dlls
- Size increases as you add your own code and other external libraries
- How it works
- JSS Blazor
- Not officially supported by JSS for Sitecore
- Community driven
- Visit jssblazor.cool to find the github repo and start contributing or testing
- Officially launched at Sitecore Symposium 2019
- Not ready for production use
- Proof of concept stage today
- Still a little slow compared to other JSS frameworks
- Built on webassembly
- Full 1-1 mapping of base style guide from JSS/Angular and JSS/React
Sitecore Symposium has many interesting sessions. I have been documenting the ones I have been attending and adding them to my session review. Follow me to get updates!