Zum Inhalt
Kuonen.UI

Installation

Paketquelle einrichten, Pakete je Plattform, Designer installieren.

Kuonen.UI kommt als NuGet-Pakete aus der eigenen Paketquelle unter ui.kuonen.org. Der Designer ist eine Erweiterung für Visual Studio Code.

Voraussetzungen

  • .NET 10 SDK (Windows, Linux oder macOS)
  • für Android und iOS die Workloads android und ios (dotnet workload install android)
  • für den Designer Visual Studio Code

Paketquelle einrichten

Einmal je Rechner:

dotnet nuget add source https://ui.kuonen.org/nuget/index.json --name kuonen

Oder im Projekt als nuget.config neben der Projektmappe:

<configuration>
  <packageSources>
    <add key="kuonen" value="https://ui.kuonen.org/nuget/index.json" />
  </packageSources>
</configuration>

Pakete einbinden

Eine Anwendung braucht nur ein Paket: Kuonen.UI.App wählt beim Start den Host der Plattform. Kern, Controls, Themes, Hosts und der KXAML-Generator kommen als Abhängigkeiten mit (siehe Ein Paket für alle).

<ItemGroup>
  <PackageReference Include="Kuonen.UI.App" Version="0.1.0" />
</ItemGroup>

Wer nur eine Plattform bedient oder den Host selbst starten will, bindet stattdessen den Host dieser Plattform ein:

PlattformPaketHost
WindowsKuonen.UI.Hosts.WindowsWindowsHost
Linux (Wayland und X11)Kuonen.UI.Hosts.LinuxLinuxHost
macOSKuonen.UI.Hosts.MacOSMacHost
AndroidKuonen.UI.Hosts.AndroidAndroidHost
iOSKuonen.UI.Hosts.iOSIosHost
Browser (WebAssembly)Kuonen.UI.Hosts.BrowserBrowserHost
Blazor ServerKuonen.UI.Hosts.Blazor.Serverüber eine Komponente
Tests ohne FensterKuonen.UI.HostsHeadlessHost

Die .kxaml-Dateien des Projekts werden automatisch eingebunden und beim Bauen übersetzt; ebenso Lizenzdateien *.kuonenlizenz (siehe Lizenz).

Designer für Visual Studio Code

  1. Die Erweiterung kuonen-kxaml-….vsix von der Seite Download laden.
  2. In VS Code: Erweiterungen, Menü „…“, „Aus VSIX installieren…“ – oder auf der Befehlszeile:
code --install-extension kuonen-kxaml-0.1.0.vsix
  1. Eine .kxaml-Datei öffnen: Vervollständigung, Hover, Meldungen und Färbung sind sofort da; der Designer öffnet sich über den Knopf oben rechts im Editor. Mehr dazu im Handbuch.

Aus einem Ordner oder vom NAS

Die Pakete lassen sich auch ohne Webserver beziehen: aus einem lokalen Ordner, einer Freigabe auf dem NAS oder einem anderen Netzlaufwerk. Dafür den Feed (oder nur die .nupkg-Dateien) dorthin kopieren und als Paketquelle den Ordner v3-flatcontainer eintragen – NuGet liest ihn direkt.

So sieht der Ordner aus:

\\nas\software\kuonen-ui\                 der kopierte Feed
  v3-flatcontainer\                       diesen Ordner als Paketquelle eintragen
    kuonen.ui\0.1.0\kuonen.ui.0.1.0.nupkg
    kuonen.ui.hosts.windows\0.1.0\…

Windows, Freigabe auf dem NAS (nuget.config neben der Projektmappe):

<configuration>
  <packageSources>
    <add key="kuonen" value="\\nas\software\kuonen-ui\v3-flatcontainer" />
  </packageSources>
</configuration>

Windows, lokaler Ordner oder verbundenes Laufwerk:

<configuration>
  <packageSources>
    <add key="kuonen" value="D:\Pakete\kuonen-ui\v3-flatcontainer" />
  </packageSources>
</configuration>

Linux und macOS (die Freigabe zuerst einhängen, etwa unter /mnt/nas oder /Volumes/software):

<configuration>
  <packageSources>
    <add key="kuonen" value="/mnt/nas/software/kuonen-ui/v3-flatcontainer" />
  </packageSources>
</configuration>

Oder auf der Befehlszeile, einmal je Rechner:

dotnet nuget add source "\\nas\software\kuonen-ui\v3-flatcontainer" --name kuonen
dotnet nuget add source /mnt/nas/software/kuonen-ui/v3-flatcontainer --name kuonen

Hinweise:

  • Ein Ordner, in dem nur die .nupkg-Dateien liegen, geht auch (NuGet durchsucht dann alle Dateien); der v3-flatcontainer ist bei vielen Paketen schneller.
  • Auf eine Freigabe mit Anmeldung muss das Konto, unter dem gebaut wird, Lesezugriff haben (unter Windows einmal im Explorer anmelden, unter Linux die Anmeldedaten beim Einhängen angeben). NuGet selbst fragt bei Ordnern nie nach einem Kennwort.
  • Neue Versionen einfach dazukopieren: eine veröffentlichte Version wird nie überschrieben.
  • Im Container oder auf dem NAS mit Docker lässt sich auch die ganze Webseite samt Feed betreiben: Image kuomar/kuonen.ui auf Docker Hub.