I have been looking into and playing with .NET5 with great interest. I intend to use it in a project in the very near future, but before I risk it on production code, I try and learn about it as much as I can myself. .NET 5 is a major divergence from everything Microsoft has done so far. In one swoop, they have removed all the suckage that has plagued the close mindedness that has been gradually disappearing over the past many years. But .NETv5 is just nuts awesome!
The cross platform .NET5 is a bit like this as of now – you have 3 CLRs,
a) Full CLR – what you have today about 200MB
b) CoreCLR – cloud ready – about 11MB – a lot of stuff is missing, but what we have is enough to build useful stuff with some pain and workarounds.
c) Cross platform Linux/Mac distro of .NET officially supported by Microsoft – as I write this blogpost, this is not quite well defined other than a PPT. It might end up being CoreCLR (which they may rename by RTM). Or they may strike a deal with mono – who knows. But this certainly puts the future of Mono in question.
Some thoughts on this whole thing,
- Open source – hell you can even debug their source code via symbols server. And if there is something you need, just extend it :-) I envision lots of people extending it.
- Run on Mac and *nix. Honestly, why would you want to run ASPNET on Mac – I don’t think that is going to catch on a lot (a little but not a lot). But Linux – holy cow – now there is a scenario that packs a punch. The thing is, Linux VMs are CHEAP! and Lightweight. So if you are an ISV targeting the cloud, this option could reduce your monthly hosting bills by 80% or so – if done right. THAT is worth the extra pain of targeting CoreCLR.
- Writing code for CoreCLR is going to hurt a bit – especially because so much is missing in it :-)
- Performance, just nuts performance. It is so lightweight, you literally target ONLY what you need with a fine scalpel. The end result is a very optimized backend.
- Multiple .NET frameworks without depending on the IT ogres – okay – not so important IMO. IT Ogres don’t usually have issues installing .NET anyway :-) .. not like we are asking them to install SharePoint 2013 SP1.
Long story short, CoreCLR gives us the possibility of writing super optimized code that will result in very significant savings for ISVs.
You could write stuff using VStudio on Windows, and port it easily on other platforms.
Now that is awesome!
Future dreams -
- Enable .NET CoreCLR/Crossplat to work on iOS/Android and Raspberry Pi
- Enable compile to native toolchain for CoreCLR on all platforms
.NET 5 in some ways is as major as .NET 1 was. This is a major major shift in Microsoft’s strategy and technology. It is definitely positive for the industry in general, and if Microsoft can capitalize on it, it will be very good for Microsoft also.
I’m really looking forward to it.