Over the years Microsoft has received criticism for its closed and proprietary platforms, especially from the developer community. Sure, .NET had a good ecosystem for line of business applications, and there were plenty of “must have” libraries, but there was still a large community against Microsoft because of their hard-line policies and lack of openness. Microsoft did not concern themselves with this movement though; they were doing just fine and had buy in from the enterprise space, where the only true competitors were IBM, Oracle, and other large Java based stacks. .NET worked its way into the commodity space, and plenty of consultancies did well selling .NET contractors and services. Windows Forms, WebForms, and early versions of ASP.NET MVC were all developed within this closed ecosystem.

Still waters run deep. In the last five years, thanks to the tireless efforts of the .NET community, and eventually Microsoft, the tide is starting to turn. With the rise of modern platforms, languages, and libraries all toting the latest and greatest, the .NET community began to expand and develop their own modern tooling, techniques, and libraries all while still retaining its roots.

This blog starts a series of blog posts dedicated to modern .NET development. Why bother right? Rails, node.js, Scala, and others are clearly the right solution. They are so elegant and concise and maintainable and insert other superfluous adjectives here. Unfortunately, most developers are bad at studying development and overcoming their cognitive bias. .NET provides one of the most advanced development tool chains available. There is nothing wrong with other tool chains, they are all powerful in their own right and for specific use cases. Rails is a great choice for startups, node.js for real time streaming services, and Scala for side effect free systems. Here at Levvel our consultants pride ourselves on choosing technology within the constraints of the business and not based on our preferences. Technology is just a tool in our toolbox to solve business problems. Developers and boutique consultancies ignore or despise .NET (and Java for that matter) at their own risk. There are millions of lines of .NET code ready for legacy modernization and more businesses are starting to realize how significant an asset their software and technology are. Software can and does provide a competitive advantage to businesses everywhere and anyone who thinks they are not a software company is wrong. That topic is for another post though.

Alright, now to the business at hand. What does a modern .NET stack look like and why should you care? This series will walk through the following stack:

  • CoreCLR
  • Mono
  • ASP.NET 5
  • OWIN
  • Command Line .NET (K* tooling)
  • Writing .NET code outside of Visual Studio
  • aspnet-docker

Imagine writing .NET code on OSX with your favorite text editor (vi of course) and deploying docker images to Windows and Linux cloud servers. Imagine creating pull requests to fix the Core .NET framework or add a new feature to ASP.NET. This is the modern .NET.

Thanks for reading today’s installment, and please check back soon for the next part in our series.

The Levvel team can help you:

Modernize your legacy software

  • Train your development staff on modern development practices
  • Free your company with Open Source