For a cross-platform framework for desktop applications, the first results are dotnet/maui (This cross-platform framework allows developers to build native desktop and mobile applications from a single C codebase using native UI components and hot reload), ptmt/react-native-desktop (This framework uses React Native to build native desktop applications, matching the target category and supporting native UI components, though it is specifically focused on macOS rather than fully multi-platform out of the box) and unoplatform/uno (Uno Platform is a cross-platform development framework that enables building native desktop, mobile, and web applications from a single C and XAML codebase with hot reload and native UI support). beeware/toga and neutralinojs/neutralinojs round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Open-source libraries and toolkits for developing native desktop software across Windows, macOS, and Linux platforms.
This framework is a cross-platform software development kit designed for building native mobile and desktop applications from a single shared codebase. It provides a unified programming interface that allows developers to construct user interfaces using declarative markup, which are then rendered as native components on each target operating system. The framework distinguishes itself through a multi-targeting build system that consolidates platform-specific resources and native control mapping into a unified project structure. It includes a data-driven binding engine that synchronizes applica
This cross-platform framework allows developers to build native desktop and mobile applications from a single C# codebase using native UI components and hot reload.
This project is a framework for building native macOS desktop applications. It serves as a desktop port of a cross-platform mobile framework, providing a development environment and a native UI library to create software using native system frameworks and a component-based architecture. The framework enables the development of native macOS applications by integrating a JavaScript-based workflow with macOS system-level frameworks. It facilitates cross-platform UI development by allowing logic and design patterns to be shared across different operating systems while maintaining native desktop i
This framework uses React Native to build native desktop applications, matching the target category and supporting native UI components, though it is specifically focused on macOS rather than fully multi-platform out of the box.
Uno is a cross-platform development framework used to build native mobile, web, desktop, and embedded applications from a single C# and XAML codebase. It provides a native UI framework that renders visual elements across different operating systems using shared layout and styling rules. The platform features a hot reload development environment that allows for the modification of code and layouts in a running application without restarting the process. It supports a dual-mode rendering system, offering a choice between a shared cross-platform canvas and native platform controls. The framewor
Uno Platform is a cross-platform development framework that enables building native desktop, mobile, and web applications from a single C# and XAML codebase with hot reload and native UI support.
Toga is a cross-platform application framework and native GUI toolkit for Python. It serves as a multi-platform frontend wrapper that allows a single codebase to be deployed across macOS, Windows, Linux, Android, and iOS. The toolkit functions as a native widget UI library, mapping high-level Python interface definitions directly to the host operating system's own visual components. This ensures that applications use native system widgets to match the look and feel of the target environment rather than relying on custom drawing libraries. The framework covers cross-platform development for d
Toga is a cross-platform Python application framework that maps to native operating system widgets, matching the core intent despite missing built-in web technologies support and hot reload.
Neutralinojs is a lightweight cross-platform desktop application framework that allows developers to build native applications using web technologies and a C++ backend. It serves as a native system API bridge, enabling JavaScript frontend code to execute system commands and manage files across Windows, macOS, and Linux. The project distinguishes itself as a portable runtime that renders interfaces via the system's built-in webview instead of bundling a full browser engine. This approach enables the packaging of web assets into small, standalone executable binaries. The framework provides com
Neutralinojs is a lightweight cross-platform desktop application framework that uses web technologies and a native system API bridge to build small-bundle-size multi-os applications.
This library provides a lightweight framework for building cross-platform desktop applications by rendering web content within native application windows. It utilizes the browser engine already present on the host operating system to display user interfaces, allowing developers to combine web technologies with native system capabilities. The project functions as a bridge between the web environment and the native host, enabling bidirectional communication between JavaScript and native code. By mapping script execution to native functions, it allows frontend interfaces to trigger system-level
This library provides a lightweight cross-platform framework to build native desktop apps using web technologies, though it serves as a minimal embedding building block rather than an all-in-one suite.
wxWidgets is a C++ UI toolkit and cross-platform GUI framework used to develop desktop applications for Windows, macOS, and Linux. It functions as a native widget wrapper, providing an abstraction layer that maps a single set of API calls to the native interface elements of different platforms. The framework allows for the creation of native graphical user interfaces by utilizing the host operating system's own controls and APIs. This ensures that applications maintain a native look and feel across various operating systems while using a consistent codebase. Beyond interface development, the
wxWidgets is a cross-platform C++ GUI framework for building native desktop applications from a single codebase using native widget wrappers, though it relies on C++ rather than web technologies.
Revery is a cross-platform GUI toolkit and functional UI framework used to build native desktop applications for Windows, macOS, and Linux. It utilizes the Reason functional programming language to compile code into machine-level instructions for native execution. The framework employs a component-based model to manage user interfaces, mapping functional components to the underlying native operating system widgets. This approach ensures that applications maintain native performance, behavior, and a consistent look and feel across different operating systems. The toolkit covers the full appli
Revery is a functional UI framework for building native cross-platform desktop applications, though it uses Reason instead of web technologies and lacks hot reload.
react-native-macos is a framework for building native macOS desktop applications using a JavaScript-driven architecture. It functions as a cross-platform UI framework that renders user interfaces directly to native desktop elements and Cocoa components without relying on a web browser. The project provides a native app build tool for bundling code and static assets into distribution files for the macOS operating system. It also includes a native component previewer to verify how individual UI elements render and function within the desktop environment. The framework covers native UI componen
This framework allows you to build native desktop applications using React, though its scope is focused specifically on macOS rather than multiple operating systems.
Wails is a cross-platform framework for building native desktop applications by combining a Go backend with web-based frontend technologies. It enables developers to create lightweight software by utilizing the host operating system's native web rendering engine, eliminating the need to bundle heavy browser dependencies. The framework distinguishes itself through a robust communication layer that bridges the backend and frontend. It automatically generates type-safe JavaScript bindings and proxies from Go code, allowing for seamless, asynchronous method invocation and data serialization acros
Wails is a cross-platform desktop application framework that combines a Go backend with web frontend technologies and native rendering engines, meeting all your core requirements for building lightweight desktop software.
Tauri is a cross-platform framework for building desktop applications that combine web-based user interfaces with a memory-safe systems-language backend. It functions as a secure runtime that hosts web content within native windowing containers, allowing developers to leverage existing web technologies while maintaining high-performance native logic. By compiling applications into small-footprint, platform-specific binaries, the framework avoids bundling heavy runtime environments, resulting in lightweight executables. The project distinguishes itself through a capability-based security model
Tauri is a cross-platform desktop application framework that pairs web-based user interfaces with a memory-safe Rust backend, delivering native windowing, low bundle footprints, and system API access from a single codebase.
Electron is a framework for building native desktop applications using JavaScript, HTML, and CSS. It functions as a cross-platform desktop runtime that combines the Chromium engine with Node.js to enable web technologies to run as standalone applications on Windows, macOS, and Linux. The project serves as a desktop integration layer that allows web-based user interfaces to access low-level operating system APIs. By bridging the Chromium rendering engine with a Node.js environment, it enables a single codebase to be deployed as a native executable across different desktop operating systems. T
Electron is a cross-platform desktop application framework that uses web technologies like JavaScript, HTML, and CSS to let developers build native desktop apps for multiple operating systems from a single codebase.
This framework provides a multi-process architecture for building desktop applications using web technologies. It manages the application lifecycle, window states, and system-level integrations through a primary entry point, while isolating web content in separate rendering processes to maintain stability and security. A secure bridge mechanism facilitates communication between these isolated contexts and the main process, ensuring that privileged system APIs remain protected. The framework distinguishes itself through a comprehensive security model that includes process sandboxing, content p
Electron is the flagship cross-platform desktop application framework that lets you build native apps using web technologies like HTML, CSS, and JavaScript with deep system integration and hot reload support.
This project is a cross-platform UI framework and native desktop GUI library. It provides a unified set of instructions to render native windows, forms, and layouts across different operating systems by mapping high-level instructions to the native widgets and controls of the host environment. The toolkit includes a vector graphics engine for rendering custom shapes, gradients, and high-density images using brushes and matrices. It also serves as a native dialog provider for system-level operations such as file path selection and message box alerts. The library covers a broad range of GUI co
This project is a cross-platform GUI library that uses native OS widgets rather than web technologies, making it a fitting application framework choice though it misses the web-tech requirement.
Electrobun is a desktop application framework and webview-based GUI toolkit used for building cross-platform desktop apps. It provides a TypeScript-based runtime and a native system webview to create interfaces that integrate embedded browser views with host-process logic. The project features a native GPU integration layer with direct FFI bindings, allowing for high-performance GPU surfaces and compute workloads to run within a desktop application. It also includes an inter-process communication bridge using a typed RPC system to exchange data and execute functions between the native backend
Electrobun is a desktop application framework that uses web technologies and a TypeScript runtime to build cross-platform apps with native system integrations, though it is still evolving its feature set compared to more established options.
This project is a TypeScript desktop boilerplate and application template that combines Electron and React for building cross-platform desktop applications. It provides a structural foundation and framework for creating native system applications that bundle web technologies into distributable operating system packages. The project distinguishes itself by providing a hot-reloading desktop environment. This development setup applies code changes instantly to the user interface without requiring manual application restarts, preserving the current interface state through hot module replacement.
This project combines Electron and React to provide a development boilerplate for building cross-platform desktop applications with web technologies, though it serves as a starter template rather than a standalone framework itself.
ReactXP is a framework for building cross-platform mobile and web applications from a single codebase using React. It provides a declarative interface that maps to different native implementation sets depending on the target environment. The project enables consistent visual experiences across operating systems through a flexbox-based layout engine, a virtual stack for navigation management, and a unified native-bridge API for accessing system services. It distinguishes itself with specialized capabilities for declarative animation orchestration, platform-specific logic resolution, and an aut
ReactXP is an application framework for building cross-platform apps from a single codebase using React, though its primary focus is on mobile and web rather than desktop operating systems.
nw.js is a Node.js desktop application framework that combines a Chromium web renderer with a Node.js runtime to build standalone software for Windows, macOS, and Linux. It serves as a cross-platform desktop runtime that allows developers to create native executables using web technologies. The project is distinguished by its integration layer that exposes Node.js system APIs and modules directly to the browser window and web worker contexts. It functions as a native module bridge, enabling the compilation and execution of low-level C++ system code and native addons within a web-based applica
NW.js is a cross-platform desktop application framework that lets you build native executables using web technologies and direct Node.js integration, though it lacks some modern features like built-in hot reload and focuses on Chromium rather than native UI components.
Proton Native is a cross-platform desktop framework that compiles React code into native applications for Windows, macOS, and Linux. It enables developers to build desktop applications using the same component syntax and patterns as React Native, with the ability to reuse existing React Native components with minimal modifications. The framework integrates a flexbox layout engine for positioning native desktop widgets and embeds the Node.js runtime for direct filesystem and system-level access. The framework translates React component trees into native desktop widgets through a bidirectional
Proton Native is a cross-platform desktop application framework that uses React syntax and native UI components across multiple operating systems, though it is currently in an unmaintained state and lacks some modern features.
Avalonia is a cross-platform desktop framework that enables the creation of native-feeling applications for Windows, macOS, and Linux from a single codebase. It functions as a declarative UI toolkit, allowing developers to define complex visual hierarchies and interface structures using a markup-based syntax that maps directly to underlying object properties. By utilizing the Model-View-ViewModel architectural pattern, the framework facilitates a clean separation between application logic and user interface layout, which simplifies unit testing and component maintenance. The framework disting
Avalonia is a cross-platform desktop application framework that uses C# and XAML to build native-feeling desktop software from a single codebase, though it relies on its own rendering engine rather than standard web technologies.
Angular Electron is a project scaffolding tool that generates a preconfigured desktop application template combining Angular's web framework with Electron's native runtime. It produces cross-platform executables for Windows, macOS, and Linux from a single codebase, while providing a development server with hot reload that automatically refreshes the Electron renderer process when Angular source files change. The project handles the architectural complexity of running Angular inside Electron by separately bundling Node.js modules for the main process and Angular modules for the renderer proces
Angular Electron is a scaffolding tool and boilerplate combining Angular and Electron to build cross-platform desktop applications from a single codebase with hot reload, though it relies on web technologies rather than purely native UI widgets.
NodeGUI is a framework for building native desktop applications using Qt6 widgets, controlled entirely from JavaScript and Node.js. It provides a Qt6 Node.js binding that maps native widget classes to JavaScript objects, enabling developers to create cross-platform desktop apps for Linux and Windows with full access to the Node.js ecosystem and npm modules. The framework distinguishes itself by allowing developers to style native desktop widgets with CSS and Flexbox layout rules, without relying on a web browser. It translates CSS properties and Flexbox layout into Qt stylesheet and layout ma
NodeGUI is a cross-platform desktop application framework that uses native Qt widgets controlled via JavaScript and Node.js rather than web technologies, making it a strong fit despite lacking built-in web browser support.
Iced is a cross-platform graphical user interface framework designed for building interactive applications with a focus on type safety and predictable state management. It utilizes a declarative architecture that separates application state, update logic, and view rendering, allowing developers to construct complex interfaces by nesting reusable functional components. The framework distinguishes itself through an Elm-inspired message-passing pattern, where all user interactions are processed as discrete messages to ensure reliable state transitions. It employs an immediate-mode rendering para
Iced is a cross-platform GUI framework that lets developers build applications with type-safe state management and native UI rendering, though it uses Rust rather than web technologies.
Electron.NET is a framework for building cross-platform desktop applications using ASP.NET Core, Razor Pages, MVC, or Blazor. It serves as a wrapper that hosts .NET web projects within a native desktop shell, allowing web-based logic to function as standalone software across different operating systems. The project provides a hosting environment specifically for Blazor components and other .NET web technologies, converting them into distributable binary executable packages. It integrates a native web browser control for UI rendering and utilizes a structured communication channel to pass mess
Electron.NET is a cross-platform desktop application framework that wraps ASP.NET Core and Blazor web technologies in a native shell, though it relies on embedded web rendering rather than purely native UI components.
Vuido is a framework for building native desktop applications for Windows, macOS, and Linux using Vue.js components, without requiring Electron or Chromium. It maps Vue components directly to native widgets from the libui library, creating lightweight applications that run on a single-threaded event loop and compile templates at build time for optimized runtime performance. The framework provides a complete Vue.js component-to-native bridge, enabling two-way data binding via v-model, component-based window composition, and platform-specific package generation for distributing executables. It
Vuido is a cross-platform desktop application framework that lets you build native apps using Vue.js without Electron, though it has a narrower feature set and relies on libui rather than web technologies.
This project is a multi-platform UI framework designed for building applications that target mobile, web, and desktop environments from a single codebase. It utilizes a declarative paradigm where the user interface is defined as a function of application state, supported by a layered architecture that includes a high-performance rendering engine and a multi-platform compilation model. The framework provides a comprehensive suite of developer tools, including hot reloading for real-time code injection and diagnostic utilities for monitoring application state and performance. It features a modu
Flutter is a cross-platform UI framework that enables multi-platform application development from a single codebase with hot reload, though it uses custom-rendered widgets rather than native system UI components.
Quasar is a cross-platform development framework that enables the creation of web, mobile, and desktop applications from a single codebase. It provides a declarative architecture where state changes automatically trigger updates to the user interface, supported by a centralized data store that synchronizes state across components. The framework distinguishes itself through a build-time platform abstraction that transforms a unified project into multiple target formats, including installable progressive web apps. It includes a comprehensive component-driven library that enforces a consistent d
Quasar is a comprehensive Vue.js-based framework that enables cross-platform desktop development via Electron alongside web and mobile targets, offering extensive UI components and build tooling, though it relies heavily on web technologies rather than purely native UI elements.
A new framework for creating desktop apps from websites, using system installed browsers and NodeJS
Gluon is a cross-platform desktop application framework that lets you build native apps using Node.js and the user's system-installed browser, though it relies on external browser runtimes rather than bundling an engine.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| dotnet/maui | 23.2K | C# | mit | |
| ptmt/react-native-desktop | 11.2K | JavaScript | MIT | |
| unoplatform/uno |
| 10K |
| C# |
| Apache-2.0 |
| beeware/toga | 5.4K | Python | BSD-3-Clause |
| neutralinojs/neutralinojs | 8.5K | C++ | NOASSERTION |
| webview/webview | 13.9K | C++ | mit |
| wxwidgets/wxwidgets | 7K | C++ | — |
| revery-ui/revery | 8K | Reason | MIT |
| ptmt/react-native-macos | 11.2K | JavaScript | MIT |
| wailsapp/wails | 34.8K | Go | MIT |