August 15, 2016 .NET Core — Did Microsoft finally get it right!?
Last weekend I had some extra time on my hands so I dove into recent tech articles and I was surprised to see I missed the June 27th announcement of the 1.0 release of .NET Core. I quickly installed the .NET Core SDK on my Mac and fired up a familiar hello world… I’m still diving in but it looks like Microsoft has gotten it right! Here’s what I’ve seen so far.
What is different this time?
First of all Microsoft has released everything on Github at dotnet.github.io. There is no codeplex.com in sight at all! It must have been difficult for Microsoft to not only open .NET but also to do it in an open fashion. People have been able to comment, follow along, and contribute to this project which is a huge change for Microsoft. I can imagine the shock from developing closed source software to seeing incoming comments from the community while the code is still being delivered. What an amazing release to see .NET now on Mac and Linux in addition to Windows all hosted on Github! Microsoft has been shifting this way for a while with the release of the NuGet package manager in 2010 under Apache and the free Visual Studio Code IDE last year.
Furthermore, Microsoft has created an independent board to manager and run .NET Core and other open source projects, The .NET Foundation. In fact the foundation is true to open source initiatives and is license agnostic. You’ll find a lot of MIT and Apache licensed software in the projects.
.NET Core Performance 3X faster than NodeJS?
I had to call this out: .NET Core with the Kestrel Web server performs 3x faster than NodeJS? Is this true? Whose benchmarks? I was surprised to see they actually released all of the benchmarks again in Github! The benchmarks include scenarios from the TechEmpower Web Framework Benchmarks. You can even clone the repo and try out the benchmarks yourself!
Getting Started
Personally, I’m pretty excited about .NET Core and they have made it really easy to get started! You can close a Github repo to get access to tutorials or you can use their interactive tutorials.
If you really want to check out .NET Core you can go through the Github repos and get as low level as you’d like!
- .NET Roadmap — Even the roadmap for .NET Core itself is in Github!
- .NET Core — The home to find out more about .NET Core and the projects on Github. You’ll find the framework and runtime under here
- ASP.NET — Microsoft completely rebuilt ASP.NET which was first released 15 years ago! Gone are the days of System.Web.dll. Now it is a cross platform open sourced framework designed to support web, IoT and mobile backends. It is streamlined so you can now pull in NuGet packages
- Kestrel Web Server — Part of ASP.NET is the Kestrel Web Server which is based on libuv. If you are familiar with NodeJS, libuv is the same asynchronous I/O library used by that language. Kestrel is designed to be fast but also sit behind a traditional webserver like IIS or NGINX.
- Core Documentation — Even the documentation is in Github. The community can now directly contribute even to the documentation.
- There are TONS of other projects to check out like Rosyln (provides rich code APIs to access the compiler platform for C# and VB) to LLIC (Pronounced ‘Lilac’ it compiles msIL (.NET) code to native binary, using the LLVM compiler framework (same framework for Rust, Swift, and others). You’ll also find a lot of other projects under ASP.NET, the .NET Foundation and dotnet core.
Any Topcoder Community members also tinkering with .NET Core? If so, let us know what you think on Twitter, we’d love to hear from you!
David Messinger
CTO