Umbraco 9 is the first version to be transferred from.NET 4.x to.NET 5.0. In addition, V9 now reaches platform independence for the first time, allowing hosting on operating systems other than Windows (IIS) for the first time. These advancements provide the Umbraco community with a plethora of new outcomes while also making them easier to manage.
The Unicore project at the Umbraco MVP Summit 2019 kicked out the creation of Umbraco 9 to migrate the backend architecture of Umbraco 8 to the.NET 5 framework and the ASP.NET Core 5 web framework. This culminated in two years of Umbraco 9 development. Umbraco V9, on the other hand, is not reinvented but rather transferred to.NET Core piece by piece.
The first beta version of Umbraco 9 was released in April 2021. All elements and functionalities available in Umbraco 8.13 were previously included and converted to the most recent version of the Microsoft tech stack at the time. The very first released prototype has also been accessible for community testing from July 2021. Not only here, but throughout the overall process, as is customary, a strong focus was placed on the community's active participation. The so-called Unicore Team, coordinated by Bjarke Berg and made up of community activists and some HQ members, took responsibility.
The Microsoft.NET Framework has always been used by Umbraco. The decision to migrate Umbraco to.NET Core was made long before Microsoft declared in 2019 that there would be no more releases of the.NET Framework 4.8. Even though Long Term Support (LTS) for.NET Core 5 is unavailable, Umbraco will be made future-proof and open for additional development. Projects built with Umbraco 9 should be easily updated once.NET 6 LTS is published (expected in November 2021), while Umbraco itself will remain dependent on ASP.NET Core 5.
Aside from future-proofing, the shift has many other benefits—Microsoft redesigned.NET Core, with one of the main goals being optimal performance. As a result of the upgrade, Umbraco will see a significant performance boost. It can use modern technology and software, leading to a performance boost of 100 to 1000 percent, depending on the application (source: Umbraco). Furthermore, scalability on the hardware level is much higher.
Umbraco is now platform-independent for the first time, thanks to the migration to.NET Core. This means that Umbraco can now be utilized on Linux and macOS in addition to Microsoft Windows. Current constraints on new macOS gadgets should be addressed as soon as possible with.NET 6. This expands Umbraco's user base, as well as its hosting and architecture options. As a result, the Umbraco community has tremendous development potential!
Another benefit of Umbraco 9 is its support for Kubernetes and Docker technologies, which makes it platform-independent. What was difficult to perform under Windows in V8 is now possible, allowing Docker to be used with Microsoft and macOS.
Many adjustments were required to upgrade Umbraco to the newest version of.NET and use the benefits that came with it. Since V8, the appearance hasn't changed much; the difference is only visible in the code. Some instances are as follows:
Authentication of Users and Members
Rather than just the two authentication choices available in Umbraco 8, ASP.NET Identity and Membership Sources, ASP.NET Core Identification can now be utilized to implement both types of authentication. In the long term, this simplifies maintenance, and most of the code can be utilized with both approaches.
Dependencies on Third Parties
Umbraco 8 uses various third-party dependencies that weren't designed to work with.NET Core in the first place. Many of them could be updated to be compatible, while others had to be rebuilt. V9 now leverages the dependency injection (MSDI) built into.NET Core instead of using an external package. This provides consumers with more flexibility and adaptation to their specific workflows.
Installation of Packages
Umbraco's installation process had to be completely overhauled. Dotnet new templates can now be utilized instead of loading the Umbraco package into a blank web project. These themes must be installed using the open-source package manager NuGet before using the CLI, Visual Studio, or Rider.
Aesthetically pleasing architecture
Umbraco CMS has long prided itself on being a flexible and highly adaptable platform for developers. The developer environment in Umbraco 9 receives a boost in the correct direction. You'll notice that the structure and overall architecture have been enhanced, whether you're contributing to Umbraco or producing projects for a client. It's now easier to locate what you're looking for, and we've aligned ourselves even more with framework patterns like Configuration and Microsoft Dependency Injection.
Modules for Umbraco 8 will not run on the new framework and will need to be moved. The Umbraco 8 platform will continue to be improved and updated by headquarters. After the last minor update, they pledged at least three more years of maintenance and bug fixes. Here's where you can learn more about it. Future Umbraco 8 modifications and additions will be incrementally integrated into the.NET Core version.
We at royex are thrilled about the limitless perspectives that Umbraco 9 will bring to our daily project work, and we look forward to the flourishing Umbraco community. H5YR!
Frankly speaking, with bold confidence, we breathe and sleep Umbraco CMS. We are that much closer to this CMS environment. We've built several successful Umbraco websites with personalizing and customizing Umbraco to meet the specific company needs. We have Umbraco Masters on staff and host the Umbraco website in a way that will meet your expectations and business needs.
To increase your website's operation and results, we develop fantastic website experiences and integrate best-in-class solutions. Beyond creation and maintenance, we also provide managed digital marketing services to assure your success. As a Umbraco partner, we have well-seasoned industry-recognized developers who can use Umbraco 9 to reach business opportunities with long-term success.