Przejdź do treści

Electron.NET

  • przez

Szukając dostępnych opcji dla aplikacji desktopowych z użyciem .net core natrafiłem na Electron.NET. Electron.NET jest połączeniem electron i asp.net core. Niewątpliwym atutuem Electron.NET jest też to, że jest cross-platform. Chciałbym zaorezentować Ci jak łatwo tworzy się przykładowy hello world.

Zacznijmy od zainstalowania Electron.NET tools:

dotnet tool install ElectronNET.CLI -g

Uwórzmy solucję i projekt:

dotnet new sln -n ElectronHelloWorld
dotnet new razor -lang C# -n ElectronApplication -o ElectronApplication

Myślę, że nadszedł już najwyższy czas na dodanie biblioteki Electron.NET do naszego projektu:

dotnet add package ElectronNET.API

Teraz musimy wywołać metodę UseElectron w Program.cs

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseElectron(args);
            webBuilder.UseStartup<Startup>();
        });

Teraz w pliku Startup.cs w metodzie Configure na samym końcu dodajmy Task.Run(async () => await Electron.WindowManager.CreateWindowAsync());

Finalnie będzie to wyglądać tak:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Error");
        app.UseHsts();
    }
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapRazorPages();
    });
    Task.Run(async () => await Electron.WindowManager.CreateWindowAsync());
}

W folderze ElectronApplication wywołaj instrukcję:

electronize init
electronize start

Powinieneś zobaczyć nasze hello world:

Myślę, że ta biblioteka na pewno jest jedną z opcji, jaką możesz wybrać, jeśli zamierzasz utworzyć aplikację działającą na windows/linux/macOS.