Nowadays, UI Frameworks became very important and we, developers specialize on specific UI frameworks. Many development team prefers a UI framework where they feel comfortable. This decision is being taken by the UI Framework’s community scale, technical support and bug fixes & enhancement frequency.
As some of you know, we are developing the open-source ABP Framework and we have several application startup templates. These templates are full-stack solutions that you can kick start your LOB (lines of business) application in a very short time. Here, we are providing 4 different UI Framework options:
- MVC + jQuery
- Angular
- Blazor-Server
- Blazor Web Assembly
The below chart shows the popularity of the UI Frameworks used by ABP Community. The chart is created by the project generation counts of ABP Commercial and ABP open-source app templates. I filtered down to the last two production level versions 5.x.x
and 6.x.x
to catch the trend.
In this chart we see that ASP.NET MVC UI wins by overwhelming
Source: Open-source and commercial projects generated via ABP CLI, ABP Suite and abp.io website.
And you can see the project download generation counts of 5.x.x
and 6.x.x
.
2022 ABP project generation counts (v5x and v6x)
Why MVC is the number one UI Framework option?
There are 2 main reasons behind this question. An important reason may be the MVC UI is the default option while generating an ABP project. If you don’t pass a specific UI type, then it downloads the MVC UI.
The other reason is the developers in our community. As you know ABP Framework is built on top ASP.NET Core and our community is from Microsoft stack. Therefore they are very comfortable when using the MVC UI. Angular UI needs a proficiency in Typescript and Angular UI Framework.
What about Blazor WASM and Blazor-Server trends?
Since Microsoft has announced Blazor UI, it became very popular in Microsoft stacked developers. Because they don’t need to learn a new UI Framework to make their applications’ front-facing side. All they need to know is C#. I see that the Blazor is a good choice among other UI options because we, .NET developers, would like to write code which we are comfortable. And Blazor is being written in our mother tongue C#.
For me, Blazor UI has a long way to go but it’s the future!
What is the trend in other UI Frameworks?
Let’s see other UI Frameworks! Stackoverflow.com has a good page that shows the trends based on the question tags. I filtered some of the popular UI frameworks, as you can see;
ReactJs is getting more and more popular among other UI Frameworks!
You can check out Stackoverflow Trends from the following address https://insights.stackoverflow.com/trends?tags=reactjs%2Cvue.js%2Cangular%2Casp.net-core-mvc%2Cblazor-server-side%2Cblazor-webassembly
Source: Stackoverflow.com questions
Why should we start our next ASP.NET Core application with an ABP template?
If you haven’t heard about ABP Framework, well it’s an open-source web application framework with almost 9K stars on GitHub, check out the repository at github.com/abpframework/abp
It provides best practices to develop a web application with the trendy libraries integrated. It’s well-documented and has a wide community. Besides, releasing enhancements and bug fixes with a 2 months release cycle.
I know there are many hero developers in every software companies who build a common library, internal framework or a base project. These developers add some new functionality to the base code and you often don’t know the new features because it’s not still documented. And they become bottleneck in the development process, because you often wait them to finish the waiting features in the base code.
On the other hand, these guys are being knowledge silos in the company and becoming a risk point for the active projects. What happens when they quit the job? The project fails!
Besides, developers change jobs frequently and when a new member joins the team, he/she brings a new code style which doesn’t fit to the project structure. Junior developers breaks some crucial software principles and sooner make the project legacy.
What about the the boss pressure? They always want to see some working page in the early stages of the development. But you deal with some unrelated stuff with your business like authentication, settings, roles, permissions, localization, theming, exception handling, auditing and many more...It takes a lot of time to build these functions and you will always be behind the schedule because these features generally not mentioned in the meetings.
There are several other reasons to start your project with the ABP.io.
Check out docs.abp.io/en/commercial/latest/why-abp-io-platform.
You can develop your business logic in the same days!
Yeap! That’s possible. ABP free application templates and commercial templates focus only on modular, micro-service oriented and best practices applied infrastructure where you don’t hassle with the generic functions of a web application. If you are a .NET developer, I strongly advise you to start your new web application on top of the ABP.io platform.