Friday, February 26, 2016

Impressions of the new .Net version 5 RC1, ASP.NET CORE 1.0

I saw my first demo of .Net 5, aka Core 1.0.  Shawn Wildermuth of presented to a full house at Microsoft on Feb 24 about the next generation of .Net, ASP.NET 5, aka Core 1.0, on his Hello World Tour.

Do not be fooled by the ".Net 5" name, it's not a gentle  upgrade from 4.5, it's a whole new enchilada.  ASP.NET 5 is a complete rewrite that is open-source and designed to be cross-platform. 

Kudos to Microsoft for making this breaking change.  The new trimmed down, modular framework is going to be much simpler, and ultimately easier to use, understand, and port.

 Here are my impressions:

1. I liked the way it seamlessly integrates state-of-the-art web technologies as first class citizens.  Gone are the Balmer  days of re-implementing some technology (I'm looking at you AJAX) just to brand it Microsoft.  NPM and Bower are expected to be used.

2. I liked having to specify exactly what you want.  Shawn gave a demo where you have to tell it that you want to deliver static pages, but only from the "wwwroot" directory by default.  This helps us to know exactly where those files live in the directory, but its also a good security feature to prevent other not-designed-for-public-release files from leaking to the web.

The current version of .Net will give you everything in a big pile, which is nice to get started, but makes things process slowly and masks from the developer how some things are working.

3.  The new configuration method is much simplified from of the current mess.  In my previous project we were always having to sync configuration variables from "web.config" files for web projects, with "app.config" for our Selenium test projects.

The new method also helps in testing since its trivial to mock the configurations.

4.  The IIS complexity is gone - good riddance.   You don't even have to have a "web.config" file now, unless you want to use IIS.  It always felt wrong to put app configuration values in the same file as IIS and building options.

 5.  The new CoreCLR will run on MacOS and Linux which is great.

6.  It's still a work in progress.  Not all the .Net goodness is available in CoreCLR, but hopefully it will come soon.

 A few pics from the evening:

Before the .NET presentation, Shawn interviewed Rod Paddock, @rodpaddock, about his start in the biz.

No comments: