Aspnetcore: Why are we still needing MVC now in the popularity of microservices?

Created on 24 Apr 2019  路  10Comments  路  Source: dotnet/aspnetcore

From the .NET framework to the current .Net Core, MVC has been around for many years. Why don't we abandon or introduce new design concepts (such as Spring Boot WebFlux) to improve our application performance? Today, microservices are popular, we are still using MVC to design and build our API.

Most helpful comment

Faster response performance,

By which measure? Spring vs ASP.NET Core MVC

image

non-blocking

ASP.NET Core is async so not blocking if you don't all blocking apis. If you call blocking IO in ASP.NET Core 3.0 it will prevent you by default https://github.com/aspnet/Announcements/issues/342

All 10 comments

what do you think is unique about webflux and springboot compared to ASP.NET Core MVC?

what do you think is unique about webflux and springboot compared to ASP.NET Core MVC?

Faster response performance, non-blocking, streaming, etc.

Faster response performance,

By which measure? Spring vs ASP.NET Core MVC

image

non-blocking

ASP.NET Core is async so not blocking if you don't all blocking apis. If you call blocking IO in ASP.NET Core 3.0 it will prevent you by default https://github.com/aspnet/Announcements/issues/342

Right as @benaadams mentioned this is all doable with ASP.NET Core itself and even mvc. Unlike most java frameworks, it鈥檚 non blocking at the core and very lean and fast.

Faster response performance, non-blocking, streaming, etc.

Easy to do and IMO more elegant in c# than in java

Maybe we need a faster, more advanced technology, because we often hear about how Microsoft is still engaged in MVC. In today's more and more front-end separation technology, why do we need MVC? Instead of creating a better one. Come out.

You may want to watch this week's ASP.NET Community Standup where they talk about the unbundling of features for MVC so they can be utilised by other approaches and areas of the technology stack: https://youtu.be/R36j2KGBBhE?t=1295 it may unlock what you are looking for...

Right, the name MVC has stigma and really is just the name that was picked years ago (mostly because of rails and the MVC pattern) that stuck. The framework itself is modern and we're pushing more concepts into the core.

Personally feel that .NET CORE is a new .NET branch or modern technology or architecture, you should not continue to use the term MVC, or the feeling is that Microsoft has been playing MVC this old technology for years. And there should be a more resounding name to tell everyone, hey, I have a new generation of next-generation WEB technology, we have good performance and a more agile development language, want to try it?

The development friends and colleagues around me are puzzled. Why do we still use the old MVC framework when the micro-service usage rate is getting higher and higher? Why do we need to use ASP.NET MVC to complete the whole application development? Why not directly Use "Vue.js, AngularJS, NodeJS" for page rendering?

Personally feel that .NET CORE is a new .NET branch or modern technology or architecture, you should not continue to use the term MVC, or the feeling is that Microsoft has been playing MVC this old technology for years.

I generally agree with you. It's a double edged sword, it's a detractor for people like you that are looking at seemingly newer technologies on other stacks when comparing it to .NET Core but it's a comfort to people porting older applications for ASP.NET MVC to ASP.NET Core MVC.

And there should be a more resounding name to tell everyone, hey, I have a new generation of next-generation WEB technology, we have good performance and a more agile development language, want to try it?

We're working on it though, it's mostly marketing and it's really hard to rename things in .NET without breaking everyone. If one were to look past the artifical naming, the framwork itself is modern and fast.

The development friends and colleagues around me are puzzled. Why do we still use the old MVC framework when the micro-service usage rate is getting higher and higher? Why do we need to use ASP.NET MVC to complete the whole application development? Why not directly Use "Vue.js, AngularJS, NodeJS" for page rendering?

I've heard the same thing from folks that don't know what the tech stack has to offer. While the naming is unfortunate, the stack itself supports multiple ways of writing applications (you can easily remove the V from MVC). Just look at the wide variety of application types we offer (and this is just a small set) with ASP.NET Core 3.0:

image

Was this page helpful?
0 / 5 - 0 ratings