Always make your apps localizable from the start
Any major software development framework has in-build localization mechanism. This will allow any app built with it to be able to easily change the language and other culture-specific settings depending on the users’ preferences. You may think that this doesn’t apply to your app. Perhaps you never intend to release Continue Reading
Differences between .NET, .NET Core, and mono
Historically, .NET Framework was a Windows-only software development framework. In fact, many developers who don’t regularly work with it still believe that .NET and its languages, such as C#, are only available on Windows. It all changed in 2016 when .NET Core was released. The biggest selling point of .NET Continue Reading
Why you should care about functional programming
Microsoft has spent a lot of time and effort developing its main functional language, F#. Over time, it has been given many cutting-edge features and tooling, far better than anything available in any other language on the .NET platform. This has got the software development community excited and the official Visual Continue Reading
Why TDD is severely overhyped (and why you should still try it)
Test-driven development (TDD) is all the hype these days, especially if you frequent LinkedIn and various software development community forums. It’s almost like a religion these days. Many TDD evangelists will keep saying that it’s the best thing since sliced bread. They will try to convince everyone to start using Continue Reading
The easiest way to run and debug .NET AWS Lambda locally
.NET developers who are new to AWS Lambda functions often struggle to figure out how to test them locally. The documentation is somewhat sparse or it proposes excessively complicated ways of doing this. For example, there are articles and YouTube tutorials proposing to use AWS Serverless Application Model Command Line Continue Reading
The art of scientific debugging
In your software development career, you will have to spend a lot of time finding bugs in the code and figuring out why it doesn’t do the thing it’s supposed to do. This is what the process of debugging is all about. Because debugging is where the majority of developers Continue Reading
The easiest way to learn ASP.NET Core
ASP.NET Core is the main web application development framework in .NET, which is the core software development platform of the Microsoft stack. It comes with various application templates that would allow developers to build any kind of web application. For example, a simple REST API interface can be built by Continue Reading
How big data web applications are built
On the most fundamental level, a web application consists of client-side code and markup, server-side code, and a database. Many small websites and small-to-medium enterprise-level browser-based applications consist of nothing other than these components. However, on its own, this basic setup is not suitable for a big data application. Big Continue Reading
When NoSQL is a better choice than RDBMS and when it’s not
Relational Database Management Systems (RDBMS) and Structured Query Language (SQL) associated with them represent a mature technology that existed for over 30 years. However, a group of data storage technologies based on a completely different paradigm, collectively known as NoSQL, is establishing itself as a popular alternative, especially within performance-critical Continue Reading
Scaling out a SignalR hub with Azure SignalR Service
In the previous article, we had a look at how to scale a SignalR hub by using Redis backplane. But you can also scale your hubs by using Azure SignalR Service. And this is what we will have a look at in this article. Using Azure SignalR Service has some Continue Reading
How to scale out a SignalR back-end by using Redis
You can run a single monolithic instance of a server application only if the number of clients accessing your application doesn’t exceed a couple of thousand. But what if you expect hundreds of thousands, or even millions, of clients to connect to your application simultaneously? Then a single instance of Continue Reading
Securing your SignalR applications with OpenID Connect and OAuth
Securing your applications is very important, especially if they are accessible via a network that you don’t have control over, such as public internet. Without security, absolutely anyone can connect to your application, including someone who is up to no good. And this may result in a catastrophic failure that Continue Reading
Advanced SignalR configuration: fine-tuning the server-side hub and all supported client types
We have already covered all the fundamental ways of using SignalR messages. We have learned how to set up clients of all supported types, how to send messages to specific clients and how to use data streams, both client-to-server and server-to-client. Now, we will be moving on to more advanced Continue Reading
Streaming in SignalR
Until this point, we have only covered the use of singular messages in SignalR. But SignalR also supports message streaming. Streaming is when, instead of sending all data at ones, you send it in chunks. Perhaps, it’s a large object that gets split into smaller parts. Or it could be Continue Reading
Sending messages to individual SignalR clients or groups of clients
SignalR hub can broadcast a message to all connected clients. But this is far from being the only way you can use SignalR. The hub allows you to send messages to individual clients. You can also group clients together and send messages to specific groups of clients. And this is Continue Reading
In-browser SignalR clients
SignalR Hub is only useful if you have clients connected to it. And in this article, you will learn how to connect in-browser clients. We will start with in-browser clients because they are slightly easier to set up than external clients. For example, you won’t have to create external applications Continue Reading
Single Sign-on user authentication on Blazor WebAssembly SignalR client
SignalR is an inbuilt ASP.NET Core library that makes it easy to create interactive real-time applications. It enables fast two-way messaging between the client and the server. Under the hood, it uses some complex logic to enable all of this. But its external APIs hide all this complexity, so using Continue Reading
Applying SOLID principles to JavaScript – a step-by-step refactoring guide
Many design patterns were developed with SOLID principles in mind. Therefore it will be hard to learn design patterns unless you know SOLID principles. But SOLID principles aren’t merely a tool to help you learn design patterns. Every software developer who uses object-oriented programming languages needs to be familiar with Continue Reading