An introduction to developing in ASP.NET Core

07 September 2017

On 27th June 2016 Microsoft released .NET Core (including ASP.NET Core and EnitityFramework.Core), described in their release as:

"...a cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications... This is the biggest transformation of .NET since its inception and will define .NET for the next decade. We’ve rebuilt the foundation of .NET to be targeted at the needs of today’s world..."

Since its version 1.1 release, ASP.NET Core has proven itself to be the "among the fastest platforms at the fundamentals of web request routing" in the highly respected TechEmpower standard benchmarks. The recent version 2.0.0 release of ASP.NET Core is looking to be even faster in many areas.

So the good news is Microsoft have given developers a highly-performant open-source framework which we can use to create web applications that are deployable not only on Microsoft Windows server, but also on Mac and Linux machines. They have also given us the ability and tools to develop our applications on any of these operating systems.

The bad news is, depending on your current development framework, you may have a fair amount of learning to do and may find that your existing catalogue of work becomes redundant. Coming from an ASP.NET C# Web Forms background, with a substantial body of older projects still in Visual Basic, moving to Core was pretty much a complete restart for us. Whilst the theory behind our long-earned programming solutions was sound, the actual code implementation in Core was completely different.

To be really clear, porting existing ASP.NET apps to ASP.NET Core is probably not a great idea, but development of any new apps should definitely be done in ASP.NET Core wherever possible; just take a quick search on Google and you will find a consensus amongst ASP.NET developers that they will move to Core over the next few years.

At Future Shock we wanted to get ahead of the game as we specialise almost exclusively in .NET for web application development. We hope our learning over the last year will be invaluable to others wishing to move to ASP.NET Core; helping you to understand the differences in this new way of working, and also the limitations of the framework that we have found. We will also be sharing many of the solutions we have developed for these limitations, so that you don't have to spend valuable time solving these yourselves.

We will therefore be releasing the following articles on ASP.NET Core:

There may well be more, so bookmark and check back on this page regularly as we will link them to this article as soon as they are written.