top of page

Implementation

Overview

We are including information about the implementation of the application for those who might be interested in contributing.

We implemented the eClinical MDR App as a Microsoft Blazor Server App that runs server-side inside Asp.Net.Core that handles user interactions over a Signal-R connection.

What is a Blazor Server App?

According to Microsoft:

The Blazor Server hosting model offers several benefits:

  • The download size is significantly smaller than a Blazor WebAssembly app, and the app loads much faster.

  • The app takes full advantage of server capabilities, including the use of .NET Core APIs.

  • .NET Core on the server is used to run the app, so existing .NET tooling, such as debugging, works as expected.

  • Thin clients are supported. For example, Blazor Server apps work with browsers that don't support WebAssembly and on resource-constrained devices.

  • .The app's .NET/C# code base, including the app's component code, isn't served to clients

 

The Blazor Server hosting model has the following limitations:

  • Higher latency usually exists. Every user interaction involves a network hop.

  • There's no offline support. If the client connection fails, the app stops working.

  • Scaling apps with many users requires server resources to handle multiple client connections and client state.

  • An ASP.NET Core server is required to serve the app. Serverless deployment scenarios aren't possible, such as serving the app from a Content Delivery Network (CDN).

Why We Choose The Blazor Server Hosting Model

We selected the Blazor Server App hosting model for the following reasons:

  • A fast app is vital to user satisfaction.

  • It takes full advantage of server capabilities

  • Tooling works as expected

  • Code is not served to clients

  • It's a more mature hosting model than Blazor WASM Apps

bottom of page