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!

Morning Dew eBook Giveaway – Win Manning’s Functional Programming in C#

EDIT: So, I got no tweets following the guidelines below, so I will be choosing three winners from the post comments here. Winners will be notified shortly! Thanks, all!

Hey! It’s been a while since we did a giveaway here on the Dew. Let’s get one started today.


Manning Books has given me three codes for eBook copies of Functional Programming in C# written by Enrico Buonanno. Here’s the summary of the book from Manning’s site if you’re click-averse:

Functional Programming in C# teaches you to apply functional thinking to real-world problems using the C# language. The book, with its many practical examples, is written for proficient C# programmers with no prior FP experience. It will give you an awesome new perspective.

Let’s keep the rules simple. You can enter in two different ways.

  1. Leave a comment on this post with the name of another .NET language book that you love. I’m always looking for recommendations.  Smile
  2. Make sure you follow me on Twitter, and tweet a message including the following five things:
  • @alvinashcraft
  • @manningbooks
  • @la_yumba
  • #MorningDewCsharp
  • Your favorite C# language feature in C# 7 or later

I will select one winner from the eligible tweets and two winners from the blog comments. Selections will be random, but you cannot win twice. I will select again if I pick the same person from both Twitter and blog comments. You must comment or tweet by 11:59pm GMT on Feb. 22nd, 2019. Winners will be notified by the end of the day on Feb. 25th, 2019. Tweet winner will be notified by Twitter DM. Blog comment winners will be notified by email.

Good luck!