WebView.Avalonia
11.0.0.1
dotnet add package WebView.Avalonia --version 11.0.0.1
NuGet\Install-Package WebView.Avalonia -Version 11.0.0.1
<PackageReference Include="WebView.Avalonia" Version="11.0.0.1" />
paket add WebView.Avalonia --version 11.0.0.1
#r "nuget: WebView.Avalonia, 11.0.0.1"
// Install WebView.Avalonia as a Cake Addin #addin nuget:?package=WebView.Avalonia&version=11.0.0.1 // Install WebView.Avalonia as a Cake Tool #tool nuget:?package=WebView.Avalonia&version=11.0.0.1
Avalonia.WebView
Develop
- please install VisualStudio 2022 or greater or rider
- use .net7 runtime (version 7.0.0 or greater)(if you want to use others, please modify the version in the global.json)
- please setup workloads include Android, iOS, Wasm , MacOS
- please open the long path support in Windows OS(https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry)
How to use
Add [WebView.Avalonia][nuget] or [BlazorWebView.Avalonia][nuget] nuget package to your avaloniaui shared project:
dotnet add package WebView.Avalonia OR dotnet add package BlazorWebView.Avalonia
Add [WebView.Avalonia.Desktop][nuget] nuget package to your avaloniaui desktop project:
dotnet add package WebView.Avalonia.Desktop
Add [WebView.Avalonia.Android][nuget] nuget package to your avaloniaui Android project:
dotnet add package WebView.Avalonia.Android
Add [WebView.Avalonia.iOS][nuget] nuget package to your avaloniaui iOS project:
dotnet add package WebView.Avalonia.iOS
Edit
App.axaml.cs
file:using AvaloniaWebView; OR using AvaloniaBlazorWebView; ... public override void RegisterServices() { base.RegisterServices(); // if you use only WebView AvaloniaWebViewBuilder.Initialize(default); // Or // if you use BlazorWebView, please setting for blazor AvaloniaBlazorWebViewBuilder.Initialize(default, setting => { //this is setting for blazor setting.ComponentType = typeof(AppWeb); setting.Selector = "#app"; //because avalonia support the html css and js for resource ,so you must set the ResourceAssembly setting.IsAvaloniaResource = true; setting.ResourceAssembly = typeof(AppWeb).Assembly; }, inject => { //you can inject the resource in this inject.AddSingleton<WeatherForecastService>(); }); }
Edit
Program
file for Desktop:using Avalonia.WebView.Desktop; <<---add this ... public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure<App>() .UsePlatformDetect() .LogToTrace() .UseReactiveUI() .UseDesktopWebView(); <<---add this
Edit
SplashActivity
file for Android:using Avalonia.WebView.Android; <<---add this ... protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) { return base.CustomizeAppBuilder(builder) .UseReactiveUI() .UseAndroidWebView(); <<---add this }
Edit
AppDelegate
file for iOS:using Avalonia.WebView.iOS; <<---add this ... protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) { return builder.UseReactiveUI() .UseIosWebView(); <<---add this }
Description
use Webview2 for Windows (please install Microsoft edge Webview2)
use WKWebView[Appkit] for MacOS (system in)
use Webkit Webview for Linux (if not please install [sudo apt-get libwebkit2gtk-4-37])
use Android.Webkit.WebView for Android (this is in Microsoft-Android [net5.0-Android; net6.0-Android; net7.0-Android])
use WKWebView[UIKit] for iOS (this is in Microsoft-iOS [net5.0-ios; net6.0-ios; net7.0-ios])
Demo
You can always download demo executable to play around with WebView
https://github.com/MicroSugarDeveloperOrg/Avalonia.WebView.Sample
Version compatibility
WebView.Avalonia Version | Avalonia Version |
---|---|
0.1.0-rc1.x | 11.0-rc1.x |
NOTE
WebView.Avalonia is moving forward together with Avalonia preview versions now. So new feature/fixes are not backported to previous preview versions. If you need a feature/fix for outdated avalonia preview version, please raise an issue so we can do that for you.
Credits
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Avalonia (>= 11.0.0)
- Microsoft.Bcl.AsyncInterfaces (>= 7.0.0)
- Microsoft.Extensions.FileProviders.Abstractions (>= 7.0.0)
- System.Buffers (>= 4.5.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on WebView.Avalonia:
Package | Downloads |
---|---|
Auth0Avalonia
Auth0 OIDC Client for Avalonia apps |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on WebView.Avalonia:
Repository | Stars |
---|---|
Tyrrrz/YoutubeDownloader
Downloads videos and playlists from YouTube
|
|
BAndysc/Classic.Avalonia
Classic Theme and Controls for Avalonia
|
Version | Downloads | Last updated |
---|---|---|
11.0.0.1 | 19,555 | 7/12/2023 |
11.0.0 | 363 | 7/11/2023 |
0.1.0-rc1.1.7 | 106 | 6/16/2023 |
0.1.0-rc1.1.6 | 78 | 6/16/2023 |
0.1.0-rc1.1.5 | 83 | 6/15/2023 |
0.1.0-rc1.1.4 | 86 | 6/7/2023 |
0.1.0-rc1.1.3 | 88 | 6/7/2023 |
0.1.0-rc1.1.2 | 86 | 6/7/2023 |