ASP.NET Core vs Dapr
When comparing ASP.NET Core vs Dapr, the Slant community recommends ASP.NET Core for most people. In the question“What are the best microservices frameworks?” ASP.NET Core is ranked 1st while Dapr is ranked 11th. The most important reason people chose ASP.NET Core is:
Thanks to breakthroughs in ROSLYN compiler and the efforts of the .NET COre developer team, code written in C# can reach speeds just a step behind C++.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Fast and getting faster
Thanks to breakthroughs in ROSLYN compiler and the efforts of the .NET COre developer team, code written in C# can reach speeds just a step behind C++.
Pro Multi platform
Can run on Windows, Linux and Mac (also Visual Studio Code editor).
Pro JSON optimization
In .NET Core 2.1 and 3.0, new APIs are added that make it possible to write JSON APIs that require less memory, using Span<T> and UTF8 strings, and improve throughput of applications like Kestrel, ASP.NET Core web server. See also Utf8JsonReader.
Pro Tutorials and documentation quality
Both microsoft and 3rd party tutorials are mostly of high quality and encourage you to use the industry best-practices.
Pro Built-in middleware
Built-in middleware featuring: Authentication, Cookie policy, Health Check, MVC, Session etc.
Pro Hosting
Ability to host on IIS, Nginx, Apache, Docker, or self-host in your own process.
Pro Ease of Use
Pro Security
It is a very secure platform.
Pro Tooling
Both VS and VSCode are powerful free IDEs that are well integrated with ASP.net Core. VS Community also allows for commercial use for projects with less than 5 developers.
Pro Any language
One of the goals is to enable developers to use any language or framework to write distributed applications.
Pro Free and open-source
Pro Platform agnostic
One of the goals is to be platform agnostic across cloud and edge.
Cons
Con Microsoft environment
Con Some downsides
Although event-driven architecture has many benefits, there can be downsides:
- Increased complexity
- Difficulty in monitoring
- Difficulty in debugging and troubleshooting