Oqtane 3.2 For .NET MAUI & Blazor Hybrid
By: Shaun Walker
The 3.2 release introduces some powerful new multi-platform capabilities based on .NET MAUI and Blazor Hybrid, as well as additional performance optimizations and developer experience improvements.
The Oqtane Philosophy highlights "flexibility" as one of overarching principles for the framework. Flexibility can manifest itself in a variety ways, but in particular, the fact that Oqtane is based on Blazor means that it has always been a goal for the framework to support all of the Blazor hosting models available. The latest Blazor hosting model released by Microsoft as part of .NET MAUI is Blazor Hybrid, which allows developers to create applications that can run natively on Desktop and Mobile devices. We are excited to announce that Oqtane now offers first class support for Blazor Hybrid.
Blazor Hybrid enables Oqtane to be a true cross platform solution for developing and deploying micro-frontend applications on any device. To be more specific, we are referring to micro-frontends which can be seamlessly developed, packaged, and deployed independently from the host application. One of the biggest challenges in any client/server model is upgrading client installations, and Oqtane offers a dynamic servicing model which allows micro-frontends to be updated in real-time without upgrading the entire client application.
Some significant performance optimizations were also included in this release, targeted at initial page load scenarios. The initial page load in a single page application (SPA) requires more processing than subsequent user interactions, as the browser needs to download all of the required application resources as well as render the initial page. In this release four separate HTTP requests were combined into a single request which retrieves the collection of pages, modules, and languages for a site. Server-side caching was also enabled in a few key scenarios to reduce interactions with the database. These changes resulted in a 65% performance improvement for the initial page load scenario.
File management received a number of notable improvements in this release as well. The serving of files is now abstracted from the underlying folder structure and uses standard url paths for identifying files. Cross platform folder support was improved and management of broken file links has been integrated wih the existing Url Mapping capability. Oqtane developers will benefit from the upgrade to Bootstrap 5.2, the ability to set a module's title or visibility programmatically, and the ability to create and distribute module translation packages. A new ReturnUrl property was added to the ActionLink component to preserve state between module transitions, and new features were added to improve the usability of Url Parameters.
This release includes 49 pull requests by 6 different contributors, pushing the total number of project commits all-time to 3051. The Oqtane framework continues to evolve at a rapid pace to meet the needs of .NET developers. The 3.2.0 release is available for download on Github and is running in production at https://www.oqtane.org and https://www.blazorcms.net.