Is Your Code Ready for .NET Core?
Talk at NDC Oslo 2016 (image credit: @tugberkugurlu)

Last year I did one of those user group talks I'm known for, where I turn up all excited about some new technology and talk at 400 wpm for an hour and a half. In this case, my enthusiasm for ASP.NET Core was obviously contagious, because several attendees asked if I'd consider doing a weekend workshop, and of course I said yes.

I've been working on offering an updated version of the training to the developer community at large for a while. However, the announcements coming out of Microsoft over recent weeks gave me pause. Do people still need training specifically on ASP.NET Core, or is it now so similar to the old .NET that we can all just "muddle through"?

I have reached the conclusion that yes, learning about the specifics of ASP.NET Core is not only important but may be essential to us developers. Hopefully I can persuade you of that in the rest of this post.

ASP.NET Core RC2

Over the last few weeks, Microsoft have made a series of announcements about the future of .NET Core, which can be boiled down to these key points:

  • ASP.NET Core will target .NET Core, instead of being its own platform and runtime.
  • .NET Core will use MSBuild and traditional .csproj files instead of project.json.
  • Following the 1.0 RTM, the .NET teams will be porting a significant number of additional .NET Framework APIs to .NET Core.

Some of these announcements have upset some people, and I sympathise with many of their concerns. For me personally, I put a lot of time into learning the new tools and frameworks over the last 18 months, and used them on projects I had hoped to have shipped by now.

I’d also been planning to offer training and consultancy to .NET customers that are interested in what the new .NET Core can offer them. As more and more backward compatibility was announced, I started thinking "Oh. Now it’s going to be so easy to migrate that people won’t need any specialist training."

But, on reflection (no pun intended), this is really not the case. Very little of the training I have presented so far has been driven by "these APIs are no longer available" or the project.json changes. Instead, the focus is on the (still-amazing) ASP.NET Core, and the new development and deployment options that are available with a platform-agnostic framework and runtime. In my classes and workshops, we’ve created applications using ASP.NET Core MVC, using Visual Studio 2015 on Windows or VS Code on Mac and Linux. We’ve run (and debugged) those applications on Linux servers, behind Nginx proxies and in Docker containers.

All the important stuff that has been promised since Project K was first announced, like the new Dependency Injection, Configuration, Logging and other libraries, is still very much there. And now there’s ahead-of-time native compilation; the NET Standard system; closer integration with Xamarin (which is now part of the Visual Studio product family); and plenty of other new things to get excited about.

In fact, the real effect of these late changes will be to make .NET Core more accessible — and accessible to a wider range of developers and customers, whether they’re building cross-platform web applications and services, or mobile apps, or targeting the latest low-powered IoT devices. That’s good for all of us as .NET developers, because it means more opportunities to stretch ourselves and learn about these new ecosystems, outside the familiar world of Windows Server and IIS.

So, while my friends in the West Country may have been a little bit ahead of the curve, the release of the near final version of ASP.NET Core means we all need to start thinking about upgrading our skills. And that means now is the perfect time to offer ASP.NET Core Training workshops to more groups and communities.

Why should you do ASP.NET training with me?

Many readers know who I am, maybe from this blog, or my regular talks at user groups and conferences, or my open source work. But to those who have not come across me before (hello!), my name is Mark Rendle: I've been a Microsoft Azure MVP since 2011, and now I'm a Docker Captain too! This dual focus gives me a unique insight into how to get the best from these new technologies.

Because I’m a pathological neophile, I’ve been working with all the new bits since it was called Project K – I actually got my hands on an early release thanks to the ASP.NET Insider list. Since then, I’ve built new systems on ASP.NET Core and ported old ones to it, and got them running on Linux and in Docker (that's what got me on the Docker Captains list), so this all comes from a place of experience as well as enthusiasm.

What will you learn in these ASP.NET Workshops?

In February of this year, I descended on Ed's farm in deepest Shropshire with a dozen keen .NET developers (thanks Ed!), and we spent two days diving into the basics of ASP.NET Core, .NET Core, Docker, command lines, VS Code and more. We had a great time, and everyone left with a decent understanding of the new stack (that should still be relevant even for RC2).

In light of the significant changes made in the latest (near final) release, the revised Course will cover the following:

  • A complete tour of the .NET Core ecosystem
  • Working with ASP.NET Core using VS2015, VS Code, and the new dotnet CLI
  • What’s new (and what’s gone) in ASP.NET Core and Entity Framework Core
  • Working with the Node.js tools and NPM packages for installing and bundling CSS, JavaScript and so on
  • Building, testing and deploying using Docker, on Linux and Windows
  • Tips on architecture, microservices, infrastructure and more

It’s an informal, highly interactive couple of days, where you can learn a lot but still have a great time geeking out on new technology.

How do the Workshops work?

We all have day jobs, so these would be 2 day weekend workshops.

I can offer training for up to 20 people at a time. The ideal situation would be for a User Group or another Community of developers to combine together with a nominated Organiser to handle the logistics. The organiser(s) would provide a location (somewhere in your local patch) with the necessary equipment (power, Wi-Fi and some sort of large screen). Once you have a date and location, I can help you publicise the event too.

Course Fees

Now: this is a paid thing. I wish I could do it for free, but if I go gallivanting off around the place at weekends, Mrs Rendle expects me to bring her back a nice present. At the same time, I want this to be a community thing, so, I'm going to make the total fee for the group (up to 20 people) no more than my usual single-seat fee for business classroom training; the more really would be the merrier.

If you’re a long way from London, England, then I’d still love to come and see you, but we’ll have to talk travel expenses too.

Not part of a User Group...

...but still want the training? Get in touch and we can let you know if there are spaces on any courses we may be running in your local area.

What about Corporate Training?

Naturally I am not trying to exclude any business that wants their developers to benefit from this training, but this offer is intended for community groups. Please get in touch and we can discuss terms for a corporate engagement, which can be tailored to your particular needs and, if necessary, existing projects.

Interested?

Head over to my new website to download the "Are You Ready For .NET Core" infographic, and we'll get back to you about running or attending a workshop in your area.

Are You Ready for .NET Core?