Choosing development products tied to specific platforms can be a difficult task. But just imagine that you could develop server applications that allowed running on any platform, Windows, Linux or Mac? We can find the solution. Let’s get started with .Net Core.
What is .NET Core?
Microsoft’s .NET Core is a cross-platform, unified, fast, lightweight, modern, open-source framework for building mobile, Web, and Windows applications and services that can be deployed and run on Windows, Linux and Mac operating systems.
After .NET Framework beta was released, Microsoft decided to make a smaller version of the framework to run on Smartphones/PDAs that at that time used to run Windows Phone operating systems. That’s how they came up with .NET CF (Compact Framework). Since then, Microsoft has been refactoring the .NET Framework for various needs & purposes including web development (ASP.NET MVC), RIA (Silverlight), Windows Phone development, and the latest, Windows Store Apps.
So much has happened with the .NET Framework till date that it probably runs a risk of eventually following the famous anti-pattern – the big ball of mud. It was the time when .NET Framework became leaner, reliable and modular to make it ready for future needs. Various features have also been added to the .NET Framework till its current avatar – .NET Framework 4.6.2. Like .NET Core 1.0, released on 27 June 2016, is a step towards that direction.
We can use NET Core for implementing non-graphical web applications and console applications. There is no equivalent to the System.Windows.Forms namespace, nor is there XAML markup as in WPF and Silverlight. So if you can’t use .NET Core to develop an end-user application that runs on a phone or on a desktop, you can prototype a Node.js web application on a Mac, then take the same code and deploy it on a Linux server.
The task is to make .NET development easy for everyone on any platform that stands out as the most exciting thing of ASP.NET Core and specifically, .NET Core. Anyone can get .NET on his or her choice of operating system and start using it to develop great applications in no time.
What’s the most exciting new development in .NET Core?
Everything depends on your current skill set. For Windows developers, .NET Core provides a familiar path to targeting other processor types without having to learn new languages or development tools. For non-Windows developers, .NET Core delivers modern language features like generics, Language Integrated Query (LINQ), and async support, backed by a managed compiler that is exposed to the runtime.
Over time, it has been programming languages like Ruby, Python, Scala, Go, Node.js, Swift and others. See what Microsoft, and the community, have done with .NET Core and how it has become the cool new thing is amazing.
You can realize that the problem with most of the existing programming languages is that they good at one use case. Ruby and PHP are awesome for web applications. Swift or Objective C are great for creating iOS or MacOS applications. If you want to write a background service you can use Python, Java, or other languages. Besides C#, JavaScript and Java may be the only languages that can be applied to a wide set of use cases.
Sometimes it is hard to apply your skills to a broad set of tasks if you have to learn many programming languages. The best thing about .NET Core is that it can be used for a wide variety of types of applications. You can use it with no limit to what you can do. Are you intrigued? For those of you who have already worked with it what do you like and dislike about .Net Core? Is it really worth trying? Share your thoughts in the comments!

Kate Kviatkovskaya
Business Development Manager