awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dotnet avatar

dotnet/blazorArchived

0
View on GitHub↗
9,276 stars·643 forks·PowerShell·Apache-2.0·2 vuesblazor.net↗

Blazor

Blazor is a .NET framework for building interactive web user interfaces using C# instead of JavaScript. It provides a component-based UI composition model where reusable, self-contained UI elements are built with C# logic and Razor markup, supporting nesting, parameters, and lifecycle events. The framework offers two primary rendering models: a client-side runtime that compiles C# to WebAssembly and executes directly in the browser, and a server-side model that renders UI on the server and sends incremental DOM updates over a persistent SignalR connection.

A central capability of Blazor is its JavaScript interop bridge, which enables bidirectional communication between .NET and JavaScript. This includes invoking JavaScript functions from .NET, calling .NET methods from JavaScript (including synchronous calls on WebAssembly), and managing object references, stream transfers, and byte array transfers without Base64 encoding overhead. The framework also supports loading JavaScript from standard ES modules to keep component dependencies self-contained and avoid global namespace pollution.

Beyond web development, Blazor extends to cross-platform .NET UI development by embedding components inside native desktop or mobile apps using an embedded web view control with a local interop channel. The framework includes ahead-of-time IL trimming to reduce published application size, with configurable granularity and the ability to preserve types and parameter names for reflection-dependent code. Code can be shared across .NET platforms by referencing libraries that conform to a common standard, enabling consistent business logic across web, desktop, and mobile projects.

Features

  • Reusable UI Components - Provides a component-based UI composition model with reusable self-contained elements using C# and Razor markup.
  • JavaScript Interop - Ships a bidirectional JavaScript interop bridge for calling functions, streaming data, and managing object references between .NET and JavaScript.
  • Byte Array Transfers - Provides efficient byte array transfer between .NET and JavaScript without Base64 encoding overhead.
  • C# Web Frontends - Creates client-side web interfaces using C# instead of JavaScript, enabling full-stack .NET development in the browser.
  • Client-Side WebAssembly Rendering - Blazor downloads a runtime compiled to WebAssembly and executes code directly in the browser to handle UI rendering and interactions.
  • Component-Based Web Frameworks - Creates reusable, self-contained UI components with C# logic and HTML markup for composable web applications.
  • Cross-Platform UI Frameworks - Provides a framework for building reusable UI components that run across browser, desktop, and mobile via embedded web views.
  • Server-Side Rendering - Renders UI on the server and updates the browser over a real-time connection, reducing client-side processing.
  • Server-Side Rendering Frameworks - Renders UI on the server and sends incremental DOM updates over a real-time SignalR connection.
  • Real-Time DOM Updates - Renders UI on the server and sends incremental DOM updates over a persistent real-time SignalR connection.
  • Single-Page Applications - Builds interactive client-side web UIs using C# and WebAssembly instead of JavaScript.
  • WebAssembly Frameworks - Compiles C# code to WebAssembly to run UI components directly in the browser.
  • .NET Runtime Compilations - Downloads a .NET runtime compiled to WebAssembly and executes C# code directly in the browser for UI rendering.
  • Byte Array Transfers - Transfers byte arrays between .NET and JavaScript without Base64 encoding, reducing serialization overhead.
  • IL Trimming - Ships an IL trimmer that removes unused code from published assemblies to reduce download size.
  • Static Method Invocations from JavaScript - Allows calling public static .NET methods from JavaScript by specifying assembly and method identifiers.
  • Instance Method Invocations from JavaScript - Enables calling public instance methods on .NET objects from JavaScript via object references.
  • JavaScript Object Instantiation - Instantiates JavaScript objects from .NET using constructor functions and returns handles for further interaction.
  • JavaScript Object References - Creates references to non-serializable JavaScript objects for use in .NET code via IJSObjectReference.
  • Module-Loaded JavaScript Isolation - Loads JavaScript from standard ES modules to avoid global namespace pollution and keep component dependencies self-contained.
  • Synchronous JavaScript Invocations - Calls JavaScript synchronously from client-side WebAssembly components via IJSInProcessRuntime, reducing overhead.
  • Synchronous .NET Method Invocations - Ships a synchronous interop path for calling .NET methods from JavaScript on WebAssembly, reducing overhead.
  • Unreferenced Code Cleaning - Removes unreferenced intermediate language code from published assemblies to reduce application size.
  • Multiplatform Code Sharing - Shares C# code and UI components across web, desktop, and mobile platforms using a common library standard.
  • Externally-Rendered UI Embeds - Embeds externally-rendered UI content from JavaScript libraries into Blazor components via placeholder elements.
  • HTML Element References - Captures references to rendered HTML elements and passes them to JavaScript for direct DOM manipulation.
  • Embedded Web View Hosts - Embeds Blazor components inside native desktop or mobile apps using an embedded web view control with a local interop channel.
  • Embedded Web Views - Embeds Blazor components inside native desktop or mobile apps using an embedded web view control.

Historique des stars

Graphique de l'historique des stars pour dotnet/blazorGraphique de l'historique des stars pour dotnet/blazor

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait dotnet/blazor ?

Blazor is a .NET framework for building interactive web user interfaces using C# instead of JavaScript. It provides a component-based UI composition model where reusable, self-contained UI elements are built with C# logic and Razor markup, supporting nesting, parameters, and lifecycle events. The framework offers two primary rendering models: a client-side runtime that compiles C# to WebAssembly and executes directly in the browser, and a server-side model that renders UI…

Quelles sont les fonctionnalités principales de dotnet/blazor ?

Les fonctionnalités principales de dotnet/blazor sont : Reusable UI Components, JavaScript Interop, Byte Array Transfers, C# Web Frontends, Client-Side WebAssembly Rendering, Component-Based Web Frameworks, Cross-Platform UI Frameworks, Server-Side Rendering.

Quelles sont les alternatives open-source à dotnet/blazor ?

Les alternatives open-source à dotnet/blazor incluent : leptos-rs/leptos — Leptos is a full-stack Rust web framework designed for building reactive applications that share logic and types… vugu/vugu — Vugu is a Go WebAssembly UI library and framework used to build type-safe, component-based single-page applications.… reactjs/react.dev — React is a JavaScript library for building user interfaces through the composition of modular, self-contained… facebook/react — React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… didi/mpx — MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from…

Alternatives open source à Blazor

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Blazor.
  • leptos-rs/leptosAvatar de leptos-rs

    leptos-rs/leptos

    20,993Voir sur GitHub↗

    Leptos is a full-stack Rust web framework designed for building reactive applications that share logic and types between the server and the browser. It provides a comprehensive toolkit for developing web interfaces where specific DOM nodes update automatically in response to changes in underlying reactive signals, rather than re-rendering entire component trees. The framework distinguishes itself through a fine-grained reactivity model that tracks dependencies at the individual data point level. It utilizes compile-time template transformation to convert declarative HTML-like syntax into opti

    Rustdomfine-grainedisomorphic
    Voir sur GitHub↗20,993
  • vugu/vuguAvatar de vugu

    vugu/vugu

    5,000Voir sur GitHub↗

    Vugu is a Go WebAssembly UI library and framework used to build type-safe, component-based single-page applications. It functions as a single-file component framework that bundles markup, styles, and logic into modular units, utilizing a virtual DOM engine to synchronize state changes with the browser output. The project features a Go component generator that converts custom UI templates into executable Go source code at compile time. It distinguishes itself through a WebAssembly-based runtime that executes application logic as a compiled binary in the browser and a server-side rendering tool

    Goframeworkgogui
    Voir sur GitHub↗5,000
  • reactjs/react.devAvatar de reactjs

    reactjs/react.dev

    11,765Voir sur GitHub↗

    React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme

    JavaScriptdocumentationjavascriptreact
    Voir sur GitHub↗11,765
  • facebook/reactAvatar de facebook

    facebook/react

    245,669Voir sur GitHub↗

    React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.

    JavaScriptjavascriptuifrontend
    Voir sur GitHub↗245,669
  • Voir les 30 alternatives à Blazor→