Umbraco .NET Core Mastery is a book written to help teach developers more about web development using Umbraco 10 (or 9). If you are a developer who wants to learn more about Umbraco 10 and .NET CORE, ASP.NET 5/6, you might be wondering if this book is worth purchasing 🤔🤔🤔
If you are interested to find out, read on 🔥🔥🔥
Before we get to the review I should make a disclaimer. I am the author of Umbraco .NET Core Mastery. Even though I wrote it, I promise to be objective about the greatest book ever penned by an author 😉
You can purchase Umbraco .NET Core Mastery from LeanPub here. The payment scheme in LeanPub is a bit like a Kickstarter campaign, you pay what you want (within reason). You can purchase a copy for a minimum of $12.50, however, if you want to support me then my suggested purchase price is $19.99. You are also free to give more 😉
The book is 272 pages long and it contains over 10 Jampacked chapters. The topics of each chapter will be covered in detail shortly, however, expect to find information about every aspect of building a website using Umbraco CMS.
I spend 7 months of my life and over 1200 hours writing this book. If you decide to purchase a copy you will be able to download it as either a PDF, a MOBI or an EPUB. If you decide to purchase a copy of the book, you will also be entitled to download any future updates for free 💰💰💰
My aim with this book was to be useful for everyone. I wanted to teach developers that are not familiar with Umbraco to become advanced power users. I also wanted to help Umbraco pros who were less familiar with .NET Core development become a lot more familiar with it.
Topics covered within this book include installing and configuring Umbraco for development, setting up your PC for success, content modelling, how to build pages within Umbraco, Umbraco API 101, composers and components, extending the backend, working with members and editors at the code level, building multiple language websites, building micro-sites, performance and general Umbraco good practices.
As you would expect from a tech book, there are lots of screenshots and code samples. In the areas where you learn how to do certain tasks within the Umbraco backend, there are screenshots to show you which screens you need to access and what buttons you need to click. The book also contains over 100 code samples. Every time I explain how to implement something, I also include what the accompanying code should look like.
Within this book, I try to combine a mix of the basics and the advanced stuff. The book starts off focused on the fundamentals, how to get Umbraco installed and build a web page. It then slowly moves into the more advanced territory.
If you have come across my website, or youtube channel then you will hopefully appreciate that my intention when mentoring people is to not just regurgitate the steps you need to follow. My aim is to help you to develop Umbraco craftsmanship.
When it comes to architecture I do not try to pretend that my preferred way of building something is the only way. Wherever there are different architectural approaches, I highlight the most popular solutions that are used to solve the problem. I always aim to objectively give you the pros and cons of each architectural approach so you can pick the option that best suits your needs.
The next question to answer, is what exactly will you learn from this book? The good stuff starts from Chapter 2. Here you will learn how to install Umbraco. The aim of this chapter is to add some colour to best practices. How should you structure your solution, folders and class libraries in a way that has been proven to be effective? Hosting a dev site locally is slightly more complex in v10. This is why you will learn how to set up your dev site in both IIS and docker, as well as understand which option is the best for optimal development.
In chapter 3 you will learn about content modelling. How to take a design, or a wireframe and turn it into Umbraco components. You will learn about all 40+ Umbraco property types, what they do and how to implement each type in code. You will learn all about page templates, known as document types in Umbraco land. You will also learn how to generate C# models based on the document types you create.
Next, you learn how to create web pages based on your document types. In order to create any type of page on your website, like a Umbraco-powered web page, a Sitemap.xml, a form that posts data back to the server, or an RSS feed, you will need to learn about one of the most important topics in CMS development, routing. CMS routing is different to vanilla .NET Core routing. Understanding these differences is key to keeping your sanity during a project 🤪
You will learn about all the different types of controllers that come out of the box with Umbraco, when you should use each type and how they differ from the default .NET Core controller. Within this chapter, you will also learn about a new .NET Core feature that is very useful when creating blocks, a view component. View components will help you to create a more modular architecture while also improving your page load times!
Chapter 5 covers the Umbraco APIs. You will learn how to query the CMS in code. You will learn about the differences between published and non-published content. This is key if you want to create backend extensions or update content in code. You will also learn how to search for content and build a search page using out-of-the-box features!
In Chapter 6 you will learn how you can extend Umbraco. You will learn how you can hook into events, how to register code to trigger when the CMS starts, how to set up error pages like a 404 and how to configure the dependency injection container. These are the features that will allow you to really customise how Umbraco behaves.
Chapter 7 is focused on extending the Umbraco backend. You will learn how to create custom backend screens, sections, dashboards, trees and content apps. Basically, after this chapter, you will be able to extend the backend to include any custom feature that you want to include within your project!
Chapter 8 is mainly focused on creating a membership website. Out-of-the-box, Umbraco ships with all the features required to build a member area within your website. You will learn how to define a member profile within the CMS and how to build a login component on a webpage.
Chapter 9 will teach you how to build a website that supports multiple languages. There are a few ways in which you can structure your Umbraco page tree structure to work optimally with a multiple language website. You will learn to think about your content strategy and how that feeds into the code that you will need to write.
Chapter 10 wraps up the book. In this chapter, you will get advice on how to upgrade from Framework to Core. You will also learn how to upgrade from v9 to v10. The final section is on performance. Unfortunately, you will not be able to copy your old .NET Framework performance code into your new .NET Core solution as it will not work. Instead, you will need to completely redo your optimisation strategy. Learn what middleware you need to enable and how!
That covers what you will get for your $15.00. If you want to learn about Umbraco, this book will help you and for the price, it is one of the cheapest resources out there. If you buy a copy I would love to hear your feedback. Good luck on your Umbraco mastery path! Happy Coding 🤘