Adventures in Technical Editing – Three Recent Packt Book Review Projects

2019 was a busy year for me, as evidenced by the relative inactivity on my other blogs:

One of the activities that limited my 2019 blogging time was serving as a technical reviewer for three different .NET related books from Packt Publishing. All three of these books were released in the last few weeks.

Hands-On Parallel Programming with C# 8 and .NET Core 3

This book, written by Shakti Tanwar, is intended for experienced .NET developers who want to build a deep understanding of parallel and async programming with C# and .NET Core. Most of the concepts here apply just as well to .NET Framework developers, so I wouldn’t shy away from this one if you’re not using .NET Core in your projects.

I use async/await, the TPL and parallel programming concepts quite a bit in my daily work, and I still learned quite a bit from this book. I definitely recommend it if you want to build some degree of parallelism into your applications.

Learn ASP.NET Core 3

The 2nd edition book, written by Kenneth Yamikani Fukizi, Jason De Oliveira, and Michel Bruchet, details what you need to get up to speed with .NET Core 3, ASP.NET Core 3 and Entity Framework Core to build modern web applications while leveraging Microsoft Azure along the way.

The authors touch on a little bit of Blazor, one of today’s hottest .NET topics, and give some great advice for building, testing and deploying web applications with ASP.NET Core 3. If you’re familiar with .NET and ready to get into ASP.NET Core, this Packt book provides some good foundations.

C# 8 and .NET Core 3 Projects Using Azure

This second edition book by Paul Michaels, Dirk Strauss, and Jas Rademeyer is written in a fun & useful format. Each chapter is a stand-alone project that drills down into an aspect of C# and/or .NET Core development, and all of the code can is available to readers to try for themselves.

Readers will learn things like Entity Framework Core, rich UWP app development, Azure Functions, ASP.NET Core, and lots more. Some chapters will be useful to any developer, but the majority of the topics here will be most useful to devs with some .NET experience. I like this one and have recommended it to the developers on my team.

Wrapping Up

Let me know what you think of these books. Have you read any of them? What is on your reading list for 2020?

Happy learning!

Take Your Xamarin Skills to the Next Level with Ed Snider’s ‘Mastering Xamarin.Forms’

There aren’t a lot of great Xamarin books available, but you can add this one to the shortlist. Packt Publishing’s Mastering Xamarin.Forms (3rd Edition) by Ed Snider is a fantastic reference for mobile developers. If you’re a .NET developer with at least some exposure to Xamarin development, this book will give you the knowledge you need to build great mobile apps with Xamarin.Forms with Visual Studio on your Mac or Windows environment.

Snider takes my favorite approach when writing the book. He builds an end-to-end sample app throughout the book, building onto it with the patterns and practices learned in each chapter. For me, getting hands-on and building a real-world app while reading a book or watching a video training course reinforces the lessons. The app in this book is a TripLog, which can be used as a travel log or diary.

After creating the project and a couple of initial screens, Snider dives right into some patterns for mobile app development, starting with the MVVM (model-view-view model) pattern. With each pattern or practice, he explains the concept, how to implement it in Xamarin.Forms and .NET, and then explains how our apps benefit from the implementation. For MVVM, he goes into data binding and validation, which become trivial with the pattern.

The next several chapters detail best practices for navigation, leveraging dependency injection to create platform-specific implementations across iOS, Android or UWP on Windows, and some UI tips for handling platform differences through custom renderers. Snider pulls some Azure concepts into the book with Azure Functions. Learn to make API calls from an app service into Azure Functions and then add authentication to Azure Functions and a login screen to the app. I’ve never used any data caching frameworks in my mobile apps, so the section on Akavache for caching was really helpful. It was pretty trivial to add some offline caching to the Xamarin app.

The unit testing section is really thorough. I have seen many .NET books that just glance over the topic of unit testing and best practices for testing, but Snider really gives a solid base for readers here. Finally, in the final chapter, monitoring is covered. He mainly explains how to set up Visual Studio App Center to track some usage and the health of the app while it’s running out in the world. When optimally configured, this data can give the information developers need to keep their user base happy and engaged. Kudos to Ed Snider for a really well-written book for Xamarin.Forms developers. I strongly encourage you to check it out if you’re getting serious about building mobile apps.

Full disclosure: I received a free review copy of this eBook from Packt Publishing. The opinions in this review are completely honest totally my own.

C# 8 and .NET Core 3 Modern Development

The Dew Review – C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development (Packt) by Mark J. Price

I received a preview copy of this new book, C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development, by Mark Price and wanted to provide some of my initial thoughts. I have reviewed the topics covered by the book and read several sections in detail to get a sense of who could benefit from reading it and how well it was written. So far, I have been very impressed by the quality, breadth, and depth of this book.

C# 8 and .NET Core 3 Modern Development

I would recommend this book to several different types of developers:

  1. New, aspiring developers – The book offers some great history on .NET development and lays a solid foundation for starting your development journey with Visual Studio, VS Code or VS for Mac. Language and framework fundamentals are explained and enhanced with useful exercises at the end of each chapter, reinforcing the concepts. Some basic development concepts/practices, such as inheritance and unit testing, are discussed in the early chapters.
  2. Experienced .NET Framework developers new to .NET Core – The chapters on .NET Core and ASP.NET Core step through the changes and enhancements that were significant to each release. There is a section on porting apps from .NET Framework to .NET Core, discussing how this can be done and whether it should be done (hint: usually not).
  3. Developers using .NET Core who are new to .NET Core 3.0 – There are some sections on the latest features of .NET Core 3.0, including Blazor and desktop development with WPF and WinForms Core apps on Windows.

While some of the more specific aspects of .NET development like ASP.NET Core, Blazor and Xamarin are not discussed in great depth, the author explains the basics well and provides a good kick-start on these topics. Readers can take what they learned on them here and go deeper with some other, more specific books. If you’re looking to build your first ASP.NET Core MVC or ASP.NET Core WebAPI project, this book gives enough details to give you a great start in those areas, in my opinion.

I work on a team that focuses on our application performance, so the chapter on Performance and Scalability was of particular interest. The author provides a solid introduction to .NET Core performance topics, including asynchronous programming with Tasks, locking concepts, and using async and await to keep your app responsive.

The section on Machine Learning with ML.NET is a great intro to machine learning concepts for developers with little to no exposure to it. It steps readers through the process of building a website that provides product recommendations based on a trained model and displays those recommendations in the site’s shopping cart.

I have really enjoyed this book so far. I’m looking forward to getting a print copy to continue exploring it. For me, print is the best way to get the most out of this kind of programming book. Shorter books on specific topics can work better as eBooks, but I like to keep copies of large reference books on my desk to quickly flip to earmarked pages. Check out the free Kindle sample on Amazon. I think you’ll like what you read and will want to order a copy for yourself.

Happy reading!