Introduction Recently, I’ve had the need to support an offline scenario in a Blazor WASM PWA application. To manage an offline state, I needed to find a way to store complex data on the client – data that typically resides in a relational database on the server. Initially, I explored whether LocalStorage could be utilised,… Continue reading Offline Data in Blazor with WASM, SQLite & IndexedDB
Category: Blazor
Implementing Localisation in an ASP.NET Core Blazor Web Assembly (WASM) Application
Introduction Microsoft has a fair amount of documentation on Localisation, but the content is mixed up with the various type of Blazor deployment models, and is missing some steps. It also tends to jump around. I’m going to cover implementing localisation in a way that will allow the language to be set based on the… Continue reading Implementing Localisation in an ASP.NET Core Blazor Web Assembly (WASM) Application
Creating a drop-down menu component with nested options in Blazor
Introduction Blazor is a Microsoft framework that lets you build interactive web UIs using C# instead of JavaScript. This means you can leverage your existing C# knowledge for web development. Using components in Blazor offers several advantages: A component I’ve needed recently was a drop-down menu with nested options. It turned out to be more… Continue reading Creating a drop-down menu component with nested options in Blazor
Advanced Validation with Blazor EditForm
Happy New Year 🎉 Blazor has a built-in form-handling framework based on the EditForm component. This framework supports validation for user-entered data before allowing the form to be submitted. I won’t go into the details of using EditForm, as Microsoft’s documentation already does an excellent job covering that. One of this framework’s most widely used… Continue reading Advanced Validation with Blazor EditForm
Blazor QuickGrid with WebAssembly and API backend – complete example, Part 3
This post will cover implementing the paging, filtering and sorting server-side. By implementing these server-side features, we will reduce the data fetched from the database, transmitted with the API request and stored in memory, improving the application’s performance. To follow along, check out the code and switch to the Implemented-Sorting branch, where we stopped in… Continue reading Blazor QuickGrid with WebAssembly and API backend – complete example, Part 3
Blazor QuickGrid with WebAssembly and API backend – complete example, Part 2
In the previous post, I covered the basics of implementing QuickGrid and also implemented paging. In this post, I will cover virtualisation, filtering, and sorting. To follow along, you can check out the code and switch to the Implemented-Paging branch, where we stopped in the last post. Implement virtualization Virtualization lets you scroll smoothly through… Continue reading Blazor QuickGrid with WebAssembly and API backend – complete example, Part 2
Blazor QuickGrid with WebAssembly and API backend – complete example, Part 1
Introduction Microsoft has created the QuickGrid component, which is in prerelease, experimental status for .NET 7 and will be released in production status for .NET 8. It can be used to display data in a table format quickly and efficiently. QuickGrid is designed for common data grid scenarios and shows how to build data grid… Continue reading Blazor QuickGrid with WebAssembly and API backend – complete example, Part 1
Playwright for integration (end-to-end) testing of a Blazor WASM and ASP.NET API application
Introduction This post is a follow up to my previous post on How to use Playwright with multiple browsers in headless or headless mode. It covers how to use Playwright to test a solution containing two separate projects – a Blazor WASM project, and an ASP.NET Web API project. I will demonstrate how to create a… Continue reading Playwright for integration (end-to-end) testing of a Blazor WASM and ASP.NET API application
How to use Playwright with multiple browsers in headless or headless mode
Playwright is a testing tool developed by Microsoft that provides reliable end-to-end cross-browsing testing for modern web applications. At the time of writing, it can be used to automate Chromium, Firefox, and WebKit. It is a similar tool to Selenium, but aims to be more reliable, resulting in less flaky tests. Playwright is also less… Continue reading How to use Playwright with multiple browsers in headless or headless mode
Implementing Azure Notification Hubs – Part 2 (Shared and App Projects)
The complete solution for this can be found on my GitHub account. We will start work in the shared project as the classes we create here will be required by both the API and the Xamarin application projects. DTOs In the root directory of the project, create a folder called Dtos which will contain DTO classes that will be… Continue reading Implementing Azure Notification Hubs – Part 2 (Shared and App Projects)