Microsoft released the first beta version of the .Net Framework to the public in late 2000. By 2002 there was an official 1.0 release and it was clear that Microsoft would continue to invest considerable resources into the Framework. In the early years .Net was derided by many as a proprietary, closed source copy of the Java platform. It’s been almost 15 years since that 1.0 release and there’s been a new major release almost every year since; each one containing new and improved tooling, an expanded feature set, and support for additional platforms. Some of the most exciting progress has been made in just the last couple years. The announcement of .Net Core and the acquisition of Xamarin have underscored Microsoft’s commitment to .Net. Despite all this, many of the same old rumors and half-truths are still flying around. Let’s take a look at a few of the things people are still saying and dispel some of the misconceptions.
1. .Net Only Runs on Windows
…Wrong! .Net programming has been an option for Linux and Mac developers for years using the open source Mono Platform. Mono is a community supported implementation of the.Net Framework based on the ECMA standards for C# and the Common Language Runtime. And recently Microsoft has been collaborating directly with the Mono team on improvements. Furthermore, Microsoft just rolled out .Net Core 1.0, a streamlined, cross-platform version of the .Net Framework. This release also includes ASP.Net Core, which is Microsoft’s .Net web application platform, and Entity Framework Core, which is a .Net Object Relational Mapper, making it easy to connect your .Net application to the database of your choice. These platforms are fully backed by Microsoft and receive regular updates, making it easy to build on and deploy to the operating system of your choice.
2. .Net is Only for Desktop Applications
…Wrong! Standard desktop applications are certainly an option with .Net, but that’s far from the whole story. ASP.Net has been around as long as .Net itself, allowing developers to make powerful web applications with the .Net Framework. And with the release of ASP.Net Core, that power is available on all platforms. Mobile developers can join the fun, as well. The Xamarin platform has been around for a while now, allowing developers to make .Net applications that can be deployed to iPhone, Android, and Windows Phone. In the past, Xamarin’s hefty price tag and relative obscurity made it a fairly niche product. But all that has changed in the past year. In February Microsoft announced that it was acquiring Xamarin and shortly after announced that the whole platform would be free to developers. These announcements launched the platform into the spotlight, and since then excitement has only grown. The flurry of updates and new supporting tools for the platform has shown Microsoft’s dedication to making .Net a great option for mobile development.
3. .Net is a Proprietary, Closed Source Technology
…Wrong! All those great cross-platform frameworks I mentioned above? All open source. .Net Core, Xamarin, and Entity Framework Core are all open source and available on Github. And these platforms aren’t just open source in name only. Feel free to open issues, track conversations and issue pull requests. Microsoft is truly embracing the spirit of open source software. This is a hard pill to swallow for developers that remember the Microsoft of old. Former CEO Steve Ballmer famously called Linux a cancer, and the company spent years fighting a multi-front legal war against open source software. But all that has changed under the leadership of new CEO Satya Nadella. In fact, Microsoft recently topped the list for a number of open source contributors on Github. The shift is surprising, but certainly welcome!
4. .Net is Only Useful for Business Applications
…Wrong! There’s a lot of buzz around ASP.Net Core and Entity Framework Core and their ability to create powerful business applications, but there’s plenty of support for other types of applications, as well. Using Xamarin the sky is the limit for cross-platform mobile applications. And the popular Monogame library is a powerful game development platform built on top of .Net. The open source NAudio library provides audio playback, recording, and conversion capabilities, making it possible to create many kinds of media applications. And with the introduction of Windows IoT Core, developers can even get started using .Net to power and manage their Internet of Things devices.
5. .Net Doesn’t Fit Into My Development Stack
…Wrong! Working in .Net doesn’t mean adhering to a rigid stack of development and deployment tools. Using Visual Studio and deploying to IIS, Windows Server, Azure, and SQL Server is an option, but it’s not the only one. Using Omnisharp you get great .Net development support in the editor of your choice. And the new Visual Studio Code is a great light-weight, cross-platform alternative to Visual Studio, which can be daunting to newcomers. Entity Framework supports connections to any of the popular databases, and Docker brings powerful container support to .Net. A quick search of NPM for .Net packages shows a wealth of options for integrating your JavaScript application with a .Net back end. Whatever your tech stack or development process there is room and ample support for .Net.
I hope this article has helped to dispel some of the outdated or just plain wrong information about .Net. But you don’t have to take my word for it. Plenty has been written on the subject already. These are just a few things to keep in mind during your next technical analysis. If you want an open source platform that integrates with your existing development process and allows you to use all your favorite development tools .Net might be the solution.