A cross-platform .NET UI library that brings native UI development simplicity to the web using web technologies.
Ooui is a cross-platform UI library for .NET that enables developers to build web applications using a native object-oriented UI API. It translates .NET UI code into web technologies, allowing interactive applications to run in browsers with real-time synchronization between server and client. The library supports multiple deployment modes, including a built-in web server, ASP.NET Core integration, and WebAssembly for client-side execution.
.NET developers, especially those familiar with Xamarin.Forms or Windows Forms, who want to build web applications without learning frontend frameworks like React or Angular. It's also suitable for teams looking to share UI logic across web and native platforms.
Developers choose Ooui because it allows them to use their existing .NET skills and codebase to create web UIs, reducing the need to learn new web-specific technologies. Its integration with Xamarin.Forms enables code reuse across mobile and web platforms, and the WebAssembly support offers client-side execution without server dependencies.
A small cross-platform UI library that brings the simplicity of native UI development to the web
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables web application development using .NET that runs on any browser, eliminating the need to learn JavaScript frameworks, as emphasized in the key features for cross-platform support.
Provides a native UI programming model similar to Xamarin.Forms, allowing .NET developers to leverage existing skills without deep web technology knowledge, as stated in the philosophy.
Offers multiple modes including built-in web server, ASP.NET Core integration, and WebAssembly, giving developers choices for server or client-side execution based on project needs.
Uses web sockets to keep UI in sync between server and browser, enabling interactive applications without manual AJAX calls, as described in the 'How it works' section.
Real-time sync relies on web sockets, which can fail in restricted network environments, increase server load, and complicate deployment in firewalled setups.
The library provides basic HTML elements, requiring developers to build custom components for complex UIs, unlike mature web frameworks with extensive pre-styled libraries.
Client-side execution via WebAssembly may result in larger initial load times and higher memory usage, as hinted in the experimental samples and WebAssembly mode descriptions.