WebWindowNetCore 10.0.0-beta-8
See the version list below for details.
dotnet add package WebWindowNetCore --version 10.0.0-beta-8
NuGet\Install-Package WebWindowNetCore -Version 10.0.0-beta-8
<PackageReference Include="WebWindowNetCore" Version="10.0.0-beta-8" />
paket add WebWindowNetCore --version 10.0.0-beta-8
#r "nuget: WebWindowNetCore, 10.0.0-beta-8"
// Install WebWindowNetCore as a Cake Addin #addin nuget:?package=WebWindowNetCore&version=10.0.0-beta-8&prerelease // Install WebWindowNetCore as a Cake Tool #tool nuget:?package=WebWindowNetCore&version=10.0.0-beta-8&prerelease
WebWindowNetCore
Notes for Developers
Developing for Windows
In the project file WebWindowNetCoe.fsproj
replace the following line
<TargetFrameworks>net8.0;net8.0-windows</TargetFrameworks>
with
<TargetFrameworks>net8.0-windows</TargetFrameworks>
Don't forget to replace it to the original value before publishing a new nuget version
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 !!!No!!!
`
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
- FSharp.Core (>= 8.0.301)
- FSharpTools (>= 10.2.1)
- Giraffe (>= 7.0.0)
- GiraffeTools (>= 1.0.0)
- Gtk4DotNet (>= 6.4.0)
-
net8.0-windows7.0
- ClrWinApi (>= 2.4.0)
- FSharp.Core (>= 8.0.301)
- FSharpTools (>= 10.2.1)
- Giraffe (>= 7.0.0)
- GiraffeTools (>= 1.0.0)
- Microsoft.Web.WebView2 (>= 1.0.2592.51)
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 | 149 | 9/3/2024 |
10.0.15 | 94 | 9/3/2024 |
10.0.14 | 102 | 9/2/2024 |
10.0.13 | 100 | 8/31/2024 |
10.0.12 | 103 | 8/31/2024 |
10.0.11 | 96 | 8/31/2024 |
10.0.10 | 104 | 8/31/2024 |
10.0.9 | 104 | 8/29/2024 |
10.0.8 | 100 | 8/28/2024 |
10.0.7 | 90 | 8/27/2024 |
10.0.6 | 105 | 8/27/2024 |
10.0.5 | 89 | 8/27/2024 |
10.0.4 | 110 | 8/26/2024 |
10.0.3 | 100 | 8/26/2024 |
10.0.2 | 103 | 8/26/2024 |
10.0.1 | 102 | 8/26/2024 |
10.0.0 | 131 | 8/25/2024 |
10.0.0-beta-9 | 91 | 8/17/2024 |
10.0.0-beta-8 | 97 | 8/16/2024 |
10.0.0-beta-7 | 96 | 8/8/2024 |
10.0.0-beta-6 | 81 | 8/8/2024 |
10.0.0-beta-5 | 82 | 8/8/2024 |
10.0.0-beta-4 | 83 | 8/7/2024 |
10.0.0-beta-3 | 77 | 8/7/2024 |
10.0.0-beta-2 | 83 | 8/7/2024 |
10.0.0-beta-12 | 102 | 8/24/2024 |
10.0.0-beta-11 | 93 | 8/24/2024 |
10.0.0-beta-10 | 92 | 8/20/2024 |
9.6.7 | 122 | 7/29/2024 |
9.6.6 | 230 | 3/26/2024 |
9.6.5 | 142 | 3/10/2024 |
9.6.4 | 157 | 1/22/2024 |
9.6.3 | 120 | 1/20/2024 |
9.6.2 | 118 | 1/20/2024 |
9.6.1 | 122 | 1/13/2024 |
9.6.0 | 122 | 1/11/2024 |
9.5.0 | 129 | 1/7/2024 |
9.4.2 | 92 | 1/7/2024 |
9.4.1 | 148 | 12/26/2023 |
9.4.0 | 157 | 12/23/2023 |
9.3.0 | 192 | 12/22/2023 |
9.2.0 | 140 | 12/18/2023 |
9.1.1 | 118 | 12/15/2023 |
9.1.0 | 144 | 12/15/2023 |
9.0.0 | 124 | 12/14/2023 |
8.0.0 | 182 | 12/10/2023 |
7.2.0 | 166 | 11/29/2023 |
7.1.0 | 121 | 11/29/2023 |
7.0.0 | 178 | 11/20/2023 |
7.0.0-alpha | 123 | 11/18/2023 |
6.9.2 | 149 | 11/18/2023 |
6.9.1 | 150 | 11/17/2023 |
6.9.0 | 121 | 11/17/2023 |
6.8.0 | 134 | 11/17/2023 |
6.7.0 | 129 | 11/17/2023 |
6.6.0 | 173 | 11/16/2023 |
6.5.4 | 160 | 11/16/2023 |
6.5.3 | 177 | 11/12/2023 |
6.5.2 | 160 | 11/12/2023 |
6.5.1 | 127 | 11/12/2023 |
6.5.0 | 151 | 11/11/2023 |
6.4.0 | 126 | 11/11/2023 |
6.3.0 | 169 | 10/30/2023 |
6.2.1 | 125 | 11/12/2023 |
6.2.0 | 175 | 10/29/2023 |
6.1.0 | 223 | 8/24/2023 |
6.0.0 | 196 | 8/10/2023 |
5.1.0 | 410 | 4/10/2023 |
5.0.0 | 250 | 4/8/2023 |
4.4.0 | 391 | 3/22/2023 |
4.3.3 | 275 | 3/21/2023 |
4.3.2 | 281 | 3/21/2023 |
4.3.1 | 287 | 3/19/2023 |
4.3.0 | 330 | 3/18/2023 |
4.2.0 | 335 | 3/13/2023 |
4.1.0 | 248 | 3/13/2023 |
4.0.0 | 329 | 3/12/2023 |
4.0.0-alpha.5 | 165 | 2/28/2022 |
4.0.0-alpha.4 | 139 | 2/27/2022 |
4.0.0-alpha.3 | 124 | 2/27/2022 |
4.0.0-alpha.2 | 128 | 2/27/2022 |
4.0.0-alpha.1 | 133 | 2/27/2022 |
3.2.1 | 586 | 4/9/2022 |
3.2.0 | 1,035 | 8/15/2020 |
3.1.3 | 511 | 8/8/2020 |
3.1.2 | 457 | 7/29/2020 |
3.1.1 | 443 | 7/29/2020 |
3.1.0 | 410 | 7/28/2020 |
3.0.2 | 536 | 5/3/2020 |
3.0.1 | 424 | 5/3/2020 |
3.0.0 | 419 | 5/3/2020 |
2.2.0 | 419 | 7/28/2020 |
2.1.3 | 476 | 5/2/2020 |
2.1.2 | 467 | 5/2/2020 |
2.1.1 | 625 | 3/4/2020 |
2.1.0 | 487 | 3/4/2020 |
2.0.0 | 1,013 | 2/29/2020 |
1.0.1 | 483 | 5/2/2020 |
1.0.0 | 494 | 2/23/2020 |
0.0.7 | 448 | 2/22/2020 |
0.0.6 | 412 | 2/22/2020 |
0.0.5 | 530 | 2/22/2020 |
0.0.4 | 550 | 2/22/2020 |
0.0.3 | 555 | 2/22/2020 |
0.0.2 | 529 | 2/21/2020 |
0.0.1 | 450 | 2/21/2020 |
0.0.1-alpha.14 | 94 | 3/12/2023 |
0.0.1-alpha.13 | 88 | 3/12/2023 |
0.0.1-alpha.12 | 92 | 3/12/2023 |
0.0.1-alpha.10 | 91 | 3/10/2023 |
0.0.1-alpha.9 | 90 | 3/10/2023 |
0.0.1-alpha.8 | 99 | 3/9/2023 |
0.0.1-alpha.7 | 98 | 3/3/2023 |
0.0.1-alpha.6 | 97 | 3/3/2023 |