Microsoft Tech Stack Has the Best of Both Worlds
Life was great for Microsoft developers 10 years ago. Organizations were perfectly happy to commit 100% to use Microsoft for their development projects. With innovative ASP.NET on the frontend, a solid .NET middle-tier and the dependable SQL Server on the backend, things worked very well for the most part. When things didn’t quite work out, developers just accepted that as something that came with the territory. Microsoft was all but running the show.
Then in the last few years, Microsoft status as the world’s de facto development platform began to unravel. Maybe it was due to the cultural evolution instigated by the iPhone and Microsoft missing the paradigm shift to multi-devices, or maybe it was because of the rapid rise of the open source movement, but things changed, and today those same companies need to be persuaded that going with Microsoft Stack is a good idea.
Nowadays there are far more choices for writing quality software compared to a decade ago. While Microsoft may have been pushed off its pedestal with healthy competition from giants such as Google, Apple, and Oracle, the company has shown that it hasn’t been swept away by the tech evolution of the past decade and is willing to adapt and attune to realities of the current technological trends.
ASP.NET has incorporated other popular technologies and agile methodologies, many of them open source, with the homegrown Web Forms fading into history. The evolving .NET framework continues to break new frontiers with libraries for multi-threading and many-core computing. With the 2015 release of the .NET framework, the core is entirely open-source and completely cross-platform (Linux, Solaris, MacOS etc.) which is a step in the direction of inclusiveness and transparency.
This article presents five reasons in favor of sticking with the Microsoft software stack.
- The Microsoft Technology Stack Has Evolved
If we were to look back at the traditional Microsoft development paradigm, it is interesting to see which parts survived the test of time and which parts simply faded away. While the back-end of the Microsoft stack (ADO, EF, Tasks, LINQ, and Dependency Injection) remained pretty much the same, ASP.NET front-end saw a fundamental shift from “do it the Microsoft way” to “do it your way and use ASP.NET as a platform.”
Today, ASP.NET is an MVC-based framework featuring robust infrastructure for authentication, bundling and routing that integrates with many non-proprietary and perhaps more importantly non-Microsoft technologies such as Bootstrap and AngularJS. As a result, ASP.NET sites look polished on a wide range of form-factors. The framework has been open-source for quite some time, so if you are stuck on a problem, the source is freely available on GitHub. ASP.NET has changed and changed for the better.
- .NET is Still One of the Best
Introduced nearly 15 years ago, .NET Framework is feature-rich and thoroughly battle-tested. While it was standard procedure to have to combine native development with managed code in the early days of .NET, many of these development tasks are supported out of the box today.
Today the .NET API and the cutting edge .NET Core are consistent, well documented, open-source, cross-platform and used by millions of developers. The knowledge base available via MSDN, StackOverflow and thousands of forums and blogs is massive. If you ever encountered a bug or issue. it’s most likely someone had already experienced, researched and posted an answer.
- SQL Server is as Solid as Ever
In spite of the avalanche of new development languages and frameworks coming through the front and middle tiers, somehow the database back-end was spared. Even after 20 years, the good old “SELECT” is still as much in use today. This is because many companies view their data as the core of their business, and keeping the integrity of that core far outweighs the excitement of trying “something new” at the database layer.
SQL Server excels in its primary role of a database with countless features for transactions, referential integrity, backups, mirroring and replication, but what sets SQL Server is how well it plays with the rest of the Microsoft technology stack.
You got the mature Entity Framework delivering well on its promise of streamlining data access. If your computing power is an issue, the .NET Framework is loaded in-process with SQL Server, meaning you can embed .NET code as stored procedures, functions or aggregates without sacrificing performance. Combine that with the fact that SQL Server 2014 comes with in-memory tables, and you can come up with some fast real-time solutions, that would not have been possible solely with SQL and regular tables.
- Vibrant Support Ecosystem
It’s always nice to have a range of support options, starting with community forums and ending with an actual live human being working on-site on your server. Microsoft was a pioneer in encouraging their employees to blog about the technology they were working on. While the rest of the industry has certainly caught up, the amount and the quality of instructional videos, guides, and articles coming directly from Microsoft today is quite impressive.
Add to that a large number of community-based support ecosystems such as StackOverflow, which are not as consistent when it comes to content quality, but are, nevertheless, far more helpful than not. By harnessing the power of both proprietary support and the open source community, the online ecosystem for Microsoft products is one of the largest in the industry.
Lastly, there is always an option to pick up the phone and call Microsoft support. Having qualified Microsoft developers can help in a number of production emergencies.
- Microsoft Sticks to their Products
Coming from a company that has a rich history in releasing tested, documented and supported software, these improvements are welcomed. Investing in the Microsoft stack pairs the excitement of working with modern technologies with the stability of being backed by a software giant with decades of experience in the development industry.