Book Review: ASP.NET Core 2 and Angular 5
Book Review: ASP.NET Core 2 and Angular 5
A seasoned ASP.NET developer discusses his experience with doing a technical review of a software development book. Read on to see what he has to say.
Join the DZone community and get the full member experience.Join For Free
Jumpstart your Angular applications with Indigo.Design, a unified platform for visual design, UX prototyping, code generation, and app development.
Last fall, I did my first technical review of a book written by Valerio De Sanctis, called ASP.NET Core 2 and Angular 5. This book is about how to use Visual Studio 2017 to create a Single Page Application using ASP.NET Core and Angular.
About This Book
The full title is " ASP.NET Core 2 and Angular 5: Full-Stack Web Development with .NET Core and Angular" and was published by PacktPub and also available on Amazon. It is available as a printed version and via various e-book formats.
This book doesn't cover both technologies in depth but gives you a good introduction on how both technologies are working together. It leads you step-by-step from the initial setup to the finished application. Don't expect a book for expert developers. But this book is great for ASP.NET developers who want to start with ASP.NET Core and Angular. This book is a step-by-step tutorial to create all the parts of an application that manages tests, including their questions, answers, and results. It describes the database as well as the Web APIs, the Angular parts and the HTML, the authentication and, finally, the deployment to a web server.
Valerio uses the Angular-based SPA project, which is available in Visual Studio 2017 and the .NET Core 2.0 SDK. This project template is not the best solution for bigger projects, but it fits good for small size projects as described in this book.
About the Technical Review
It was my first technical review of an entire book. It was kinda fun to do this. I'm pretty sure it was a pretty hard job for Valerio because the technologies changed while he was working on the chapters. ASP.NET Core 2.0 was released after he finished four or five chapter and he needed to rewrite those chapters. He changed the whole Angular integration into the ASP.NET project, because of the new Angular SPA project template. Also, Angular 5 came out while he was writing. Fortunately, there weren't a lot of relevant changes between version 4 and version 5. I know this issue well, i.e. writing good content, while technology changes. I did an article series for a developer magazine about ASP.NET Core and Angular 2 and both ASP.NET Core and Angular changed many times. And they changed again right after I finished the articles. I rewrote that stuff a lot and worked almost six months on only three articles. Even my Angular posts in this blog are pretty much outdated and don't work anymore with the latest versions.
Kudos to Valerio, he really did a great job.
I got one chapter after another to review. My job wasn't just to read the chapters but to find logical errors, mistakes that would possibly confuse the readers, and also to find not working code parts. I followed the chapters as written by Valerio to build this sample application. I followed all the instructions and samples to find errors. I reported a lot of errors, I think. And I'm sure that all of them were removed. After I finished the review of the last chapter, I also finished the coding and got a running application deployed on a web server.
Readers Reviews on Amazon and PacktPub
I just had a look into the readers' reviews on Amazon and PacktPub. There are not, currently, a lot of reviews, but, unfortunately, there are (currently) 4 out of 9 reviews talking about errors in the code samples. Mostly about errors in the client side Angular code. This is a lot (in my humble opinion). This makes me sad. And I really apologize for that. I was pretty sure I found almost all the mistakes, or at least those errors that prevent an application from running. Because I got it running in the end. Additionally, I wasn't the only technical reviewer. There was Ramchandra Vellanki who also did a great job, for sure.
What happened that some readers found errors? The two reasons I thought of first:
- The readers didn't follow the instructions really carefully. Especially experienced developers who really know how it works or how it should work, from their perspective. They don't follow the instructions exactly because they know, by and large, how to use the platform. I did this as well during the first three or four chapters and I needed to start again from the beginning.
- Dependencies changed since the book was published. Especially if the package versions inside the package.json were not fixed to a specific version.
npm installthen loads the latest version, which may contain breaking changes. The package.json in the book has fixed version, but the sources on GitHub don't.
I'm pretty sure there are some errors left in the code, but, in the end, the application should run.
Also, there are conceptual differences. While writing about Angular and ASP.NET Core and while working with it, I learned a lot, and, from my current point of view, I would not host an Angular app inside an ASP.NET Core application anymore (maybe I'd think about doing that in a really small application). Anyway, there is that ASP.NET Core Angular SPA project and it is really easy to set up an SPA using this. So, why not using this project template to describe the concepts and interaction of Angular and ASP.NET Core? This keeps the book simple and short for beginners.
I would definitely do a technical review again if needed. As I said, it is fun and an honor to help an author to write a book like this.
It's too bad that some readers struggle about errors anyway and couldn't get the code running. But writing a book is hard work. And we developers all know, that no application is really bug-free, so even a book about quickly changing technologies cannot be free of errors.
Published at DZone with permission of Juergen Gutsch , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.