Microsoft .NET is a framework that can provide your software development team with guidelines for building a wide range of applications – from web to mobile to Windows-based apps.
The .NET framework is compatible with several programming languages such as C#, VB.NET, C++, and F# which makes it a useful framework when it comes to developing your bespoke software solutions.
It’s fair to say that ten years ago, Microsoft ran the show. However, at the end of the last decade, Microsoft’s 800-pound gorilla status began to decay.
Maybe this was due to the invention of the Apple iPhone and Microsoft’s lack of mobile adoption, or maybe the proliferation of open source projects was to blame. Either way, things have changed and today the same companies need to be convinced of the advantages of transitioning to the Microsoft Stack.
This article delves into eight reasons why businesses still need to consider the Microsoft tech stack for their bespoke software development projects.
Reasons to choose the Microsoft Stack for your bespoke software solutions
Reason # 1: .NET is still ahead of the curve
Introduced over ten years ago, the .NET Framework is feature-rich and thoroughly field-tested.
Although it was common in the early days of .NET to combine native development with managed code, today the vast majority of development tasks are supported out-of-the-box.
Even companies like Oracle have released components that are 100% managed .NET code (i.e., ODP.NET managed driver) interacting with their products. In its turn, .NET API is consistent, well documented and used by millions.
.Net has a solid knowledge base that is available through MSDN, StackOverflow and thousands of Microsoft developer forums and blogs. Over the years of developing software in .Net, developers can rarely remember a time where they got stuck on a framework bug for long.
There has always been someone who has already encountered the issue, solved it and posted an answer to a forum on how to solve the development issue, which has helped propel the project forward.
In the recent August 2020 releases, .NET Core security has seen significant improvements.
Reason # 2: ASP.NET has strengthened its position
Looking back at Microsoft’s traditional web-to-database stack of ten years ago, it’s interesting to see which pieces have stood the test of time and which have disappeared.
While the back-end of the Microsoft stack has remained largely unchanged (we are still using the same set of components and patterns such as Dependency Injection, Tasks, Linq, EF, or ADO), the front-end, which is part of ASP.NET, has seen a major shift from “do it the Microsoft way ” to “do it your way and use ASP.NET as a platform”.
ASP.NET is an MVC-based framework with robust authentication, bundling and routing features that integrate with many third-party technologies such as Bootstrap and AngularJS.
Sites written in ASP.NET look great across a wide range of factors, from optimised rendering on smartphones to desktops plus the Web API’s capabilities make it easier to deliver web services. The framework has been open source for several years, so if you run into a problem, the source code is available on GitHub.
ASP.NET has definitely changed for the better.
Reason # 3: Web API and Power of WCF Simplicity
Alan Kay, a prominent American computer scientist, once said, “Simple things should be simple; complex things should be possible. ”
When Windows Communication Foundation (WCF) first popped up in 2006, it wasn’t easy at all; the behaviour, endpoints and bindings were mind-boggling.
Therefore, Microsoft released Web API, an easy-to-use framework that facilitates access to HTTP web services. With a few lines of configuration, your API turns into a secure “industry standard” web service.
If your use case does not follow the “standard” form and you need full control over how your API is displayed on the web, you can always switch back to WCF.
With its many configuration options and interceptors, WCF allows you to customise data serialization, logging, intercepting, forwarding messages, peering and queuing and more.
Web API, together with WCF, implements both principles of Kay’s quote: if you need a simple web service, use a web API and everything will be ready in minutes; If your service requirements are complex, “anything” is possible with WCF.
These two technologies provide comprehensive coverage of maintenance scenarios and are bundled with the .NET framework.
Reason # 4: SQL Server is as reliable as ever
For years, it seemed like a tide of new programming languages, frameworks and patterns came through the front and middle tiers and spared the database backend.
After all, good old “SELECT” is still used as often today as it was 20 years ago.
This is because many companies see their data as the backbone of their business and maintaining the integrity of that core outweighs the thrill of trying to “do something new” at the database level.
SQL Server excels in its primary role as a data keeper with many features for transactions, referential integrity, backup, mirroring and replication.
However, what sets SQL Server apart from the competition is how well it integrates with the rest of the Microsoft stack.
For rapid application development, you can take advantage of Entity Framework that allows developers to work with data in the form of domain-specific objects and properties, such as customer names addresses, without having to concern themselves with the underlying database tables and columns where this data is stored.
If you need computing power, the .NET Framework is loaded in-process from SQL Server, which means you can embed .NET code as stored functions, procedures, or aggregates without sacrificing performance.
As such, SQL Server continues to top many developers’ lists of preferred RDBMSs.
Reason #5: It’s easy to test
When it comes to corporate IT, software frequently turns into untouchable black boxes where no tests are conducted and no one wants to mess with the code for fear of breaking something.
The Microsoft stack is designed with QA and testing in mind.
ASP.NET MVC contains dependency injection (DI). In the middle tier, the situation is similar: we use DI to decouple the implementation from the interface, which allows us to change production types to mock types during testing.
Even on the database side, there are SQL Server data tools that come pre-loaded with templates for testing at the stored procedure level.
Testing is an integral part of the software development process today and the Microsoft stack is specifically designed to reflect this.
Reason #6: Good support ecosystem
When it comes to support, it’s good to have a range of options, from community forums to a real live person working onsite on your server.
The online ecosystem for Microsoft products is one of the largest in the industry.
After all, Microsoft was founded by Bill Gates, a software developer himself who saw widespread developer acceptance as the key to distributing Microsoft products across the globe.
This meant giving these developers tremendous support.
Microsoft was one of the first to encourage its employees to blog about the technologies they were working on and while the rest of the industry has certainly caught up with them, the quantity and quality of training videos, tutorials and articles coming directly from Microsoft today still remains very impressive.
This level of online content quality is complemented by a large number of community-based support ecosystems like StackOverflow, which are not as consistent when it comes to content quality but are nonetheless much more useful than not.
Finally, there is always an option to pick up the phone and call Microsoft support.
Reason #7: Microsoft Sticks to Its Guns
Microsoft remains unchanged, which is good for those of us who have to make technological choices without having the magic crystal ball to tell us which technology trend will dominate the software space in the future.
Read how Evolve built a cutting-edge fintech product for Zeux leveraging .Net stack.
Leveraging the Microsoft stack ensures that time and money are invested in technologies that will be supported even if they go out of style.
Reason #8: Visual Studio Umbrella
Ten years ago, software developers spent about 50 percent of their time working in Visual Studio and another 50 percent – working on other tools.
Today, most engineers favour Visual Studio. Microsoft’s vision of its Visual Studio as a one-stop IDE-hosting solution is coming to fruition with many Microsoft and third-party products offering some level of integration with Visual Studio.
From building databases with SQL Server Data Tools to writing iPad and Android apps with Xamarin, Visual Studio delivers familiar developer experiences with a consistent UI. The same refers to Microsoft Azure, a cloud platform that spans a variety of services from database hosting to mobile services.
Visual Studio has hidden the complexities of a distributed cloud infrastructure by making cloud application development experience compatible with non-cloud application development experience. All parts seem to fit together nicely under the auspices of Visual Studio, making the overall development process very efficient.
There are many more opportunities to write and deliver quality software today than there were ten years ago.
This is definitely a good thing, because the competition is forcing big players like Google, Apple, Amazon and Microsoft to keep innovating.
While Microsoft has been knocked off the pinnacle by the technological evolution of the past decade, the company has shown that it is ready to adapt to the realities of current technology trends.
ASP.NET has embraced other technologies and methodologies, many of which are open source.
The .NET platform continues to evolve, opening up new horizons with improvements in areas such as JSON and the Ryujit compiler.
Being the merger of .Net Framework and .Net Core. .Net 5 is aiming to unify the entire .Net platform that will become available to developers in November 2020.
Microsoft .Net: Mythbusting
Now let’s review and dispel some of the common myths about Microsoft .Net that are still circulating in the business environment.
Myth 1: .Net is only good for Windows/desktop applications
Wrong! With .NET Core, a set of tools consisting of runtime, library and compiler components, you can build applications that run on Windows, Mac OS X and Linux. .NET Core runtime, libraries and compiler are open source on GitHub and are accepting contributions.
Myth 2: .Net is best suited for business applications
Not so. There is a lot of buzz around ASP.Net Core and Entity Framework Core and their ability to build powerful business applications. However, .Net also supports many other types of applications. For instance, with Xamarin, the sky’s the limit when it comes to cross-platform mobile apps.
Microsoft’s Monogame is a powerful game development platform built on top of .Net.
The open source NAudio library provides audio playback, recording and conversion capabilities to create many kinds of multimedia applications. And with the advent of Windows IoT Core, developers can even start using .Net to power and control their IoT devices.
Myth 3: .Net soesn’t sit into my development stack
Guess again. Working in .Net doesn’t mean using a rigid set of development and deployment tools.
Using Visual Studio and deploying to IIS, Windows Server, Azure and SQL Server is an option, but not the only one. With Omnisharp, you get great .Net development support in the editor of your choice.
And the new Visual Studio Code is a great lightweight cross-platform Visual Studio alternative that is especially convenient for newbies. Entity Framework supports connections to any of the popular databases and Docker provides powerful container support in .Net.
Whatever your tech stack or development process, there is always room and great support for .Net.
Are you about to embark on a software development journey but are undecided on which tech stack is best to choose for your project? Get in touch with Evolve for help!