What’s in a Name? ASP.Net Core and .Net Core

It was recently announced by Scott Hanselman that “ASP.NET 5 is dead – Introducing ASP.NET Core 1.0 and .NET Core 1.0” which may come as a surprise to many. Most that have been following along know that ASP.NET 5 brought with it a lot of changes. While in many cases it was a next step from previous versions, it also meant a fork in the road introducing some significant changes.

I’m personally in the camp that his happy to see this name change. I’m not sure that it’s the perfect name, but it addresses the concerns about simply incrementing the version number and not addressing that this is something very different. I however have no better ideas so I’m throwing my support (whatever that’s worth) behind this decision. I feel this is significant because as ASP.Net has grown over the years, developers has enjoyed an amazing level of backwards compatibility with limited breakign changes. This has often limited the ability to do things differently. Now you may be throwing your hands up, not wanting to do things differently in which case ASP.Net Core may not be for you.

Let’s pause for a moment a look at what I just said, “ASP.Net Core may not be for you.” In other words, you may not want to choose this fork in the road. What if however without the name change I was forced to say “ASP.Net 5 may not be for you”? That wording makes it seem like the end of the road. ASP.Net 4.6 is not going away, and while there are not currently any public details on what new developments there might be, it is in no way suddenly going to stop working or stop being supported. ASP.Net Core is a new direction that enables those that want to go that direction, it’s not simply a new version of ASP.Net.

According to the information Scott published:

  • ASP.NET 5 is now ASP.NET Core 1.0
  • .NET Core 5 is now .NET Core 1.0
  • Entity Framework 7 is now Entity Framework Core 1.0 (EF Core 1.0)

There are some extremely important details that I think are worth calling out regarding these.

  • ASP.NET 4.6 requires .NET Framework 4.6 and runs only only on the windows platform.
  • ASP.NET Core 1.0 runs on both .NET Framework 4.6 (Windows) and .NET Core 1.0 which runs on Linux, Mac, and Windows.
  • .NET Core 1.0 is a subset of the full .NET Framework 4.6 that many are used to working with. This goes back to the new direction mentioned above, resulting in portions of the framework note being included. There are many things that are not needed for reasons such as beign windows specific, redundant, or not needed. Over time this gap may shrink, but for now it has some significat impacts.

There’s no doubt that the “Core” technology are new and bleeding edge compared to their battle tested predecessors, but this creates an opportunity to create a powerful new platform that is more in tune with today’s modern development, deployment, and hosting techniques.

Happy New Year: 2016 Edition

As we all begin another trip around the sun together, it always seems like a good time for a bit of reflection on where we’ve been and where we’re headed. While a low year for the blog, 2015 was a busy year with many opportunities, challenges, and changes.

One of the higlights of 2015 for me was presenting a talk my friends at the Triangle .Net User Group  titled “Change, Opinions, Principles, and Learning.”

image

It brought together a number of things that I’ve been spending a lot of time thinking about related to maintaining our skills in technology in a rapidly changing world. In a nutshell we must learn to deal withe change around us, be thoughtful enough to form opinions for ourselves, be mindful enough to stick to a foundation of principles to help guide us, and along the way to continue to push the envelope through deliberate practice to expand our knowledge and understanding. It was a lot fun preparing for the talk by putting a collection of thoughts and notes together into something semi coherent that could be shared with others. The converstations with others about their thoughts and ideas after the presentation was equally rewarding and I’m grateful to all of those that continued the conversation.

And it’s in the spirit of continuing the conversation and the learning that I look forward to 2016 and all that it has in store for us.