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 application state with visual elements, alongside a hot-reload workflow that enables developers to visualize source code and interface changes in real time without requiring a full project recompilation. Beyond core interface construction, the framework offers a comprehensive suite of tools for managing application lifecycles, local data storage, and secure access to device hardware and system sensors. It supports hybrid development by allowing web components to be embedded within a native application shell, and provides a unified canvas for cross-platform graphics rendering. The framework utilizes ahead-of-time compilation to generate machine-specific instructions for improved execution performance. It is distributed as a complete SDK that includes native component libraries and utilities for packaging and submitting applications to official app stores.
This framework provides a unified codebase for building native desktop and mobile applications across multiple operating systems, featuring native UI rendering, hot reloading, and comprehensive access to system APIs.
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 framework includes capabilities for responsive interface design and visual theme application. It provides a unified interface for accessing native device hardware sensors and secure storage, as well as tools for cross-platform UI testing and XAML-to-code compilation.
Uno Platform is a comprehensive cross-platform framework that enables building native desktop applications using C# and XAML, providing full support for native UI components, hardware access, and hot reloading across multiple operating systems.
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 that enforces granular access control over system resources and native APIs. Communication between the isolated frontend webview and the privileged backend is managed through a secure, asynchronous message-passing bridge. This architecture ensures that native system capabilities are exposed to the web interface only through strictly defined, configuration-driven permissions. The framework provides a modular plugin system that allows for the extension of core functionality through reusable backend components. Development is supported by a unified workflow that includes project scaffolding, a local development server with hot-reloading for both frontend and backend assets, and automated tools for managing the application lifecycle and binary distribution. The system also includes built-in support for orchestrating remote application updates and verifying package integrity.
Tauri is a comprehensive cross-platform framework that enables the creation of lightweight desktop applications using web technologies for the UI and a memory-safe Rust backend, fully supporting native API access, hot reloading, and binary distribution.
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 integration.
This framework enables the creation of native desktop applications using JavaScript and shared logic, though it is currently focused on macOS rather than providing the full multi-OS support requested.
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 across the language boundary. This integration is supported by a comprehensive command-line interface that manages the entire project lifecycle, from scaffolding and template generation to the final compilation of single, portable native binaries. Beyond its core communication and build capabilities, the project provides a unified runtime library for accessing system-level features such as window management, menus, and file dialogs. It includes a live development environment that monitors source code changes to trigger incremental builds and automatic interface refreshes, ensuring a responsive development cycle. The framework is designed to be installed via standard package managers, providing tools to verify system dependencies and streamline the distribution of production-ready applications.
Wails is a cross-platform framework that enables you to build native desktop applications using Go and web technologies, providing essential features like native API access, hot reloading, and streamlined packaging for multiple operating systems.
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 tasks and access hardware features directly. The library offers a platform-agnostic interface for window management and script injection, ensuring consistent behavior across different operating systems. It is designed to support the creation of graphical interfaces for desktop applications and command-line utilities through a minimal, unified application programming interface.
This library provides a lightweight, cross-platform framework for building desktop applications by embedding native webview components, allowing you to use web technologies for UI while accessing native system APIs.
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 application lifecycle, including development, scaffolding, and deployment. Its capabilities include managing user input and keyboard focus, applying visual styles to interface elements, and triggering system-level alerts.
Revery is a cross-platform desktop framework that compiles to native machine code and maps functional components to native OS widgets, providing a robust foundation for multi-OS application development.
This project is a cross-platform desktop application that wraps web-based interfaces into a standalone, native container. By utilizing a webview-based rendering engine, it allows users to access web services as local applications on Windows, macOS, and Linux without requiring a full browser installation. The application is built on a memory-safe backend that manages system-level tasks and facilitates secure communication between the web frontend and the native operating system. This architecture enables features such as system-tray integration for background execution and quick access, providing a more integrated experience than a standard browser tab. The software leverages a unified build pipeline to package web technologies into lightweight, efficient binaries. This approach ensures consistent functionality across different operating systems while maintaining a small footprint and optimized resource usage.
This repository is a specific desktop application wrapper rather than a general-purpose framework for developers to build their own cross-platform software.
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 and the webview frontend. The framework covers a broad set of capabilities including native system integration for file management and system tray orchestration, as well as a cross-platform build pipeline for bundling, signing, and distributing binaries. It further supports local AI model integration for managing open weight models on a local device.
Electrobun is a cross-platform desktop framework that uses web technologies for the UI and provides native system integration, making it a suitable tool for building multi-OS desktop applications from a single codebase.
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 toolkit provides standardized system functions for network communication, background threading to keep interfaces responsive, and the integration of 3D graphics.
This is a mature C++ framework that provides native UI components and multi-OS support, though it lacks modern features like hot reloading and built-in web technology support found in newer alternatives.
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 components, including tabular data visualization, various input pickers, and a flexible grid layout system for organizing interface elements. It also handles application lifecycle management, including window configuration and main-thread execution for thread-safe communication.
This is a cross-platform GUI framework that maps high-level code to native widgets across operating systems, though it lacks built-in support for web technologies like HTML/CSS.
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 application. The framework covers broad capability areas including desktop UI customization for managing system tray icons, application menus, and transparent windows. It also provides tools for application packaging and distribution, allowing web-based source code to be bundled into platform-specific executables. Additional capabilities include hardware permission management and source code protection.
This framework enables the creation of cross-platform desktop applications using web technologies by integrating Chromium and Node.js, providing the necessary native API access and packaging tools to build standalone executables for multiple operating systems.
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 comprehensive capabilities for desktop window management, including control over transparency and native menus. It covers native system integration through filesystem automation, hardware metadata retrieval, clipboard interaction, and the execution of system commands. A command line interface is provided to bootstrap new projects and build cross-platform distribution bundles.
Neutralinojs is a lightweight cross-platform framework that enables building desktop applications with web technologies and native system access, fitting the category while opting for system webviews instead of a bundled browser engine.
PakePlus-Android is a tool that converts any public webpage or static frontend project into a native desktop or mobile application. It wraps web content inside a configurable WebView shell, enabling the creation of cross-platform apps for Windows, Mac, Linux, Android, and iOS from a single source. The project distinguishes itself by automating the entire packaging and compilation pipeline through GitHub Actions, requiring no local development environment or dependencies. Users configure the app name, icon, window behavior, and platform-specific settings through a guided interface or configuration file, and can inject custom JavaScript and CSS to modify page behavior, hide elements, or integrate system APIs. The cloud-based build process produces platform-specific binaries that are immediately available for download. Beyond basic webpage wrapping, the tool supports packaging compiled static frontend projects from frameworks like Vue or React into standalone desktop applications. It also provides options for debug builds with browser devtools access, URL concealment to prevent sharing, and CORS configuration. Prebuilt binaries are available for Apple Silicon and Intel Macs, Linux via AppImage, DEB, and RPM packages, and Windows for both x64 and ARM64 architectures.
This tool functions as a cross-platform wrapper that converts web content into native desktop and mobile applications, providing a simplified alternative to traditional frameworks by automating the packaging process for multiple operating systems.
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 distinguishes itself through a custom rendering architecture that bypasses native platform controls, drawing user interface elements directly to the screen via platform-specific graphics APIs to ensure visual consistency. It employs a reactive data binding engine that synchronizes application state with UI properties, further optimized by a build-time compilation process that minimizes reflection overhead. Additionally, the framework supports deployment to web browsers via WebAssembly, allowing desktop-style applications to run in client environments without requiring server-side infrastructure. The platform provides a comprehensive suite of tools for interface construction, including a two-pass layout system that resolves complex parent-child constraints and a hierarchical property system that manages styling, animations, and local overrides. Developers can extend the framework through custom control authoring, utilizing specialized containers for responsive organization and event routing strategies that manage communication across the visual tree. The system also includes built-in support for headless testing and visual regression analysis to verify component behavior and layout accuracy.
Avalonia is a robust cross-platform framework for building desktop applications with a single codebase, though it achieves visual consistency by rendering its own UI rather than using native platform widgets.
react-native-windows is a framework and rendering system used to build native desktop applications for Windows using React. It functions as an extension that brings a mobile-first development model to the Windows desktop environment, mapping React components directly to native Windows interface elements. The project enables the creation of desktop software through a declarative component-based architecture. It integrates React Native projects into the Windows ecosystem by translating components into native user interface elements rather than using web views. The framework covers cross-platform application development, allowing business logic and components to be shared across mobile and desktop platforms. It provides the tooling necessary to render native user interfaces and build high-performance Windows applications.
This framework enables the creation of native Windows desktop applications using React, allowing for shared business logic across platforms, though it is specifically focused on the Windows ecosystem rather than providing a single codebase for all desktop operating systems.
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 paradigm and a constraint-based layout engine, which together ensure that the interface remains synchronized with the application state and responsive across varying screen sizes and operating systems. Beyond its core architecture, the project provides a comprehensive set of primitives for interface engineering. This includes tools for managing dynamic text, container alignment, and styling, all of which map to native graphical backends to maintain a consistent look and feel. The system relies on strict data modeling to prevent invalid states, ensuring that business logic remains maintainable and robust throughout the development lifecycle.
Iced is a cross-platform GUI framework that enables the development of desktop applications using Rust, though it focuses on a custom immediate-mode rendering approach rather than wrapping native OS UI components.
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 messages between the .NET backend and the frontend renderer. The framework covers a broad range of hybrid development capabilities, including the management of local web server hosting, dynamic port allocation, and the bundling of the .NET runtime with web assets for cross-platform distribution.
This framework enables you to build cross-platform desktop applications by wrapping .NET web projects in an Electron shell, providing a bridge between web technologies and native desktop environments.