Cross-Plattform-Desktop-Apps mit Electron und .NET entwickeln

Electron.NET: Ein Electron-Derivat für .NET Core
Kommentare

Electron.NET ist ein neues Projekt, das die Cross-Plattform-Entwicklung von Desktop-Anwendungen für Windows, OSX und Linux erlaubt. Zum Einsatz kommen dafür C# und ASP.NET Core sowie die Runtime von GitHubs Cross-Plattform-Framework Electron.

Das neue Open Source Projekt Electron.NET von Gregor Biswanger (Microsoft MVP) und Robert Mühsig (Microsoft MVP)  macht Electron APIs für .NET-Anwendungen nutzbar. Robert Mühsig fasst die grundlegende Funktionsweise des neuen Tools in seinem Blog wie folgt zusammen:

  • We ship a “standard” (more or less blank) Electron app
  • Inside the Electron part two free ports are searched:
    • The first free port is used inside the Electron app itself
    • The second free port is used for the ASP.NET Core process
  • The app launches the .NET Core process with ASP.NET Core port (e.g. localhost:8002) and injects the first port as parameter
  • Now we have a Socket.IO based linked between the launched ASP.NET Core app and the Electron app itself – this is our communication bridge!

Anschließend sei es möglich, so Muehsig weiter, Standard-ASPN.NET-Code zu schreiben und per API mit der Electron-App zu kommunzieren. Auf der GitHub-Seite des Projekts findet sich eine genauere Beschreibung des Projekts mit Code-Snippets für den Start neuer Projekte ; eine vollständige Dokumentation liegt jedoch noch nicht vor. Das Electron.NET API kann allerdings anhand einer Demo-Anwendung getestet werden die ebenfalls auf GitHub verfügbar ist. Schlussendlich handelt es sich bei Electron.NET um einen Wrapper für Electron; ohne Node.js kann damit nicht gearbeitet werden.

API Summit 2017

Web APIs mit moderner Web-Technologie konsumieren

mit Rainer Stropek (software architects)

API First mit Swagger & Co.

mit Thilo Frotscher (Freiberufler)

Wie die Arbeit mit Electron.NET in der Praxis aussieht, zeigt Gregor Biswanger in seinem Blog am Beispiel einer einfachen MusicPlayer-Anwendung. Für das Projekt werden zusätzlich zu Electron.NET das bereits vorgenannteNode.js 8.x, das neuste .NET Core SDK sowie Visual Studio 2017 verwendet. Im Tutorial zur MusicPlayer-App zeigt er Schritt für Schritt, wie eine ASP.NET MVC Core 2 Anwendung erstellt und danach um Electron.NET ergänzt wird:

public static IWebHost BuildWebHost(string[] args)
{
    return WebHost.CreateDefaultBuilder(args)
        .UseElectron(args)
        .UseStartup()
        .Build();
}

Zu beachten an der derzeit vorliegenden Version von Electron.NET ist außerdem, dass der erste Start der Electron.NET-Anwendung mehr Zeit benötigt als gewohnt; dies solle jedoch bei weiteren Starts anders sei. Die Entwickler von Electron.NET geben an, an diesem Problem zu arbeiten. Auch weisen sie darauf hin, dass sich das Projekt noch in der Entwicklungsphase befinde. Derzeit liegt Version 0.0.6 vor; Electron.NET kann via NuGet bezogen werden. Die Entwickler des Frameworks freuen sich über Feedback aus der Community.

Name Electron.NET
Entwickler Robert Mühsig, Gregor Biswanger
GitHub https://github.com/ElectronNET/Electron.NET
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -