WebUI.NET 2.4.2.2

dotnet add package WebUI.NET --version 2.4.2.2                
NuGet\Install-Package WebUI.NET -Version 2.4.2.2                
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="WebUI.NET" Version="2.4.2.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add WebUI.NET --version 2.4.2.2                
#r "nuget: WebUI.NET, 2.4.2.2"                
#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 WebUI.NET as a Cake Addin
#addin nuget:?package=WebUI.NET&version=2.4.2.2

// Install WebUI.NET as a Cake Tool
#tool nuget:?package=WebUI.NET&version=2.4.2.2                

<div align="center">

Logo

WebUI.NET

</div>

WebUI is a minimal GUI library that uses a Browser already installed instead of bundling a large browser engine or requiring support for a native WebView.

This library contains high level bindings and precompiled binaries for the native WebUI library.

Features

  • Portable (Needs only a web browser and .NET at runtime)
  • Fast binary communication protocol
  • Multi-platform & Multi-Browser
  • Using private profile for safety

Screenshots

If you want to see whats possible here are screenshots of the text_editor example (originally ported from the C version) on Windows, MacOS and Linux (Gnome) <p align="middle"> <img src="https://github.com/Juff-Ma/WebUI.NET/blob/main/assets/Windows-Screenshot.png" width="33%" /> <img src="https://github.com/Juff-Ma/WebUI.NET/blob/main/assets/MacOS-Screenshot.png" width="33%" /> <img src="https://github.com/Juff-Ma/WebUI.NET/blob/main/assets/Linux-Screenshot.png" width="33%" /> </p>

More Info

If you are not yet convinced or need more informations about WebUI take a look at it's homepage or it's repository

Contents

Installation

You can install WebUI.NET using nuget by using the nuget explorer or the following command:

dotnet add package WebUI.NET

In addition, to use prebuild versions of WebUI you'll need to download WebUI.NET.Natives

dotnet add package WebUI.NET.Natives

or the secure natives (OpenSSL support)

dotnet add package WebUI.NET.Natives.Secure

Debug builds

The debug builds of WebUI.NET are provided using github packages and contain debug builds of the library and the underlying natives. WebUI will ONLY provide debug logging on such builds. If you did install the nuget.org variant first you might need to clear your nuget cache and bin/obj directories in order for nuget to download and use those builds.

Usage

A basic example (.NET 7.0+) of how to open a Window and display a basic message (taken from basic_window example)

using WebUI;

Window window = new();
window.Show("""
<html>
    <script src="webui.js"></script> 
    <head>
        <title>WebUI</title>
    </head>
    <body>
        <h1>WebUI</h1>
        <p>It works!</p>
    </body>
</html>
""");

Utils.WaitForExit();

For more examples you can look at the examples directory.

Deployment Options

If you finished writing your app and now want to ship it to your users you have multiple options, of course you can package the app in whatever way you want but here are some tested recommendations. For Windows and Linux deployment take a look at PupNet-Deploy and for MacOS you can write a little startup bash script and then use Platypus and create-dmg to build the package.

Building

You can build WebUI.NET itself like every other .NET project by using dotnet build. When buildung the .nupkg and .snupkg are put into the repective configuration's directory inside the nupkgs toplevel directory.

In contrast the examples require the library and natives provided by WebUI.NET and WebUI.NET.Natives. Because of a limitation of .NET natives can only be provided by a nuget package and not a package reference. The examples take the nuget binaries from the nupkgs directory, this leads to some problems while development (like requiring to clear the nuget cache every now and then). For you this will mean that if you want to build the examples or the full solution you will need to build the WebUI.NET and WebUI.NET.Natives packages at least once so they provide those packages locally.

Licensing

WebUI.NET is licensed under the MPL-2.0 license, more information about dos and don'ts can be found on the Mozilla MPL FAQ but in short you can use this library in binary form in proprietary and open-source projects as long as you keep the copyright and tell people where to download the library. If you want to include the library in source code form you will need to keep every file that contains MPL code under the MPL. Notable exception are the LGPL2.1+ GPL2+ or AGPL3+ licenses that the MPL also allows you to use. DISCLAIMER: I'm not a lawyer and this is not legal advice, if you want more specific info please read the FAQ and the license<br/> The examples are NOT part of the main project and can be used under the CC0 license for that matter as long as you respect the license of this library and the other libraries used by this project.

WebUI and its logo (on which the WebUI.NET logo is based) are licensed under the MIT license.

All libraries used in this projects are under Copyright (C) of their respective owners. You can find more information on the copyright notice of the WebUI.NET.Natives and WebUI.NET.Natives.Secure nuget packages.

Alternatives

If you want a library that is not licensed under MPL but rather MIT and has similar functionality consider checking out WebUI4CSharp

Product 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 is compatible.  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.  net9.0 is compatible. 
.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 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 is compatible.  net48 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.7.2

    • No dependencies.
  • .NETFramework 4.8

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

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
2.4.2.2 83 12/14/2024
2.4.2.1 254 3/6/2024
2.4.2 135 3/2/2024