Blazor and React Comparison

I found this interesting article from an Infragistics developer comparing features and performance between Blazor web apps and React apps. His analysis seems pretty accurate, with Blazor making great strides over the last couple of years. And now it's mainly a choice of developer knowledge and productivity. As a .NET developer, Blazor gives you a … Continue reading Blazor and React Comparison

CSS Isolation in Blazor Components

This article has great examples of using the CSS Isolation feature in on Blazor components. Being able to package up CSS closer to the actual component definitely makes it easier to layout your component the way you want without a huge css file in your project. It also helps with reuse because the CSS for … Continue reading CSS Isolation in Blazor Components

How-To: Verify Blazor Navigation in bUnit

Blazor components and pages can have normal HTML hyperlinks and navigation driven in code. Both forms allow users to move between pages. Blazor has the NavigationManager which allows our code to perform URL navigations. And, bUnit provides a mock NavigationManager to allow test code to request a navigation without actually performing it. Under our test … Continue reading How-To: Verify Blazor Navigation in bUnit

How-To: Use Class File for Blazor Logic Code

As our logic continues to grow and our testing requirements increase, we will find that it is more efficient to separate our application logic from the rendering logic on pages. This split helps us separate these concerns and build cleaner pages. Also, having the logic within a separate C# class allows us to unit test … Continue reading How-To: Use Class File for Blazor Logic Code

How-To: Use Blazor Code-Behind File

In Blazor, sometimes our page code becomes large and cumbersome. Rather than keep all of the HTML markup and C# code in the same .razor file, we can split our markup and code into separate files. Blazor supports creating code-behind files for the .razor file (similar to other .NET technologies like WinForms, ASP.NET, WPF, etc). … Continue reading How-To: Use Blazor Code-Behind File

How-To: Write bUnit Tests for Pages with Parameters

Page routing parameters allow developers to pass data to pages in their URL. bUnit allows us to pass routing parameters to pages, so that we can validate their behavior with test data. These parameters are set as part of the TestContext rendering process. This works exactly the same way as testing component parameters. First, we must have … Continue reading How-To: Write bUnit Tests for Pages with Parameters

How-To: Write bUnit Tests for Components with EventCallbacks

Component callbacks allow developers to build Blazor components that fire events to their parent components/pages to notify them of state changes. The parent components can then respond to those changes as well. bUnit supports EventCallbacks as parameters on those components, so that we can validate their behavior. First, we must have a Blazor project and … Continue reading How-To: Write bUnit Tests for Components with EventCallbacks