News
Project Oqtane Provides Blazor-Based Modern App Framework
The .NET Foundation recently shined a spotlight on Project Oqtane, a modern application framework for Blazor, Microsoft's red-hot open source project that enables web development in C#.
Blazor, in the works for a couple years now, is a game-changing framework that leverages WebAssembly as a binary instruction format, acting as a compilation target for C# code. By obviating the need to use web mainstay JavaScript, a whole new world of web development is opened up to .NET-centric coders.
The project was the latest to be highlighted by the .NET Foundation, an independent, non-profit organization established to support an open source ecosystem around the .NET platform, working hand in hand with Microsoft.
"Oqtane is a modular application framework which accelerates the development of modern digital experiences," the .NET Foundation said. "It was architected from the ground up to utilize Blazor, a modern single-page application framework for building interactive web apps with C# and .NET. Oqtane offers advanced capabilities such as multi-tenancy, a fully dynamic page compositing model, designer friendly themes, extensibility via third party plug-in modules, a headless API, and supports Blazor Server and Blazor WebAssembly hosting models."
The project is headed by creator Shaun Walker, who discussed his brainchild in a recent .NET Foundation video.
"Rather than building applications from the ground up in sort of a in a static way, the idea behind a modular framework is that you basically get a complete foundation of an application to build on top of and then you focus on building your specific business applications as modules which sort of seamlessly plug in to the overall foundation to create a cohesive application," explained Walker. "There's a lot of benefits of doing things in a modular way in that you can ... break down the problem into smaller pieces. You can develop them independently from the main application. You can deploy them independently."
Walker -- who also created the popular DotNetNuke (now DNN) web CMS -- announced Oqtane 2.0 for .NET 5 during the latter's debut last fall at Microsoft's .NET Conf 2020. The next update is scheduled for the first quarter of this year.
The project's GitHub site states Oqtane was inspired by Walker's DotNetNuke web application framework. "Initially created as a proof of concept, Oqtane is a native Blazor application written from the ground up using modern .NET Core technology. It is a modular application framework offering a fully dynamic page compositing model, multi-site support, designer friendly templates (skins), and extensibility via third party modules."
As it's a still fairly young, developing project, the documentation is skimpy, with one page stating, "Here we would like to explain why Oqtane works the way it does," followed only by one entry about DLL handling. The API documentation is much more robust, however.
Walker in November said Oqtane would be transferring development to .NET 5 immediately, while also announcing localization support spearheaded by a community contributor.
The project's
roadmap indicates that for the next update, coming this quarter, the following is planned:
- Complete Static Localization of Admin UI
- Cross Platform Database Support ( ie. SQLite )
- EF Core Migrations for Database Installation/Upgrade
Last November, Walker provided further updates on the project. "Since the official 1.0 release in May 2020, the Oqtane community has continued to grow and expand," he said. "To date, the open source repository has attracted 568 pull requests from 21 contributors and has published 6 official releases, which ranks it among the most active open source projects within the .NET Foundation. We also need to recognize the expert assistance and encouragement we have received directly from members of the Microsoft ASP.NET team including Daniel Roth, Steve Sanderson, Pranav Krishnamoorthy, and Safia Abdalla."
For the future, Walker in his video talked more about the next major feature for Oqtane as requested by the community: support for other databases beyond its default support for SQL Server variants. Along with the aforementioned SQLite, he mentioned MySQL and Postgres specifically. He also noted continued work on localization.
Walker also encouraged more community involvement, noting that developers who might be uncomfortable with technical pull requests would especially be welcomed to shore up the project's documentation, which he described as "a weak area."
Seeing as how the next update should be landing within the next couple months, developers won't have to wait too long to see how the project is advancing.
About the Author
David Ramel is an editor and writer at Converge 360.