.NET CORE: What’s new in .NET world

I want to start this post of small posts about the new technology that Microsoft proposes for the next years (a decade or so, in my experience) for programmers. It’s .NET Core, a new development platform, that’s a mix of very good ideas created during .NET Framework lifetime plus a bunch of new functionalities needed to accomplish the new challenges that the new paradigms and platforms proposes to us, the programmers.

But what’s .NET Core? Basically it’s the .NET Framework, but streamlined, smaller, modular and efficient. Why Microsoft do almost everything from the ground up? Simple: be really multi platform: the .NET Community was asking for .NET in Linux since quite a long time. This, and the new direction that Satya Nadella (CEO of Microsoft) is giving to the business is starting to be seen in .NET with Core. This modularization aimed to separate those parts “platform-dependent” from those “platform-independent”. This is clearly seen in the following picture:

This new architecture brings another advantage: size and precision at distribution time. NuGet becomes a first-class actor in .NET Core, because it allows us to get only the necessary libraries for our projects: if we care enough, our solutions will have a very small footprint (if you remember, a former .NET program was quite small but it required .NET Framework installed in the host PC, which has a footprint of 4.5GB (!)). And that’s not all: when a new library update appears, we do not have to download the entire framework: NuGet will take care of the update along with all the dependent libraries and it will download all that for us.

Another outstanding characteristic of the new .NET Core is it’s licencing model: it is OPEN SOURCE. Under MIT license, the framework’s packages can be downloaded from GitHub. I’m sure you’re probably asking “but the former .NET Framework could be downloaded for free… what’s the difference? Well, think in places (enterprises, government agencies) where only open source software will be used. Now, Microsoft programmers, who were banned for this projects, can provide all it’s .NET expertise and experience to this kind of projects.

Well… everything sounds quite amazing but… how does this Works? What can I do with this new framework? Can I implement a Winform application in Linux and Mac just easy as in Windows? Well, you’ll have to wait until the next post, where I’ll talk a bit more about what’s able to do today with the recently released version of Core.

Start getting into .NET Core: https://www.microsoft.com/net/core#windows

By Agustin Catellani