VOOZH about

URL: https://www.nuget.org/packages/Agibuild.Fulora.Avalonia/1.5.10

⇱ NuGet Gallery | Agibuild.Fulora.Avalonia 1.5.10




Agibuild.Fulora.Avalonia 1.5.10

There is a newer version of this package available.
See the version list below for details.
dotnet add package Agibuild.Fulora.Avalonia --version 1.5.10
 
 
NuGet\Install-Package Agibuild.Fulora.Avalonia -Version 1.5.10
 
 
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Agibuild.Fulora.Avalonia" Version="1.5.10" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Agibuild.Fulora.Avalonia" Version="1.5.10" />
 
Directory.Packages.props
<PackageReference Include="Agibuild.Fulora.Avalonia" />
 
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Agibuild.Fulora.Avalonia --version 1.5.10
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Agibuild.Fulora.Avalonia, 1.5.10"
 
 
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Agibuild.Fulora.Avalonia@1.5.10
 
 
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Agibuild.Fulora.Avalonia&version=1.5.10
 
Install as a Cake Addin
#tool nuget:?package=Agibuild.Fulora.Avalonia&version=1.5.10
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

<h1 align="center">Fulora</h1>

<p align="center"> <strong>Build desktop apps at web speed, without giving up native power.</strong><br/> <sub>A typed, policy-driven hybrid app platform for .NET and Avalonia.</sub> </p>

<p align="center"> <img src="https://img.shields.io/nuget/v/Agibuild.Fulora.Avalonia?logo=nuget&label=NuGet&color=004880&style=flat-square" /> <img src="https://img.shields.io/nuget/dt/Agibuild.Fulora.Avalonia?logo=nuget&label=Downloads&color=00a86b&style=flat-square" /> <a href="https://github.com/AGIBuild/Agibuild.Fulora/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/AGIBuild/Agibuild.Fulora/ci.yml?label=CI&logo=github&style=flat-square" /></a> <img src="https://img.shields.io/badge/License-MIT-yellow?style=flat-square" /> </p>

<p align="center"> <img src="https://img.shields.io/badge/Windows-WebView2-0078D4?style=flat-square&logo=windows" /> <img src="https://img.shields.io/badge/macOS-WKWebView-000000?style=flat-square&logo=apple" /> <img src="https://img.shields.io/badge/Linux-WebKitGTK-FCC624?style=flat-square&logo=linux&logoColor=black" /> <img src="https://img.shields.io/badge/iOS-WKWebView-000000?style=flat-square&logo=apple" /> <img src="https://img.shields.io/badge/Android-WebView-3DDC84?style=flat-square&logo=android&logoColor=white" /> </p>

<p align="center"> <img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FAGIBuild%2FAgibuild.Fulora%2Fbadges%2Funit-tests.json&style=flat-square" alt="Unit Tests" /> <img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FAGIBuild%2FAgibuild.Fulora%2Fbadges%2Fintegration-tests.json&style=flat-square" alt="Integration Tests" /> <img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FAGIBuild%2FAgibuild.Fulora%2Fbadges%2Fline-coverage.json&style=flat-square" alt="Line Coverage" /> <img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FAGIBuild%2FAgibuild.Fulora%2Fbadges%2Fbranch-coverage.json&style=flat-square" alt="Branch Coverage" /> </p>


Why Fulora

You have a fast-moving web team and a battle-tested .NET desktop stack.
Most hybrid approaches force a compromise: either weak host-web contracts, or a rewrite when complexity grows.

Fulora is built for the middle path that scales:

  • Keep your native host in C# and Avalonia
  • Ship rich UI with React/Vue/Svelte inside WebView
  • Connect both sides through a typed, source-generated bridge
  • Enforce host capabilities through policy-first execution

From "just embed one page" to "run a full product shell", you stay on one runtime model.


Start in 60 Seconds

Choose the onboarding path that matches where you are today.

Recommended (CLI + template):

dotnet tool install -g Agibuild.Fulora.Cli
dotnet new install Agibuild.Fulora.Templates
fulora new MyApp --frontend react
cd MyApp
fulora dev

Alternative (template only):

dotnet new install Agibuild.Fulora.Templates
dotnet new agibuild-hybrid -n MyApp
cd MyApp
dotnet run --project MyApp.Desktop

Manual (add WebView to an existing Avalonia app):

dotnet add package Agibuild.Fulora.Avalonia

In Program.cs:

AppBuilder.Configure<App>()
 .UsePlatformDetect()
 .UseFulora()
 .StartWithClassicDesktopLifetime(args);

In XAML:

<Window xmlns:wv="clr-namespace:Agibuild.Fulora;assembly=Agibuild.Fulora">
 <wv:WebView x:Name="WebView"
 Source="https://example.com" />
</Window>

Full guide: ·


See It in Action

Explore what Fulora can do before diving into the docs.

  • Product walkthrough:
  • AI workflow example:
  • End-to-end sample apps: Demos & Samples

Speak One Language Across C# and JavaScript

The bridge is the core experience: predictable contracts, async-friendly calls, and no fragile string-based IPC.

Expose C# to JavaScript:

[JsExport]
public interface IGreeterService
{
 Task<string> Greet(string name);
}

webView.Bridge.Expose<IGreeterService>(new GreeterService());

Call from JavaScript:

const msg = await window.agWebView.rpc.invoke("GreeterService.greet", {
 name: "World"
});

Call JavaScript from C#:

[JsImport]
public interface INotificationService
{
 Task ShowNotification(string message);
}

var notifications = webView.Bridge.GetProxy<INotificationService>();
await notifications.ShowNotification("File saved!");

Ship SPAs Like Native Screens

Run your frontend exactly how your team already works: embedded assets in production, hot reload in development.

Production (embedded):

webView.EnableSpaHosting(new SpaHostingOptions
{
 EmbeddedResourcePrefix = "wwwroot",
 ResourceAssembly = typeof(MainWindow).Assembly,
});
await webView.NavigateAsync(new Uri("app://localhost/index.html"));

Development (HMR):

webView.EnableSpaHosting(new SpaHostingOptions
{
 DevServerUrl = "http://localhost:5173"
});

Demos & Samples

See complete patterns, not toy snippets.

Sample Description
Avalonia + React (Vite), typed bridge, SPA hosting
AI chat with IAsyncEnumerable streaming, cancellation, Microsoft.Extensions.AI
Full-featured reference app (plugins, shell, CLI)

Walkthrough: ·


Capability Snapshot

From a single embedded page to a full product shell — everything you need is already here.

Core

  • Typed bridge: [JsExport] / [JsImport], source-generated C#/JS proxies, AOT-safe; V2: byte[]/Uint8Array, CancellationToken/AbortSignal, IAsyncEnumerable streaming, overloads
  • Typed capability gateway for host/system operations (policy-first execution)
  • SPA hosting: embedded assets, dev HMR proxy, shell activation, deep-link, SPA asset hot update with signature verification
  • OAuth / Web auth (IWebAuthBroker), Web dialog (IWebDialog), screenshot & PDF, cookies, command manager
  • DevTools, User-Agent, session modes, dependency injection

Ecosystem

  • Official plugins: Database (SQLite), HTTP Client, File System, Notifications, Auth Token, Biometric, LocalStorage
  • CLI: fulora new, dev, generate, search, add plugin, list plugins --check
  • Telemetry: OpenTelemetry provider, Sentry crash reporting with bridge breadcrumbs
  • AI: Microsoft.Extensions.AI integration, streaming, tool calling, Ollama/OpenAI providers
  • Enterprise: OAuth PKCE client, shared state store (cross-WebView), plugin compatibility matrix

Details: · ·


Architecture at a Glance

One runtime core, multiple platform adapters.

graph TD
 subgraph app ["Your Avalonia App"]
 WebView["WebView Control"]
 Bridge["Typed Bridge<br/>C# ↔ JS"]
 Gateway["Capability Gateway<br/>Host / System API"]

 WebView --- Core
 Bridge --- Core
 Gateway --- Core

 Core["Runtime Core<br/>Navigation · RPC · Shell · Diagnostics · Policy"]
 Core --- Adapter["IWebViewAdapter"]
 end

 Adapter --- WKWebView
 Adapter --- WebView2
 Adapter --- WebKitGTK
 Adapter --- AndroidWebView["Android WebView"]

Vision & Roadmap

Fulora helps teams move from first WebView integration to full hybrid platform without replacing their foundation.

Two paths, one runtime:

  • Control path: integrate WebView with minimal coupling
  • Framework path: adopt bridge, policy, shell, and tooling for faster delivery

Unlike wrapper-only solutions, Fulora provides typed host/web contracts, policy-governed capabilities, machine-checkable diagnostics, and scalable app-shell patterns out of the box.

Current status: Phase 12 (Enterprise & Advanced Scenarios) completed. All roadmap phases through 12 are done.

·


Quality Signals

Quality badges at the top of the page are updated automatically by CI on every successful build to main from these CI gates:

nuke Test # Unit + Integration
nuke Coverage # Coverage report + threshold enforcement
nuke NugetPackageTest # Pack → install → run smoke test

For local template validation (not required by the default CI badge pipeline):

nuke TemplateE2E # Template end-to-end test

License

Product Versions Compatible and additional computed target framework versions.
.NET net10.0 net10.0 is compatible.  net10.0-android net10.0-android was computed.  net10.0-android36.0 net10.0-android36.0 is compatible.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-ios18.0 net10.0-ios18.0 is compatible.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.6.7 116 4/23/2026
1.6.6 65 4/23/2026
1.6.2 84 4/22/2026
1.6.1 65 4/22/2026
1.6.0 72 4/21/2026
1.5.11 114 4/3/2026
1.5.10 128 3/17/2026
1.5.9 81 3/17/2026
1.5.8 72 3/16/2026
1.5.7 72 3/16/2026
1.5.6 88 3/16/2026
1.5.5 70 3/15/2026
1.5.4 72 3/15/2026
1.5.3 76 3/15/2026
1.5.2 73 3/14/2026
1.5.1.160 71 3/14/2026
1.5.0.157 79 3/13/2026
1.5.0.156 75 3/13/2026
1.5.0.151 63 3/13/2026
1.5.0.150 70 3/13/2026
Loading failed