Below is a brief outline of how this app is made and what technologies are used. If you'd like to dive straight in then full project is available on my GitHub.
+Below is a brief outline of how this app is made and what technologies are used. If you'd like to dive straight in then full project is available on my GitHub.
Front-end
- I wanted to create a decent, modern client-side experience for this app and given my (very...) limited front-end expertise I decided to choose .NET Blazor Webassembly. Blazor is Microsoft's take on component-based SPAs (single page applications) and offers us back-end focussed devs a way of producing decent client experiences without needing to dive into another front-end specific technology.
+ I wanted to create a decent, modern client-side experience for this app and given my (very...) limited front-end expertise I decided to choose .NET Blazor Webassembly. Blazor is Microsoft's take on component-based SPAs (single page applications) and offers us back-end focussed devs a way of producing decent client experiences without needing to dive into another front-end specific technology.
- Blazor traditionally came in two flavours, server and webassembly with an additional third option (Blazor Web App) recently released with .NET 8 which is an amalgamation of both. Blazor Server initially generates content on the server and utilises web-sockets to communicate dynamic UI updates with the client without requiring a page load, whereas Blazor Webassembly downloads the entire app to the client browser on first load alongside a light-weight .NET run-time to execute code directly on the browsers UI thread.
+ Blazor traditionally came in two flavours, server and webassembly with an additional third option (Blazor Web App) recently released with .NET 8 which is an amalgamation of both. Blazor Server initially generates content on the server and utilises web-sockets to communicate dynamic UI updates with the client without requiring a page load, whereas Blazor Webassembly downloads the entire app to the client browser on first load alongside a light-weight .NET run-time to execute code directly on the browsers UI thread.
- As Blazor server requires a dedicated server to host the application, I chose Blazor webassembly to enable me to host this app for free using an Azure Static Web App. You can read more about this in the ScrollToElementAsync(HostingSection)" class="underline underline-offset-2 cursor-pointer">hosting section.
+ As Blazor server requires a dedicated server to host the application, I chose Blazor webassembly to enable me to host this app for free using an Azure Static Web App. You can read more about this in the ScrollToElementAsync(HostingSection)" class="underline underline-offset-2 cursor-pointer">hosting section.