“There are a couple of things because it’s happening.
The first one - .NET ecosystem usually contains all necessary stuff out of the box. Whatever you work with ASP .NET, Blazor, or other .NET technology, developers have similar experience from project to project. Every .NET framework contains routing, dependency injection implementation, way to configure a project, defined folder and file structure, etc. The same is for Angular. It’s complete framework which includes everything you need to work on a project. In those conditions developers are able seamlessly switch between different projects and even switch from a .NET backend project to a frontend project written in Angular.
The situation with React is absolutely opposite. React is just a UI library. Everything you need extra must be installed and configured separately. Every task might be solved by a number of similar external packages, every project has their own folder and file structure. That’s why switching between React project might be challenging.
If we join all the above Angular is a great framework for .NET developers to reuse their experience and even enrich it. React experience is not relevant for them.
The second reason - .NET ecosystem uses C# as a programming language. C# is an object-oriented, statically typed language. At the same time Angular written in TypeScript rather than JavaScript. TypeScript is a superset of JavaScript which adds static typing and object-oriented features to it. That does TypeScript more like C# then JavaScript is.
React design and ideology are all about functional programming. Object-oriented programming and functional programming are two different paradigms. React is also written in pure JavaScript rather than TypeScript. Yes, it’s still possible to use React with TypeScript, but it’s not always a case. Other words, Angular ecosystem is understandable and clear environment for .NET developers where they can use well-known objected-oriented practices and design patterns, write code in statically typed language and apply experience they got during whole life.
Buy the way, the author of TypeScript it the same person (Anders Hejlsberg) who created C#. And the main reason he did that is to help C# developers adapt in JavaScript world. And TypeScript is closer to not only C# developers, but any developers who works with typed, object languages like Java.
.NET developers are not usually familiar with functional programming world. They are not able to use their previous experience from C#. React contains not only common functional practices but also have a lot of their own ideas, concepts which you won’t meet in external world, such as React Hooks. That makes experience .NET developers get while working with React not universal and not reusable in other technologies.”
- Ali Ragimov, Senior Frontend Developer atSphere Partners