Developers love .NET Core / .NET 5 more than any other framework, as found by the latest Stack Overflow Developer Survey.
So why do 72.67% of developers love .NET Core so much?
Let’s take a look and answer the following questions:
.NET is a tool built by Microsoft for cross-platform software development.
It was originally released in 2002 as .NET framework together with Visual Studio. At that time, it could only run on Windows and develop Windows applications.
In response to requests for .NET capability on Linux and server applications, Microsoft developed .NET Core, which was released in 2016.
Now .NET is an incredibly popular platform with a large open source community, large resources libraries, and support for many programming languages. The .NET Foundation alone counts more than 100,000 individual contributors, and the amount of developers using this framework is even larger than that.
The .NET family currently includes three different products:
All of three of those products share the same .NET standard library, allowing developers to switch over easily if needed.
Since .NET was built off C#, the framework also includes a larger set of coding conventions. Overall the .NET ecosystem is quite large with a compiler SDK which supports many major programming languages and tools, a large collection of libraries to expand the capabilities of individual products, and an extremely active open source community.
.NET also integrates with some other key Microsoft tools:
Since .NET is so versatile, this suite of products can be used for both front-end and back-end software development.
People who work on both sides are referred to as full stack developers since they work with the entire tech stack for their applications. Given that full stack development encompasses a large variety of tools and techniques, full stack developers are not usually specialists in one area or another.
Instead, full stack .NET developers work as project or product managers, overseeing the development of applications as a whole. They help keep the team on track and consolidate the information from specialists within their team to improve the application and guide the development process.
Typically, full stack developers are also experts in larger business capabilities rather than only software concepts. They have to have some expertise in marketing, customer support, quality assurance, operations management, and financial analysis.
.NET is particularly well suited to full stack software development thanks to its wide variety of integrations and builds.
First, this framework is often used for developing web applications, including API products and cloud services.
Second, .NET also works well for building mobile applications for popular platforms like iOS and Android. This way, apps can function natively on mobile devices as well as desktop via their web capability.
While we’ve briefly touched on some benefits of .NET, here is a more comprehensive overview.
Some key benefits to using .NET for full stack app development as according to Microsoft themselves are as follows:
.NET is geared to speeding up the software development process.
Microsoft regularly updates their suite of .NET products to improve developer productivity, removing common bugs and adding new tools.
Some of those key features include:
.NET framework supports a large amount of resources for many developer needs across use cases.
Thanks to its popularity, .NET supports many class libraries, APIs, programming languages all within Visual Studio IDE.
It also works on nearly every platform including iOS, Android, Windows, Mac, Linux, and more.
.NET is extremely fast and efficient for web development.
Microsoft offers multiple performance tools to improve app analysis and update software architecture:
Since .NET is managed by Microsoft, it also has very extensive and timely support for developers.
Working in .NET provides access to Microsoft’s dedicated customer support team as well as regular patches, updates, and bug fixes. In fact, .NET’s current versions can be patched through Microsoft Update automatically to improve efficiency for any organizations using them.
Since .NET is open source, one of the main benefits to this framework is the large and active developer community behind it.
More than 3,700 companies are actively involved .NET Foundation and the project’s GitHub currently counts 59,275 resources.
However, like any tool, the .NET framework also has some major shortcomings.
While the versatility of .NET enables the creation of a wide variety of projects, it can also be overwhelming.
New developers can struggle to work with .NET and all of its versions and integrations. They also have to choose whether to use .NET Core, .NET Framework, or Xamarin.
Any active community is bound to have conflicts so it’s no surprise that .NET’s is no exception.
There can often be disagreements and tension, especially between the developers and Microsoft’s corporate employees. For example, just earlier this year there were issues as a board member of the .NET Foundation stepped down and all community GitHub projects got moved to an enterprise account without any external input.
Recent updates have tried to address the fact that many error messages in .NET have been opaque and unclear.
When developers get these sorts of error messages, they can waste a lot of time debugging while trying to isolate the error and debug their code.
An average developer spends more than 40% of their entire working hourson debugging bad code.
The same issue faces any full stack developers working with .NET even despite the extensive support and documentation.
When stuck with an unclear error message, a developer can waste a lot of time and effort on going down false avenues. No amount of updates or patches from Microsoft will fully remove that problem.
Cross-platform applications built in .NET can get even more complex with the wide variety of integrations and libraries that could be involved.
As such, a much more robust approach to debugging is required. By grouping errors together into related buckets and showing the full journey of a bug across multiple environments, developers can hope to resolve the issue much faster.
If you are a full stack .NET developer and would like to cut down on debugging time, you can learn more about Railtown AI’s solutions here.
Railtown is happy to announce that root cause discovery is now available for teams that run on NodeJS.
While .NET is one of the most loved frameworks according to Stack Overflow Developer Survey for 2021, that popularity can bring issues for .NET error logging. There are “hundreds of thousands” of .NET packages available on NuGet, so developers can end up with an overwhelming tech stack to simply analyze .NET performance and monitor errors. How can you efficiently debug your code even as it scales up with all the third-party libraries you might use and their associated configurations? One simple but commonly overlooked answer: logging.