Damir Arh has many years of experience with software development and maintenance; from complex enterprise software projects to modern consumer-oriented mobile applications. Although he has worked with a wide spectrum of different languages, his favorite language remains C#. In his drive towards better development processes, he is a proponent of Test-driven development, Continuous Integration, and Continuous Deployment. He shares his knowledge by speaking at local user groups and conferences, blogging, and writing articles. He is an awarded Microsoft MVP for .NET since 2012.

Damir Arh has written 52 articles, which have been read 4768405 times.
3017
Abstract: In this tutorial, I compare Azure Static Web Apps with Azure App Service and explain how to publish a Blazor WebAssembly application as a Static Web App.
14050
Abstract: This article explores C# async streams in detail: from the basics and the reasoning behind them, to real-world examples of using and creating them.
44559
Abstract: Learn about cloud applications, study it's internal architecture as well as several design patterns that are especially useful in such applications.
136527
Abstract: In this tutorial, I look at the state of the Nullable Reference Types feature in C#, one year after its initial release.
99510
Abstract: The tutorial introduces a subset of C# 9 features which can make your code shorter and simpler. It concludes with a brief look at what future versions of the language might bring.
176061
Abstract: This article covers a selection of design patterns that are used in most web applications today.
258269
Abstract: This article provides a complete overview of .NET 5: what it is, when it was released, what it includes, where to download and how you can use it.
309751
Abstract: This tutorial introduces several architectural and design patterns that can be used to implement common scenarios in .NET desktop and mobile applications.
421884
Abstract: This article is an introduction to understand application architecture for the Microsoft technology stack.
389064
Abstract: This tutorial on .NET 5 provides a complete overview of the latest version of .NET - .NET 5 Preview 8. It covers new features, performance, release schedule, it’s current status and how you can download .NET 5 and test the latest preview.
176372
Abstract: There are different cloud services available to .NET developers for publishing their applications on Microsoft Azure. This tutorial provides an overview of these services and how a .NET Developer can leverage these services to create cloud applications.
230838
Abstract: Microsoft held the 10th edition of Build, its annual developer conference. This article provides an overview of announcements at this year’s Build virtual event that are particularly relevant for developers.
128560
Abstract: What were the announcements made at Microsoft Ignite that are of interest to developers? How can developers use these announcements to steer ahead in 2020! Read on!
96442
Abstract: In this tutorial, I will describe the tools and frameworks available to .NET developers for all aspects of mobile application development i.e. front-end, back-end and operations.
87966
Abstract: The recommended pattern for asynchronous programming in the .NET framework is the task-based asynchronous programming (TAP). This tutorial gives a brief info about this pattern.
52509
Abstract: Developers do not need to implement the IEnumerable and IEnumerator interfaces to return an IEnumerable. They can avoid writing all of that code by taking advantage of support for iterators in C#. This tutorial shows how.
47419
Abstract: This article is an overview of .NET Core 3.0 covering all the new features and improvements it’s bringing to the .NET ecosystem.
63779
Abstract: Although there haven’t been as many new developments in approaches to desktop development as there were in web development, there are still several different frameworks available to .NET developers for creating desktop apps. This article provides an overview of them, compares their features and gives recommendations on what to choose depending on the application requirements.
129707
Abstract: There are many approaches available for developing a web application in .NET. In this article, I will give an overview of frameworks that you can choose for your .NET projects.
38715
Abstract: The tutorial provides an overview of .NET Core Global tools: how to use them, how to create them and what to expect of them in future versions of .NET Core.
158863
Abstract: This tutorial gives an overview of all the new features in C# 8 which can be tried out using Visual Studio 2019.
59074
Abstract: The way LINQ queries are executed depends on the kind of data source being queried. This tutorial talks about how a LINQ query is executed and how this affects performance.
17970
Abstract: The .NET ecosystem including .NET Core, .NET Standard, C# and Visual Studio 2019 introduced many changes and new features in the year 2018. This article talks about these new feature updates and highlights how it will affect the way we develop applications in the future.
17294
Abstract: A tutorial on some less commonly used arithmetic, relational, logical, equality operators in C# and how to use them.
40306
Abstract: This C# tutorial explains how Garbage Collection works in .NET Framework and .NET Core, and some best practices to follow.
28110
Abstract: The .NET framework Base Class Library contains many collection classes. This can make it difficult to decide when to use which. Grouping them together based on their properties can make the choice for a specific scenario, much easier.
21895
Abstract: Since its original release in 2002, C# has been regularly updated with new features. Today, we will look at the most important new features of each major language version and explore how the C# code we have been writing, has evolved through years.
54965
Abstract: This tutorial explores how to develop .NET Core applications in Visual Studio Code (VS Code). We will explore some extensions that enhance Visual Studio Code and improves your .NET Core development experience.
75046
Abstract: Dynamic binding in C# opens some possibilities which would not be available in a strictly strong typed language. This tutorial explores how C# supports dynamic binding.
89901
Abstract: In this C# 8 tutorial, I am going to introduce a selection of currently planned features which will most probably end up in the final release. All of the C# 8 features are still early in development and are likely to change.
76927
Abstract: C# 7 has added a number of new features to the language. This tutorial looks at the new features added to the minor versions of C# i.e. C# 7.1, 7.2 and and 7.3.
45200
Abstract: A peek into the major differences between the .NET framework versions and how we can still target older versions of .NET framework even when using the latest development tools.
36084
Abstract: Even developers with good C# skills write code that might behave unexpectedly sometimes. This article features several C# code snippets which fall into that category, and explains the reasons behind the surprising behavior.
68504
Abstract: Visual Studio 2017 15.3 update was a big milestone for C#. It was the release vehicle for C# 7.1 – the first minor version of C# 7. This article will take a closer look at its new features and the plans for future versions (C# 8) of the language.
29808
Abstract: Live Unit Testing functionality in Visual Studio 2017 brought more attention to the practice of continuous testing. This article will explain what continuous testing is all about, why you should care and how you can practice it as a .NET developer.
46598
Abstract: Microsoft has been recently announcing a slew of new development tools and frameworks for .NET Developers. This post gives a brief overview of what was announced and what is currently available.
68406
Abstract: As a C# developer, you might already be writing some functional code without realizing it. This article describes some of the functional approaches you are already using in C#, as well as some improvements in C# 7 that make functional programming in it, easier.
28581
Abstract: .NET Standard 2.0 and XAML Standard were announced at Build 2017, which could have a big effect on the future of cross-platform development in .NET. In this article we’ll take a detailed look at what they are and why they might be important.
143551
Abstract: C# 7 is the next version of C#. This article provides an overview of the new features in C# 7.0.
109408
Abstract: Effective error and exception handling in any kind of an application plays an important role in providing a pleasant experience to the user, when unexpected failures occur. This article talks about some effective error handling strategies that you can use in your projects.
120005
Abstract: Learn approaches to concurrent programming in .NET Core, as well as potential issues to be aware of.
65691
Abstract: Singleton is one of the basic software design patterns, but if not implemented correctly can introduce complications in your application. This article discusses common use cases where you should avoid the Singleton pattern.
48869
Abstract: This Visual Studio Code (VS Code) article will help you get started, and make you more productive at this increasingly popular text editor.
21771
Abstract: Microsoft recently announced a slew of new development tools and frameworks for developers at Connect(); // 2016. This post gives a brief overview of what was announced.
29279
Abstract: What is .NET Standard and why should developers care about it. Also get a sneak peek into the upcoming .NET Standard 2.0.
171238
Abstract: The async and await keywords in C# makes asynchronous programming simpler, however one can still use them incorrectly. This article highlights some common mistakes, and gives advice on how to avoid these mistakes.
19127
Abstract: Project Centennial converts Windows desktop applications to Universal Windows platform (UWP) so as to include them in Windows Store and give them full application identity.
39519
Abstract: Roslyn now known as .NET Compiler Platform is the next generation of C# compiler and more. This article gives a general overview and guidance about Roslyn.
40351
Abstract: Project template creation for Visual Studio can be another tool in your tool belt. This guide will get you started.
45081
Abstract: C# 6.0 brings many small improvements to the language. However, does it make sense to upgrade your existing C# code base to take advantage of the new C# 6.0 features? Let us find out.
22408
Abstract: Diagnostic analyzers are a great new extensibility feature in Visual Studio 2015 for performing static code analysis. This article will walk you through the process of creating a simple diagnostic analyzer on your own.
23576
Abstract: Diagnostic analyzers in Visual Studio 2015 will strongly affect the way we will be writing code in future.This article will help you learn everything you need to know about diagnostic analyzers.