WebView.Avalonia.Android 0.1.0-rc1.1.7

This is a prerelease version of WebView.Avalonia.Android.
There is a newer version of this package available.
See the version list below for details.
dotnet add package WebView.Avalonia.Android --version 0.1.0-rc1.1.7                
NuGet\Install-Package WebView.Avalonia.Android -Version 0.1.0-rc1.1.7                
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="WebView.Avalonia.Android" Version="0.1.0-rc1.1.7" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add WebView.Avalonia.Android --version 0.1.0-rc1.1.7                
#r "nuget: WebView.Avalonia.Android, 0.1.0-rc1.1.7"                
#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.
// Install WebView.Avalonia.Android as a Cake Addin
#addin nuget:?package=WebView.Avalonia.Android&version=0.1.0-rc1.1.7&prerelease

// Install WebView.Avalonia.Android as a Cake Tool
#tool nuget:?package=WebView.Avalonia.Android&version=0.1.0-rc1.1.7&prerelease                

Avalonia.WebView

Develop

How to use

  1. 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
    
  2. Add [WebView.Avalonia.Desktop][nuget] nuget package to your avaloniaui desktop project:

    dotnet add package WebView.Avalonia.Desktop
    
  3. Add [WebView.Avalonia.Android][nuget] nuget package to your avaloniaui Android project:

    dotnet add package WebView.Avalonia.Android
    
  4. Add [WebView.Avalonia.iOS][nuget] nuget package to your avaloniaui iOS project:

    dotnet add package WebView.Avalonia.iOS
    
  5. 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>();
         });
      }
    
  6. Edit Program file for Desktop:

    using Avalonia.WebView.Desktop; <<---add this
    ...
     public static AppBuilder BuildAvaloniaApp()
        => AppBuilder.Configure<App>()
            .UsePlatformDetect()
            .LogToTrace()
            .UseReactiveUI()
            .UseDesktopWebView();   <<---add this
    
  7. 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
    }
    
  8. 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

Avalonia

Maui

Xamarin.MacIos

Microsoft.WebView2

GTKSharp

WebkitGtkSharp

Product Compatible and additional computed target framework versions.
.NET net7.0-android33.0 is compatible.  net8.0-android 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
11.0.0.1 1,244 7/12/2023
11.0.0 185 7/11/2023
0.1.0-rc1.1.7 99 6/16/2023
0.1.0-rc1.1.6 80 6/16/2023
0.1.0-rc1.1.5 76 6/15/2023
0.1.0-rc1.1.4 84 6/7/2023
0.1.0-rc1.1.3 77 6/7/2023
0.1.0-rc1.1.2 75 6/7/2023