Every now and then we get projects where we think the .NET framework will fit best, for various reasons. In response, we hear many biased opinions about it. For instance, people assume that if .NET is done by Microsoft, then it's going to be expensive or proprietary.
It indeed was true but only until June 2016, when Microsoft release .NET Core 1.0, a cross-platform successor of .NET framework which was free and open-source.
On November 10, 2020, Microsoft released .NET 5, a new and much more advanced version of .NET Core allowing developing cross-platform applications of any complexity and bringing even more opportunities for businesses.
So in this post, we'd like to give our understanding of .NET and its pros and cons, and then address some of the questions you might have regarding it.
The History of .NET
First, let's make it clear with the terminology. .NET Framework, .NET Core, ASP.NET – what's the difference? To figure it out, let us, a software and web development services company, tell the story behind .NET.
Before 2002, as a Windows app developer, you'd need to go with C/C++ to write an app, and its code would require managing lots of low-level things such as memory and security.
Microsoft's .NET framework introduced the idea of managed code, i.e. code that executes under a runtime environment where those low-level troubles were already addressed. And for writing that managed code, the C# programming language was presented.
The framework helped develop Windows-based apps in the first place, but it also included ASP.NET, a sub-framework for web app development.
In 2016 Microsoft acquired Xamarin, a cross-platform mobile development technology, and made it open source. Actually, our developers liked it so much our company has become a Xamarin-certified partner. You can find us in this list on Microsoft's site.
Also in 2016, Microsoft released .NET Core, an open-source and cross-platform successor of the .NET framework.
Finally, in November 2020 Microsoft released .NET 5, what the EGO app development company names the best and the most advanced framework for enterprise solutions. Thus, the .NET Core naming was dropped after the version .NET Core 3.1.
As a platform, .NET allows developers to use a single environment to build apps for Windows, macOS, Linux, iOS, Android, tvOS, and watchOS. That's because it unites tools necessary for that: ASP.NET for web development, Azure for Cloud solutions, Xamarin for iOS/Android apps, Unity for games, and so on.
What's So Special About .NET Development?
Here's a list of pros compared to other technologies:
- Visual Studio IDE is an all-in-one place for developing all your .NET applications inside your project, even if their code is written in different languages. So it's very handy for developers and development teams.
- Most developers write code for .NET apps in C#, a multi-paradigm programming language. It exists for over 18 years now — in 2020 we use C# 9.0 — and during this period many modern standards have been added to it. Having them already implemented saves a lot of development time.
- .NET is maintained by Microsoft, and they have enough resources to develop and maintain this technology, and thus continue conquering the market.
- At the same time, .NET Core is completely open-source and open. That allows its huge community to contribute to its development. And the cross-platform design of .NET offers the same experience whether you're coding in C#, Visual Basic, or F#, and your code will perform in the same way on Linux, macOS, and Windows.
Speaking of community support, we should also mention the .NET Foundation – a non-profit organization helping support the .NET Platform. As a part of it, they have the Technical Steering Group uniting representatives from companies like Google, Samsung, Red Hat, and others to coordinate further platform development.
So it's not just Microsoft making its technology so multi-purposeful and cross-platform on its own; the biggest industry players are also involved in helping app creators for hire create digital products of the highest quality using the .NET platform.
How Effective and Popular Is .NET?
If you take a look at the Stack Overflow 2020 survey, you'll see that ASP.NET Core (an open-source version of ASP.NET) and .NET Core are the most loved web frameworks.
A similar picture should be for the top desktop, mobile, and web application development company lists since this is where most of these developers work.
However, you may say: "The fact the developers love it doesn't mean it's best for the business".
So let's take a look at the most notable companies utilizing .NET for their success.
First of all, it's of course Stack Overflow itself, the number place to go for any developing software engineer seeking advice or information on their issue. They have over 10 million registered users, and .NET drives all their applications seemingly. If you'd like to know more, check out the video below.
However, .NET is also used by global organizations, such as UPS. This package delivery and supply chain management giant has a few development teams, and all of them utilize .NET framework and Microsoft Visual Studio to deliver innovations. Not only that allows all of them to write their code in C# and share it across teams; it is also easier for such teams to grow faster since it's easier to find developers with such a skillset.
Since EGO Creative Innovations is an industry-specialized web application development company with a focus on healthcare, we'd like to supplement this list of organizations with Siemens Healthineers, a worldwide technology company aimed at digitalizing healthcare. In addition to many other technologies, they use .NET Core to let their customers run the software on a wide variety of devices. For Siemens Healthineers it's also beneficial because they can run some of the workloads on Linux machines instead of the costly cloud servers.
Other companies leveraging .NET that you may have heard of: GoDaddy, Power BI, American Cancer Society, and Alaska Airlines.
Why EGO Likes The .NET Technologies
Without going into too many details, we'd name a few reasons.
- Lots of technical possibilities. Apps delivered via .NET always have good memory management. They can also be deployed as packages installed automatically, which makes their distribution and updates much easier. ASP.NET also boasts built-in automatic monitoring to help increase the stability of .NET applications. With other technologies, we'd need to spend additional resources to gain similar effects or results.
- Talent Availability. .NET is an extremely popular set of technologies, and it's been on a market for quite a while now. So many experts know how to use it very well, and we find it easier to expand our team and hire app developers with the required skills should we feel a need for more .NET developers.
- Security. The framework has inbuilt mechanisms to validate and verify apps, as well as to grant or deny the user access to the app. It's not that other technologies have weaker security; rather, with .NET it requires less effort to achieve high-quality security for the app. Or you can also say that with the same amount of effort you can achieve even better security for your product if it's done with .NET.
- Interoperability and portability. Microsoft cares about backward support. That means your Windows app made on a 5-year-old version of .NET will still work on any Windows machine and will keep working for years. With many other technologies, a written code may become legacy in three years.
The last point is also the reason why sometimes we recommend migrating existing projects to .NET technologies.
Although we can't reveal the outcome of such decisions due to NDAs, we remember how we were impressed by the case of Raygun in 2017.
Raygun is a sophisticated cloud-based error- and crash-reporting platform. They migrated from Node.js to .NET Core because it allowed them to write applications for Linux using C#, which was known by the engineers working on the core of their product.
Porting the API required only two developers and two weeks. After booting up a new set of nodes on the production cluster, the same server was able to increase the number of requests it processes per second to 1k to an astonishing 20k!
One of the most prominent projects where our team used .NET technologies was an RFID Tracking system for Idencia. Check out our Case study here.
A couple more projects described in one sentence:
- Once SquarePeg Software approached us to migrate their vehicle inspection app from Windows Mobile to iOS and Android, and we used Xamarin for that.
- We also leveraged Xamarin to build an iOS and Adroid app for CentralReach’s EHR and practice management cloud software.
- We also used Azure and ASP.Net extensively to help build the UBERDOC platform. Below you'll find the client’s video testimonial and the case study will soon be on the site.
Is .NET Perfect, Therefore?
Again, we have two points of view here.
From a developer's point of view, .NET indeed has so many advantages it becomes the choice for many engineers, while others prefer to stick to other technology stacks. The general perception of .NET is that it's a mature technology for complicated projects, and thus using it appears to be more profitable for an individual in the long run.
From the business point of view, there's no bottom line for any development technology. The proper question here is "Is .NET perfect for you?" And the answer is, for most of the startups it’ll be a no-go, at least at the beginning. But if you're in the need of a scalable cross-platform solution, and especially if it's an enterprise-scale product, .NET will most probably be perfect for you.