awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
AvaloniaUI avatar

AvaloniaUI/Avalonia

0
View on GitHub↗
30,986 stars·2,717 forks·C#·MIT·8 viewsavaloniaui.net↗

Avalonia

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.

Features

  • Cross-Platform Desktop Frameworks - Enables building native-feeling desktop applications for Windows, macOS, and Linux from a single codebase.
  • Cross-Platform Frameworks - A development environment that enables the creation of native-looking desktop applications for multiple operating systems from a single codebase.
  • Data Binding Frameworks - Links control properties to underlying data objects using markup extensions to synchronize interface elements with application state.
  • Declarative UI Frameworks - Defines complex user interface structures using a markup-based syntax that maps to object properties.
  • Layout Engines - Processes interface structure through a two-pass measurement and arrangement system to ensure accurate element positioning.
  • Rendering Engines - Bypasses native platform controls to draw consistent, high-performance user interfaces across diverse hardware.
  • Application Patterns - Implements the Model-View-ViewModel pattern to decouple interface logic from business data.
  • MVVM Architectures - Separates user interface layout from application logic to enable independent component evolution and testing.
  • Cross-Platform UI Frameworks - Organizes code into a shared core for business logic and interface definitions to deploy across desktop, mobile, and web.
  • Custom Control Authoring - Creates reusable interface elements using templated designs or low-level rendering logic.
  • Data Binding Engines - Generates efficient code at build time to synchronize application state with user interface properties while minimizing runtime reflection.
  • Declarative UI Toolkits - A collection of components and markup languages that allow developers to define user interfaces through structured, hierarchical object definitions.
  • Markup Languages - Defines user interface layouts and object hierarchies using a declarative markup syntax.
  • Container Components - Arranges interface elements into complex structures using specialized containers that handle stacking, docking, or grid-based alignment.
  • Cross-Platform Abstraction Layers - Provides a unified interface for platform-specific services like windowing and input handling to enable cross-platform code sharing.
  • Event Handling - Attaches event handlers to elements to respond to user interactions and bubbled events.
  • Property Systems - Manages property values through a hierarchical precedence mechanism that integrates styling and animations for dynamic updates.
  • UI Styling - Applies visual styles to controls to maintain a consistent appearance across the interface.
  • WebAssembly Runtimes - Enables running applications directly in web browsers using binary code execution without server-side infrastructure.
  • Dotnet Desktop Frameworks - Native multi-platform UI development with .NET.
  • GUI Frameworks - Multi-platform UI framework for desktop applications.
  • User Interface - Cross-platform GUI framework for .NET.
  • User Interfaces - Cross-platform UI framework for desktop applications.
  • Miscellaneous Tools - UI framework for cross-platform desktop applications.
  • Browser Automation - Runs the full control tree and layout engine in memory to verify component behavior without a window.
  • Custom UI Components - Supports creating reusable interface elements with custom layout logic and specialized property systems.
  • Data Templates - Provides reusable visual structures for data objects to control how information appears within user interface controls.
  • Event Systems - Dispatches user input and system events through the visual tree using bubbling and tunneling for flexible event handling.
  • Theming Engines - Applies themes to controls to define default visual appearance and behavior.
  • Visual Testing - Compares captured bitmaps of rendered frames against baselines to identify layout or styling changes.
  • Resource Dictionaries - Defines brushes as reusable resources in dictionaries to maintain consistent styling across the interface.
  • Resource Management - Manages consistent visual properties by referencing shared resources within style definitions.
  • Routed Event Systems - Supports custom routed events to enable communication across the element tree.
  • Architectural Patterns - Avalonia UI separates user interface layout from application logic to enable independent evolution of components and simplify unit testing of business logic.
  • Testing Frameworks - Tests view models and data transformation logic to ensure core functionality remains accurate.
  • Control Properties - Defines unique settings for interface elements using styled or direct properties.
  • Event Routing Systems - Controls how events propagate through the element tree using bubbling, tunneling, or direct delivery.
  • Gesture Recognition - Manages touch and mouse gestures including taps and long-presses with configurable durations.
  • Markup Parsers - Transforms declarative interface definitions into a live object hierarchy by mapping markup tags to class instances.
  • Overlay Systems - Displays temporary elements like loading indicators or toolbars on a dedicated layer above the main interface.
  • Rendering Backends - Allows switching between graphics engines to optimize performance and compatibility across different host platforms.
  • Style Selectors - Defines target controls for styling rules using selectors that match types, classes, or properties.
  • Styled Properties - Enables registration of properties that participate in styling, animations, and value precedence.

Star history

Star history chart for avaloniaui/avaloniaStar history chart for avaloniaui/avalonia

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does avaloniaui/avalonia do?

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…

What are the main features of avaloniaui/avalonia?

The main features of avaloniaui/avalonia are: Cross-Platform Desktop Frameworks, Cross-Platform Frameworks, Data Binding Frameworks, Declarative UI Frameworks, Layout Engines, Rendering Engines, Application Patterns, MVVM Architectures.

What are some open-source alternatives to avaloniaui/avalonia?

Open-source alternatives to avaloniaui/avalonia include: textualize/textual — This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative… vsouza/awesome-ios — This project is a community-driven directory of software resources, libraries, and tools designed to support iOS… didi/chameleon — Chameleon is a cross-platform application framework and component library used to develop applications for the web and… vuetifyjs/vuetify — This project is a comprehensive UI toolkit that provides a declarative, reactive framework for building modular web… dotnet/wpf — WPF is a .NET desktop UI framework and application framework designed for creating graphical user interfaces… lxn/walk — Walk is a comprehensive framework for building native Windows desktop applications. It functions as a GUI library and…

Open-source alternatives to Avalonia

Similar open-source projects, ranked by how many features they share with Avalonia.
  • textualize/textualTextualize avatar

    Textualize/textual

    36,285View on GitHub↗

    This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative component model that organizes user interfaces into a tree of nested widgets, each managing its own lifecycle, state, and rendering. By subclassing the base application class, developers can construct complex, keyboard-navigable interfaces that run directly within terminal emulators. The framework distinguishes itself through a reactive architecture and a CSS-based layout engine. It uses a reactive attribute system to automatically track state changes and trigger targeted int

    Pythoncliframeworkpython
    View on GitHub↗36,285
  • vsouza/awesome-iosvsouza avatar

    vsouza/awesome-ios

    52,496View on GitHub↗

    This project is a community-driven directory of software resources, libraries, and tools designed to support iOS application development. It serves as a centralized reference point for developers, organizing a vast ecosystem of third-party components into a searchable, structured index to facilitate discovery and project integration. The repository distinguishes itself through its collaborative curation model, which aggregates disparate utilities into a single, maintainable catalog. By leveraging a flat-file documentation structure, it provides a clear overview of the tools available for nati

    Swiftapple-swiftarkitawesome
    View on GitHub↗52,496
  • didi/chameleondidi avatar

    didi/chameleon

    8,966View on GitHub↗

    Chameleon is a cross-platform application framework and component library used to develop applications for the web and various mini-app platforms from a single shared codebase. It functions as a multi-platform build pipeline that compiles source code into different target formats while providing an MVVM-based user interface system for managing application state. The framework employs a polymorphic protocol to extend custom components and APIs, allowing for platform-specific implementations while maintaining cross-end compatibility. It includes a specialized build tool for static analysis that

    JavaScript
    View on GitHub↗8,966
  • vuetifyjs/vuetifyvuetifyjs avatar

    vuetifyjs/vuetify

    41,003View on GitHub↗

    This project is a comprehensive UI toolkit that provides a declarative, reactive framework for building modular web interfaces. It centers on a component-based architecture that maps application state to rendered elements, utilizing a twelve-point flexbox grid system and nested containers to manage complex layouts. The library ensures consistent behavior across large-scale applications by providing centralized configuration for component defaults, themes, and global design tokens. What distinguishes this framework is its deep integration of Material Design principles alongside a highly flexib

    TypeScriptjavascriptmaterialmaterial-components
    View on GitHub↗41,003
See all 30 alternatives to Avalonia→