Creating Complete Server-Side and WebAssembly Blazor Applications Using Syncfusion Controls [Webinar Show Notes] | Syncfusion Blogs
Detailed Blog page Skeleton loader
Creating Complete Server-Side and WebAssembly Blazor Applications Using Syncfusion Controls [Webinar Show Notes]

These are the show notes for our November 19, 2020, webinar, “Creating Complete Server-Side and WebAssembly Blazor Applications Using Syncfusion Controls.” The webinar was presented and hosted by Microsoft MVP Michael Washington. If you missed it, please see our YouTube page for the complete recording, or watch it here.

Overview

In this webinar, Microsoft MVP Michael Washington walked attendees through the process of creating a Syncfusion Help Desk application, both as a Blazor server-side application and a Blazor WebAssembly application. This fast-paced presentation demonstrated how using Syncfusion controls greatly speeds up application development.

What is Blazor?

Blazor is an exciting technology that allows you to create web-based applications using C# instead of JavaScript. However, you still have the ability to implement custom JavaScript when you desire.

Blazor is an alternative to other single-page application frameworks such as Angular, React, or Vue.

Blazor applications are composed of components that are constructed using C#, HTML-based Razor syntax, and CSS.

Blazor has two different runtime modes:

  • Server-side Blazor
  • Client-side Blazor, also known as Blazor WebAssembly.

Both modes run in all modern web browsers, including web browsers on mobile phones.

Server-side Blazor

Server-side Blazor renders Razor components on the server and updates the webpage using a SignalR connection.

The Blazor framework sends events from the web browser, such as button clicks and mouse movements, to the server.

The Blazor runtime computes changes to the components on the server and sends a diff-based webpage back to the web browser.

Client-side (WebAssembly) Blazor

Client-side Blazor is composed of the same code as server-side Blazor, however, it runs entirely in the web browser using a technology known as WebAssembly.

The primary difference between Blazor applications created in server-side Blazor versus client-side Blazor is that client-side Blazor applications need to make web calls to access server data, whereas server-side Blazor applications can omit this step, as all their code is executed on the server.

Questions & answers

The following is the Q&A portion of the webinar.

Does this grid work with .NET 5 virtualization?

Please reach out to Syncfusion support: https://www.syncfusion.com/support

Great presentation, but I have a couple of questions (after using the controls for a while):

  1. Do you have any solution for a lot of error messages in the console when using the Syncfusion controls (circuit closed, null reference, etc.). Recently, I even started getting a global Blazor error every time I reload the page.
  2. How should we handle version updates? Almost every version seems to be breaking the API or change how things work, so we need to do a full system retest. Even if there are no compilation errors, suddenly things stop working. I’m talking here even about minor version updates.
  3. Did you encounter any performance issues and have any solutions? For example, I’m experiencing memory leaks when using the DataGrid with a moderate number of records (10,000+). I have the impression something in the client-side UI is holding onto references. I’m using server-side Blazor. I really love the UI and UX of the controls. They look great and I agree the grid is wonderful.

Please reach out to Syncfusion support: https://www.syncfusion.com/support

WebAssembly is already a huge download and Syncfusion CSS and JS are also very huge. What are you doing to reduce the download/app start time of WebAssembly to make it more manageable?

This link may help: https://docs.microsoft.com/en-us/aspnet/core/blazor/webassembly-performance-best-practices?view=aspnetcore-5.0

What is the difference between SFGrid and EJGrid?

EJ2 is the old version. See: https://blazor.syncfusion.com/documentation/datagrid/how-to/upgrade-application-to-latest-version/

Can the grid component display and handle images, or only text and numbers?

Yes, see the Syncfusion documentation for help: https://blazor.syncfusion.com/documentation/datagrid/getting-started/

Question about the Dialog. Can you add your own CSS markup?

Yes, see the Syncfusion documentation for help: https://blazor.syncfusion.com/documentation/datagrid/getting-started/

Can I get the highlights of features that are in Winforms sfdatagrid versus the Blazor grid?

Please reach out to Syncfusion support: https://www.syncfusion.com/support

How do I keep the license dialog box from appearing when I load the project in Visual Studio? I have a license.

Please reach out to Syncfusion support: https://www.syncfusion.com/support

Is it possible to take a WebAssembly app like the help desk and turn it into a PWA?

Yes.

When publishing a Blazor .NET 5.0 app, does Azure support it?

Yes.

In a server-side Blazor app, can we use a WebAPI project for CRUD?

Yes.

Thanks guys, great presentation. Hope that’s not too generic. I’m thinking about migrating a SF-powered application from ASP.NET MVC 6 to .NET Core 5. What would you consider the most important decision criteria, to choose between Blazor server, Blazor client, or stay on MVC?

I would use Blazor server unless you need offline support.

Good demo and explanation and I see it’s close to the free ebook. Is there a follow-on video explaining more about the difference in adapters and how they work?

Please reach out to Syncfusion support: https://www.syncfusion.com/support

I use a Blazor component for editing, updating, and deleting. Can I use my component in the grid?

Yes, see the documentation here: https://blazor.syncfusion.com/documentation/datagrid/getting-started/

Recommended resources (related links)

  • GitHub project links:
  • Syncfusion Blazor documentation:

Be the first to get updates

Jacqueline Bieringer

Meet the Author

Jacqueline Bieringer