Umbraco 9: The latest major version from Umbraco
As noted in our previous blog, Umbraco 8 uses .NET Framework, which has served the community very well but back in 2016 Microsoft began the journey of launching a newly reimagined open source version of .NET that can be used on almost any device, and is much more performant. It became apparent that the next step for Umbraco was to align with the future direction of .NET.
As of Sept 2021, Umbraco is now a fully-fledged .NET 5 (ASP.NET Core) CMS. A significant milestone, which brings a multitude of new features and benefits.
- Improved performance
- Clean architecture
- Cross platform options
- Familiar UI
- Updated packages
With .NET 5, Umbraco gains a number of the benefits that have been attributed back to the language and optimisations around common functions such as parsing a date, comparing strings or deserialising JSON data. To give you some idea of the performance gains, as reported from benchmarks, improvements range from 50% to 1000% in some cases.
This results in better start up times, faster page loads and a reduced memory footprint on the server. So better for our users, but also for potential hosting costs and usage.
Since Umbraco 9 was moving to an updated version of .NET, this was an opportunity to introduce some underlying structural updates making use of the new concepts introduced by the platform.
Configuration is now using the conventions that many .NET developers have become familiar with in ASP.NET Core, allowing for settings to be defined within environment variables or appsettings or other configuration providers. Dependency injection is aligned with the service collection approach from Microsoft. Middleware can be added within the request pipeline to handle common application scenarios.
The approach being to use as many of the standard ways to do things is a welcome shift and will hopefully provide new developers to Umbraco a comfortable experience from a coding perspective.
Cross platform options
.NET is now an open source, cross platform developer platform. A decade ago, this would have been an odd statement. Developers can use whichever OS they choose with native support across Mac / Windows / Linux. This opens up the community even further and provides the flexibility for Umbraco websites to be developed and hosted anywhere.
During development; VS Code, Rider and Docker are popular and helpful additions to the developer toolset. And from a hosting perspective, the reduced costs of Linux or running Umbraco on a Raspberry Pi are now a reality.
Whilst Umbraco has been updated to a newer version of .NET and a lot has changed under the hood, it’s still pretty much the same Umbraco experience that we know and love. Editors will be given the same back office UI that they are used to, with the added benefit of quicker interactions and feedback.
It’s even possible to migrate an Umbraco v8 website directly to v9 with all of the existing content in place and ready for an updated codebase. In terms of an upgrade path, that should mean that your website visitors and editors don’t really notice much difference!
All of the core Umbraco packages have been updated to work with the latest version. That means that you can deploy your code, schema and content with Umbraco Deploy, or create and edit your forms with Umbraco Forms from the get go. These packages are available by default on Umbraco Cloud and the platform has seen numerous improvements to assist with the developer workflow and make it more scalable.
Within the community, there are also a number of packages that have been upgraded to work with v9 such as Examine for search, ImageSharp for handling images, and Vendr for eCommerce. All packages are now installed via NuGet, a common package manager within the .NET ecosystem.
It’s great to see the activity in this space, enhancing the core Umbraco experience and providing extendability to the platform. It’ll be interesting to see how this develops as v9 matures, with integrations across major services suggested.
Umbraco 9 is a major step up, whilst at the same time being very familiar. It’s the improved performance and developer experience that stand out as the big takeaways, with many other benefits along the way. It’s now the version of Umbraco that will see new features and updates, with v8 moving into a support lifecycle.
This transition has been in progress for a couple of years and has been through numerous release candidates on the way, so you can be sure that the newest version of Umbraco 9 is ready for your projects. Get in touch to see how we can help you.