Author: Jonathan Crozier

InWeb
Data binding is a core feature of practically all front-end SPA (Single-page application) frameworks, including Blazor. Blazor provides lots of useful data-binding features that are enabled by using specific Razor syntax within components. In this article, I will cover the fundamental concepts of data binding with Blazor. After reading the article, you will understand the…
InWeb
Components are the fundamental building blocks used to develop interactive web applications with Blazor. At their most basic level, they are reusable UI (User Interface) segments that can be composed together to create complex layouts, usually containing code that enables dynamic behaviour. Blazor components (also known as Razor components) are one of the first things…
InWeb
Blazor is an exciting new technology that allows software developers to use .NET and C# to build robust web applications with rich user interfaces, whilst utilising the power of WebAssembly (or SignalR). Up until relatively recently, SPA (Single Page Application) web apps were usually built using JavaScript (or TypeScript) frameworks such as Angular, React, or…
InTools
As software development becomes increasingly complex, developers are constantly looking for ways to streamline their workflows and improve productivity. One exciting new development in this field is the use of artificial intelligence (AI) tools like ChatGPT. By leveraging the power of AI, developers can achieve faster, more efficient coding, testing, and deployment processes, ultimately resulting…
InSecurity
Many options are available when it comes to encrypting sensitive data via a .NET application. However, while the System.Security.Cryptography namespace provides a plethora of different encryption algorithms, many of these are obsolete and should be avoided if possible. It is therefore important to keep abreast of the latest recommendations, especially when it comes to security-critical…
InProgramming
When types from another assembly cannot be referenced statically at compile-time in a .NET application, subscribing to events defined in that assembly and subsequently accessing event arguments that are passed to event handlers can seem a little tricky. Thankfully, with the combination of the Reflection API and the dynamic operator, it is possible to subscribe…