Uno Platform

website·Indexed 37 days ago

https://platform.uno/docs/articles/intro.html

An open-source .NET framework for building single-codebase applications across mobile, web (WebAssembly), desktop, and embedded platforms. It replicates the WinUI API to enable pixel-perfect UI and includes support for Native AOT, Skia libraries, and specialized tools like Uno Platform Studio and Hot Design®.

Tokens
526K
Snippets
2.3K
Records
3.4K
Agent score
71%

What's inside Uno Platform

  1. Overview of .NET MAUI Embedding in Uno Platform

    The .NET MAUI Embedding feature allows 3rd party .NET MAUI control libraries to be used within an Uno Platform application. This integration is limited to platforms supported by .NET MAUI: iOS, Android, macOS, and Windows.

    The integration relies on two main components:

    1. A .NET MAUI class library containing the controls.
    2. The MauiHost control (from the Uno.Extensions.Maui.WinUI package), which acts as the container in the Uno application.

    The Source property of the MauiHost specifies the type of .NET MAUI control to embed. The DataContext of the MauiHost is automatically mapped to the BindingContext of the embedded .NET MAUI control. It is recommended to host a .NET MAUI ContentView as the Source rather than individual controls to simplify layout and data binding in XAML.

  2. Overview of ToggleSwitch in Uno Platform

    The ToggleSwitch control represents a switch that can be toggled between two states. Uno Platform provides two primary styling approaches: the WinUI Default Style, which ensures a consistent look and feel across all platforms (both statically and in motion), and the Native Default Style, which utilizes the native toggle controls of the underlying platform (Android and iOS) for a more native user experience.
  3. Overview of IListFeed<T>

    IListFeed<T> is a specialized feed designed for handling collections. Unlike a standard IFeed where operations return a single item, a ListFeed returns a collection of items. Key characteristics include:

    • Item-Level Operators: Operators are applied directly to the items within the collection rather than the collection itself.
    • Empty State Handling: If a service returns an empty collection or null, the feed enters the None state. This ensures that UI components like ListView trigger the NoneTemplate instead of displaying an empty list within a ValueTemplate.
    • Identity Tracking: It uses key equality to track multiple versions of the same entity across different messages.
  4. Overview of Uno Platform capabilities

    Uno Platform is a comprehensive developer productivity platform for building native mobile, web, desktop, and embedded applications using a single .NET codebase. It provides a cross-platform UI framework and a suite of tools to accelerate design, development, and testing. Key features include support for WebAssembly (Wasm), pixel-perfect UI control via native or Skia-based rendering, and compatibility with the latest .NET releases (including .NET 9 and .NET 10). The platform is free and open-source under the Apache 2.0 license.
  5. Overview of C# Markup for Uno Platform

    C# Markup is a declarative, fluent-style syntax used to define application layouts in C#. It leverages the same underlying object model as XAML, providing access to all built-in, custom, and 3rd party controls, data binding, converters, and resources. Key advantages include strongly typed data binding, IntelliSense, compile-time validation, and full refactoring support.
  6. Overview of Uno Platform Studio Agent

    Uno Platform Studio Agent is an AI orchestration layer that powers app generation and editing within the Uno Platform Studio App. Unlike generic AI coding tools, it is specifically designed for cross-platform .NET apps and can interact with the running application to validate changes. Key capabilities include:

    • Live App Awareness: Captures live previews and reads the runtime visual tree to reason about rendering.
    • Design System Integration: Works with project-specific themes, styles, and component libraries.
    • Cross-Target Validation: Checks changes against real builds for web, desktop, mobile, and embedded targets.
    • Documentation Grounding: Uses the Uno docs MCP to pull version-correct official documentation.
    • Human-in-the-Loop: Proposes and applies changes turn-by-turn for user review.
  7. Overview of the Tube Player Workshop

    The Tube Player workshop is a guided project to build a cross-platform application for searching and streaming YouTube videos. It serves as a comprehensive introduction to the Uno Platform ecosystem, covering the following key areas:

    • UI Development: Using C# Markup and the Uno Figma plugin for design-to-code workflows.
    • State Management: Implementing Model-View-Update-eXtended (MVUX) and Feeds.
    • Networking: Using the Uno Platform Refit extension for remote API integration.
    • Theming: Customizing app appearance via Material design themes and DSP tooling.
    • Navigation: Implementing region-based navigation.
    • Assets: Managing app icons and splash screens via Uno Resizetizer.
  8. Overview of Uno Hot Design

    Hot Design is a runtime visual designer for cross-platform .NET applications that transforms a live, running app into a real-time visual designer. It allows developers to modify UI on the fly without restarting the app or losing state, synchronizing changes between the visual designer and XAML code. It is part of the Uno Platform Studio and integrates with Hot Reload to provide instant UI updates.
  9. Overview of Uno Platform cross-platform capabilities

    Uno Platform is a cross-platform UI framework for .NET developers that allows the creation of pixel-perfect applications from a single codebase. It enables deployment to the following platforms:

    • Windows (Win32, UWP, WinUI 3)
    • WebAssembly (Browser-based, no plugins required)
    • iOS (iPhone and iPad)
    • Android (Phones and tablets)
    • macOS (Native Mac applications)
    • Linux (GTK-based applications)
    • Embedded devices (IoT and specialized hardware)
  10. Overview of ExtendedSplashScreen

    The ExtendedSplashScreen control (derived from LoadingView) replicates the appearance and behavior of a target platform's native application loading screen. It is primarily used to display a loading element for extended durations after the native splash screen has transitioned, such as when the app is performing long-running startup operations like network requests or data loading. It can also function as a standalone loading screen regardless of whether the platform has a native equivalent.