Learning ASP NET Core 2.0 – My First Review

Today’s header image is based on the cover art for Learning ASP.NET Core 2.0
at Packt Publishing
One of my New Year’s resolutions for 2018 is to read more. It’s not that I don’t read a lot anyway
I’m part of a monthly Pratchett book club, for instance
but I don’t tend to read technical books that often. Sure I’ll tackle the greats and the important books in my industry
just before Christmas 2017, I wrote a “top 10” on my other blog
But I’ve yet to sit down and read any on .NET Core or ASP NET Core. This was a conscious decision on my part, because a lot of things changed between version 1 and 2 meaning that a lot of the early books where quickly outdated.
That all changed in the New Year though, as I thought I’d give a few .NET Core 2 related books a chance. As good as the source code is
and it’s always the single source of truth
and as good as the documentation is becoming, sometimes it’s a good idea to read through the organised thoughts of someone who has taken the time to master a technology
bless you for thinking, “like this blog?”
So I’ve gone an bought a bunch books on .NET Core, ASP NET Core, and EF Core in the hopes of reading through them and filling in what ever gaps I might have. I also thought I’d go through each one, after I’ve read them and collected my thoughts on them.
Without further ado
whatever did I do with my ado?
Before We Continue
Just before I go into my thoughts on this book, these are my views and thoughts and I am not being paid or endorsed for them. I’ll add a link for purchasing the book in the next section, if you choose to click through and buy the book I will make nothing from the link.
I just wanted to make that clear, before we go any further.
Learning ASP.NET Core 2.0
Learning ASP.NET Core 2.0 is co-authored by Jason De Oliveira and Michel Bruchet, is published by Packt Publishing and was released in December 2017. Its ISBN 13 is 9781788476638 and you find the book for sale here.
If you’d prefer a GoodReads link, then click here
The first thing you notice about this book is that it has a whopping 516 pages, which is only slightly shorter than C# in Depth. I’ve included the comparison as I recently finished re-reading C# in Depth, so the comparison made sense to me.
Initial Thoughts
There are a few times in the opening sections where De Oliveira and Bruchet seem to confuse .NET Core and ASP NET Core with each other. I’m not sure whether this was intentional or whether it was accidental, but it’s completely understandable though I could see it being confusing for developers who are completely new to the entire .NET ecosystem.
someone who is a node developer, for instance
The first few sections of book cover installation of the SDK and IDEs required to develop ASP NET Core applications on all three major OS platforms:
- Windows
- MacOS
- Ubuntu 16.04
Some of the steps that are included are out of date and have changed, but there are notes explaining that the steps will likely change in newer (now current) versions of the tools. This extends to the use of Bower, which is a tool that De Oliveira and Bruchet recommend using but that has been end of life’d as of October 2017
I wonder what the turn around of publishing a book is. Its likely that Bower was end of life’d after the book was written but before it was published
The authors even cover VSTS (Visual Studio Team Services) and the basics of Agile and CI/CD, including how to connect Visual Studio to VSTS and pulling from git via Team Explorer in Visual Studio. Even some useful git functionality (feature branches, push pull, and commit) but these are from a 10,000 foot view and are not very detailed
as they’re not the primary focus of the book
The main focus of the book is on building a Tic-Tac-Toe game with some pretty advanced ASP NET Core stuff. This includes the use of middleware
which I’ve covered before, on this very blog
and a, rather basic, message pipeline in Javascript.
This book does not cover SignalR. There is a section on using websockets for real time communication, andDe Oliveira and Bruchet recommend looking into SignalR as it wasn’t available when they were writing the book. It makes sense to use a stable technology in the book rather than SingalR, as it was in Alpha when the book was written and it would have changed shortly after the book was published.
Just like the ASP NET Core for Beginners MVA Course, this book starts with an empty console application
the result of running dotnet new console
(i.e. “Hello, World”)
and builds everything for the game on top of that.
Depth of Content
Compared to C# in Depth, I flew through this book: where C# in Depth took around a month to complete (reading between one and two hours a day on weekdays), Learning ASP.NET Core 2.0 took me just under a week (with the same reading schedule).
if you’re interested, I read this book on my Kindle Paperwhite during my commute and using the Packt online reader in the evenings.
Where Jon Skeet goes into masses of detail, describing each new important addition to the C# language, De Oliveria and Bruchet speed through building an application with ASP NET Core 2. They accomplish a quick read by having whole sections based around a very simple two step tactic:
- Copy the following code, which does X
- You now know how to implement X
This leads to a fantastically quick read
especially since I was reading this on my morning commutes
but I feel like I lost out a little by not reading at my computer and copy/pasting the code. Especially since almost everything after the half way mark in this book takes this approach.
Then again there were sections where I had spotted issued with the code or screenshots. These have since been fixed for the digital versions of the book, but anyone with physical copies of the book will still have those issues
the same thing would plague any physical book, I guess
One of the issues that I spotted was a possible account enumeration issue. Although the application that De Oliveira and Bruchet build in this book is an extremely simple one and readers wouldn’t be expected to use blocks of code verbatim
I would probably use TypeScript for client-side stuff, but it would be out of scope for the book
in a real-world application, account enumeration would be a very real security issue.
Would I Recommend This Book?
There’s a neat application behind this book in the form of a Tic-Tac-Toe game with external auth providers, a method for creating games and inviting players, and a leader board of sorts. All of that is pretty impressive in itself, and its definitely worth reading the book to find out specifically how De Oliveira and Bruchet implemented them.
However, the print and ebook bundle for the book is currently
at the time of publishing this article
£24.70 (with the eBook being listed at £8.60). Whether, what becomes a copy/paste-a-thon after the halfway mark is worth paying that much is down to personal preference. I managed to pick up the eBook version (from Packt) for £4.80 during a sale, and I feel like it was worth about that much.
That might sound really harsh, but remember that half of this book reads like a series of blog posts which you’re encouraged to copy/paste along with.
I can see this book being a useful starting point for anyone who knows nothing about either .NET Core or ASP NET Core, but if you have any experience with those technologies then there will be little for you in this book.
Maybe I went into this book expecting too much, having a fair bit of experience with both .NET Core and ASP NET Core
as I hope you’ll agree
I didn’t get a huge amount out of reading this book. I picked up on some cool things here and there, as I’m sure we all do when reading through blog posts.
Have you read this book? What did you think to it?
If you have yet to read any books on .NET Core or ASP.NET Core, what’s stopping you? Is it the same issue I had: that everything changes, and very quickly during the first few major versions of a technology or framework?