WebWindowNetCore 10.0.0-beta-5
See the version list below for details.
dotnet add package WebWindowNetCore --version 10.0.0-beta-5
NuGet\Install-Package WebWindowNetCore -Version 10.0.0-beta-5
<PackageReference Include="WebWindowNetCore" Version="10.0.0-beta-5" />
paket add WebWindowNetCore --version 10.0.0-beta-5
#r "nuget: WebWindowNetCore, 10.0.0-beta-5"
// Install WebWindowNetCore as a Cake Addin #addin nuget:?package=WebWindowNetCore&version=10.0.0-beta-5&prerelease // Install WebWindowNetCore as a Cake Tool #tool nuget:?package=WebWindowNetCore&version=10.0.0-beta-5&prerelease
WebWindowNetCore
new
- WebWindowNetCore.Window and .Linux to this project
- Publish WebwindowNetCore only from Windows
- Test lionux version in Linux with if Windows Windows code and Windows.Forms.dlls
A Webview Application for Windows and Linux similar to Electron. It uses a functional builder pattern to set up the application. It has an integrted Asp.NET (Kestrel) server which can be used to host the app and to communicate between the C# application and the web app:
- you can call via javascript fetch from the web app (json input and output)
- The C# app can send SSE events to the web app
Prerequisites for Linux
sudo apt install libgtk-4-dev
`
WebWindowNetCore is the base Nuget packege, you need one more Nuget packages for every to supporting Operating system:
| Windows | Linux |
|---|---|
| WebWindowNetCore.Window | WebWindowNetCore.Linux |
## Functional builder setup in the C# application
There is a builder pattern to setup the application (```WebView.Create```):
WebView
.Create()
.InitialBounds(600, 800)
.Title("WebView Test")
.ResourceIcon("icon")
.SaveBounds()
.Url($"file://{Directory.GetCurrentDirectory()}/webroot/index.html")
#if DEBUG
.DebuggingEnabled()
#endif
.Build()
.Run();
### Setup integrated kestrel server
The integrated Asp.NET kestrel server also uses a builder pattern (```ConfigureHttp```)
WebView
.Create()
.InitialBounds(600, 800)
.Title("WebView Test")
.ResourceIcon("icon")
.SaveBounds()
.ConfigureHttp(http ⇒ http
.ResourceWebroot("webroot", "/web")
.UseJsonPost<Cmd1Param, Cmd1Result>("request/cmd1", JsonRequest1)
.UseJsonPost<Cmd2Param, Cmd2Result>("request/cmd2", JsonRequest2)
.UseSse("sse/test", sseEventSource)
.Build())
#if DEBUG
.DebuggingEnabled()
#endif
.Build()
.Run("de.uriegel.Commander");
The default (local) port is 20000. It can be adapted.
### Serving web app files from resource
It is possible to serve the web app via the integrated kestrel server, when the web app files are included as C# resources. You have to specify the resource root, under which the resource files are saved.
Please refer to the sample App
### How to setup .NET project:
<PropertyGroup>
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
<IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX>
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
</PropertyGroup>
<PropertyGroup Condition="'$(IsWindows)'=='true'"> <OutputType>WinExe</OutputType> <TargetFramework>net6.0-windows</TargetFramework> <RuntimeIdentifier>win-x64</RuntimeIdentifier> </PropertyGroup>
<PropertyGroup Condition="'$(IsLinux)'=='true'"> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <RuntimeIdentifier>linux-x64</RuntimeIdentifier> </PropertyGroup>
<ItemGroup Condition="'$(IsWindows)'=='true'"> <PackageReference Include="WebWindowNetCore.Windows" Version="..*" /> </ItemGroup>
<ItemGroup Condition="'$(IsLinux)'=='true'"> <PackageReference Include="WebWindowNetCore.Linux" Version="..*" /> </ItemGroup>
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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. net8.0-windows7.0 is compatible. |
-
net8.0
- AspNetExtensions (>= 7.3.1)
- FSharp.Core (>= 8.0.300)
- Gtk4DotNet (>= 6.1.0)
-
net8.0-windows7.0
- AspNetExtensions (>= 7.3.1)
- FSharp.Core (>= 8.0.300)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on WebWindowNetCore:
Package | Downloads |
---|---|
WebWindowNetCore.Electron
Dependencies for Electron for package WebWindowNetCore. Please look there for further information. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
10.0.16 | 164 | 9/3/2024 |
10.0.15 | 100 | 9/3/2024 |
10.0.14 | 108 | 9/2/2024 |
10.0.13 | 106 | 8/31/2024 |
10.0.12 | 109 | 8/31/2024 |
10.0.11 | 102 | 8/31/2024 |
10.0.10 | 110 | 8/31/2024 |
10.0.9 | 110 | 8/29/2024 |
10.0.8 | 106 | 8/28/2024 |
10.0.7 | 96 | 8/27/2024 |
10.0.6 | 111 | 8/27/2024 |
10.0.5 | 95 | 8/27/2024 |
10.0.4 | 116 | 8/26/2024 |
10.0.3 | 106 | 8/26/2024 |
10.0.2 | 109 | 8/26/2024 |
10.0.1 | 108 | 8/26/2024 |
10.0.0 | 137 | 8/25/2024 |
10.0.0-beta-9 | 95 | 8/17/2024 |
10.0.0-beta-8 | 101 | 8/16/2024 |
10.0.0-beta-7 | 100 | 8/8/2024 |
10.0.0-beta-6 | 85 | 8/8/2024 |
10.0.0-beta-5 | 86 | 8/8/2024 |
10.0.0-beta-4 | 87 | 8/7/2024 |
10.0.0-beta-3 | 81 | 8/7/2024 |
10.0.0-beta-2 | 87 | 8/7/2024 |
10.0.0-beta-12 | 106 | 8/24/2024 |
10.0.0-beta-11 | 97 | 8/24/2024 |
10.0.0-beta-10 | 96 | 8/20/2024 |
9.6.7 | 130 | 7/29/2024 |
9.6.6 | 234 | 3/26/2024 |
9.6.5 | 146 | 3/10/2024 |
9.6.4 | 163 | 1/22/2024 |
9.6.3 | 124 | 1/20/2024 |
9.6.2 | 122 | 1/20/2024 |
9.6.1 | 128 | 1/13/2024 |
9.6.0 | 126 | 1/11/2024 |
9.5.0 | 133 | 1/7/2024 |
9.4.2 | 96 | 1/7/2024 |
9.4.1 | 154 | 12/26/2023 |
9.4.0 | 161 | 12/23/2023 |
9.3.0 | 198 | 12/22/2023 |
9.2.0 | 144 | 12/18/2023 |
9.1.1 | 122 | 12/15/2023 |
9.1.0 | 148 | 12/15/2023 |
9.0.0 | 128 | 12/14/2023 |
8.0.0 | 186 | 12/10/2023 |
7.2.0 | 170 | 11/29/2023 |
7.1.0 | 125 | 11/29/2023 |
7.0.0 | 182 | 11/20/2023 |
7.0.0-alpha | 125 | 11/18/2023 |
6.9.2 | 153 | 11/18/2023 |
6.9.1 | 156 | 11/17/2023 |
6.9.0 | 127 | 11/17/2023 |
6.8.0 | 138 | 11/17/2023 |
6.7.0 | 133 | 11/17/2023 |
6.6.0 | 177 | 11/16/2023 |
6.5.4 | 164 | 11/16/2023 |
6.5.3 | 181 | 11/12/2023 |
6.5.2 | 166 | 11/12/2023 |
6.5.1 | 133 | 11/12/2023 |
6.5.0 | 155 | 11/11/2023 |
6.4.0 | 130 | 11/11/2023 |
6.3.0 | 173 | 10/30/2023 |
6.2.1 | 133 | 11/12/2023 |
6.2.0 | 179 | 10/29/2023 |
6.1.0 | 227 | 8/24/2023 |
6.0.0 | 200 | 8/10/2023 |
5.1.0 | 416 | 4/10/2023 |
5.0.0 | 254 | 4/8/2023 |
4.4.0 | 395 | 3/22/2023 |
4.3.3 | 279 | 3/21/2023 |
4.3.2 | 285 | 3/21/2023 |
4.3.1 | 291 | 3/19/2023 |
4.3.0 | 334 | 3/18/2023 |
4.2.0 | 339 | 3/13/2023 |
4.1.0 | 252 | 3/13/2023 |
4.0.0 | 333 | 3/12/2023 |
4.0.0-alpha.5 | 169 | 2/28/2022 |
4.0.0-alpha.4 | 141 | 2/27/2022 |
4.0.0-alpha.3 | 126 | 2/27/2022 |
4.0.0-alpha.2 | 130 | 2/27/2022 |
4.0.0-alpha.1 | 135 | 2/27/2022 |
3.2.1 | 590 | 4/9/2022 |
3.2.0 | 1,039 | 8/15/2020 |
3.1.3 | 515 | 8/8/2020 |
3.1.2 | 461 | 7/29/2020 |
3.1.1 | 447 | 7/29/2020 |
3.1.0 | 414 | 7/28/2020 |
3.0.2 | 540 | 5/3/2020 |
3.0.1 | 428 | 5/3/2020 |
3.0.0 | 423 | 5/3/2020 |
2.2.0 | 423 | 7/28/2020 |
2.1.3 | 480 | 5/2/2020 |
2.1.2 | 471 | 5/2/2020 |
2.1.1 | 629 | 3/4/2020 |
2.1.0 | 491 | 3/4/2020 |
2.0.0 | 1,017 | 2/29/2020 |
1.0.1 | 487 | 5/2/2020 |
1.0.0 | 500 | 2/23/2020 |
0.0.7 | 454 | 2/22/2020 |
0.0.6 | 416 | 2/22/2020 |
0.0.5 | 534 | 2/22/2020 |
0.0.4 | 554 | 2/22/2020 |
0.0.3 | 559 | 2/22/2020 |
0.0.2 | 533 | 2/21/2020 |
0.0.1 | 454 | 2/21/2020 |
0.0.1-alpha.14 | 96 | 3/12/2023 |
0.0.1-alpha.13 | 90 | 3/12/2023 |
0.0.1-alpha.12 | 94 | 3/12/2023 |
0.0.1-alpha.10 | 93 | 3/10/2023 |
0.0.1-alpha.9 | 92 | 3/10/2023 |
0.0.1-alpha.8 | 101 | 3/9/2023 |
0.0.1-alpha.7 | 100 | 3/3/2023 |
0.0.1-alpha.6 | 99 | 3/3/2023 |