From a6330548d107081759a5e02adefff67d0087fe9f Mon Sep 17 00:00:00 2001 From: ysmoradi Date: Tue, 25 Feb 2025 19:38:14 +0100 Subject: [PATCH] add LumexUI to the list (#18) --- BlazorBenchmarks.sln | 16 +++++++ LumexUI.Blazor.Benchmark/Client/App.razor | 12 +++++ .../LumexUI.Blazor.Benchmark.Client.csproj | 17 +++++++ .../Client/MainLayout.razor | 7 +++ .../Client/Pages/Index.razor | 28 ++++++++++++ LumexUI.Blazor.Benchmark/Client/Program.cs | 13 ++++++ .../Client/Properties/launchSettings.json | 12 +++++ .../Client/_Imports.razor | 9 ++++ .../Client/wwwroot/index.html | 16 +++++++ .../LumexUI.Blazor.Benchmark.Server.csproj | 17 +++++++ LumexUI.Blazor.Benchmark/Server/Program.cs | 45 +++++++++++++++++++ .../Server/Properties/launchSettings.json | 14 ++++++ .../Server/appsettings.Development.json | 8 ++++ .../Server/appsettings.json | 9 ++++ README.md | 1 + 15 files changed, 224 insertions(+) create mode 100644 LumexUI.Blazor.Benchmark/Client/App.razor create mode 100644 LumexUI.Blazor.Benchmark/Client/LumexUI.Blazor.Benchmark.Client.csproj create mode 100644 LumexUI.Blazor.Benchmark/Client/MainLayout.razor create mode 100644 LumexUI.Blazor.Benchmark/Client/Pages/Index.razor create mode 100644 LumexUI.Blazor.Benchmark/Client/Program.cs create mode 100644 LumexUI.Blazor.Benchmark/Client/Properties/launchSettings.json create mode 100644 LumexUI.Blazor.Benchmark/Client/_Imports.razor create mode 100644 LumexUI.Blazor.Benchmark/Client/wwwroot/index.html create mode 100644 LumexUI.Blazor.Benchmark/Server/LumexUI.Blazor.Benchmark.Server.csproj create mode 100644 LumexUI.Blazor.Benchmark/Server/Program.cs create mode 100644 LumexUI.Blazor.Benchmark/Server/Properties/launchSettings.json create mode 100644 LumexUI.Blazor.Benchmark/Server/appsettings.Development.json create mode 100644 LumexUI.Blazor.Benchmark/Server/appsettings.json diff --git a/BlazorBenchmarks.sln b/BlazorBenchmarks.sln index 85105cc..0a99fd4 100644 --- a/BlazorBenchmarks.sln +++ b/BlazorBenchmarks.sln @@ -68,6 +68,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".Solution Items", ".Solutio README.md = README.md EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LumexUI.Blazor.Benchmark", "LumexUI.Blazor.Benchmark", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LumexUI.Blazor.Benchmark.Client", "LumexUI.Blazor.Benchmark\Client\LumexUI.Blazor.Benchmark.Client.csproj", "{ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LumexUI.Blazor.Benchmark.Server", "LumexUI.Blazor.Benchmark\Server\LumexUI.Blazor.Benchmark.Server.csproj", "{9555DE6B-C270-0B8F-240D-5994DD10013A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -154,6 +160,14 @@ Global {B99719A5-C51D-4E84-8C17-0232EFDB69F7}.Debug|Any CPU.Build.0 = Debug|Any CPU {B99719A5-C51D-4E84-8C17-0232EFDB69F7}.Release|Any CPU.ActiveCfg = Release|Any CPU {B99719A5-C51D-4E84-8C17-0232EFDB69F7}.Release|Any CPU.Build.0 = Release|Any CPU + {ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}.Release|Any CPU.Build.0 = Release|Any CPU + {9555DE6B-C270-0B8F-240D-5994DD10013A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9555DE6B-C270-0B8F-240D-5994DD10013A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9555DE6B-C270-0B8F-240D-5994DD10013A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9555DE6B-C270-0B8F-240D-5994DD10013A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -179,6 +193,8 @@ Global {37974F2E-325D-48B2-80B6-EB8F3E3EEF21} = {FFB0EA65-EE0B-46B5-AC93-32C84C04BD95} {C7D3A94A-9A82-4F41-9372-B0C8EF66ACF0} = {AA99018F-7582-4A3C-989D-6B18506F864B} {B99719A5-C51D-4E84-8C17-0232EFDB69F7} = {AA99018F-7582-4A3C-989D-6B18506F864B} + {ADCB62CD-1693-7A0F-A06D-F02001BCDC8E} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {9555DE6B-C270-0B8F-240D-5994DD10013A} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E284F5B4-146F-44A2-9962-B50F6216B1A7} diff --git a/LumexUI.Blazor.Benchmark/Client/App.razor b/LumexUI.Blazor.Benchmark/Client/App.razor new file mode 100644 index 0000000..6fd3ed1 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Client/App.razor @@ -0,0 +1,12 @@ + + + + + + + Not found + +

Sorry, there's nothing at this address.

+
+
+
diff --git a/LumexUI.Blazor.Benchmark/Client/LumexUI.Blazor.Benchmark.Client.csproj b/LumexUI.Blazor.Benchmark/Client/LumexUI.Blazor.Benchmark.Client.csproj new file mode 100644 index 0000000..fe49299 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Client/LumexUI.Blazor.Benchmark.Client.csproj @@ -0,0 +1,17 @@ + + + + net9.0 + enable + enable + true + true + + + + + + + + + diff --git a/LumexUI.Blazor.Benchmark/Client/MainLayout.razor b/LumexUI.Blazor.Benchmark/Client/MainLayout.razor new file mode 100644 index 0000000..c884d10 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Client/MainLayout.razor @@ -0,0 +1,7 @@ +@inherits LayoutComponentBase + +
+ @Body +
+ + diff --git a/LumexUI.Blazor.Benchmark/Client/Pages/Index.razor b/LumexUI.Blazor.Benchmark/Client/Pages/Index.razor new file mode 100644 index 0000000..183a838 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Client/Pages/Index.razor @@ -0,0 +1,28 @@ +@page "/" + +
+ @($"Counter: {counter}") + + + + A Label for An Input + +
+ + + +@code { + int counter; + + void IncreaseCounter() + { + counter++; + } +} \ No newline at end of file diff --git a/LumexUI.Blazor.Benchmark/Client/Program.cs b/LumexUI.Blazor.Benchmark/Client/Program.cs new file mode 100644 index 0000000..1d25ff6 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Client/Program.cs @@ -0,0 +1,13 @@ +using LumexUI.Blazor.Benchmark.Client; +using Microsoft.AspNetCore.Components.Web; +using Microsoft.AspNetCore.Components.WebAssembly.Hosting; +using LumexUI.Extensions; + +var builder = WebAssemblyHostBuilder.CreateDefault(args); + +builder.RootComponents.Add("#app"); +builder.RootComponents.Add("head::after"); + +builder.Services.AddLumexServices(); + +await builder.Build().RunAsync(); diff --git a/LumexUI.Blazor.Benchmark/Client/Properties/launchSettings.json b/LumexUI.Blazor.Benchmark/Client/Properties/launchSettings.json new file mode 100644 index 0000000..097aa69 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Client/Properties/launchSettings.json @@ -0,0 +1,12 @@ +{ + "profiles": { + "LumexUI.Blazor.Benchmark.Client": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "https://localhost:52438;http://localhost:52439" + } + } +} \ No newline at end of file diff --git a/LumexUI.Blazor.Benchmark/Client/_Imports.razor b/LumexUI.Blazor.Benchmark/Client/_Imports.razor new file mode 100644 index 0000000..b9fc291 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Client/_Imports.razor @@ -0,0 +1,9 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.WebAssembly.Http +@using Microsoft.JSInterop +@using LumexUI.Blazor.Benchmark.Client +@using LumexUI +@using LumexUI.Common \ No newline at end of file diff --git a/LumexUI.Blazor.Benchmark/Client/wwwroot/index.html b/LumexUI.Blazor.Benchmark/Client/wwwroot/index.html new file mode 100644 index 0000000..1a8a4d2 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Client/wwwroot/index.html @@ -0,0 +1,16 @@ + + + + + + LumexUI.Blazor.Benchmark + + + + + +
Loading...
+ + + + diff --git a/LumexUI.Blazor.Benchmark/Server/LumexUI.Blazor.Benchmark.Server.csproj b/LumexUI.Blazor.Benchmark/Server/LumexUI.Blazor.Benchmark.Server.csproj new file mode 100644 index 0000000..35b2407 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Server/LumexUI.Blazor.Benchmark.Server.csproj @@ -0,0 +1,17 @@ + + + + net9.0 + enable + enable + + + + + + + + + + + diff --git a/LumexUI.Blazor.Benchmark/Server/Program.cs b/LumexUI.Blazor.Benchmark/Server/Program.cs new file mode 100644 index 0000000..f52ac6a --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Server/Program.cs @@ -0,0 +1,45 @@ +using Microsoft.AspNetCore.ResponseCompression; +using System.IO.Compression; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddRazorPages(); + +builder.Services.AddResponseCompression(opts => +{ + opts.EnableForHttps = true; + opts.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] + { + "application/octet-stream" + }).ToArray(); + opts.Providers.Add(); + opts.Providers.Add(); +}) + .Configure(opt => opt.Level = CompressionLevel.Fastest) + .Configure(opt => opt.Level = CompressionLevel.Fastest); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment()) +{ + app.UseWebAssemblyDebugging(); +} +else +{ + app.UseHsts(); +} + +app.UseHttpsRedirection(); +if (app.Environment.IsProduction() || true) +{ + app.UseResponseCompression(); +} +app.UseBlazorFrameworkFiles(); +app.MapStaticAssets(); + +app.UseRouting(); + +app.MapRazorPages(); +app.MapFallbackToFile("index.html"); + +app.Run(); diff --git a/LumexUI.Blazor.Benchmark/Server/Properties/launchSettings.json b/LumexUI.Blazor.Benchmark/Server/Properties/launchSettings.json new file mode 100644 index 0000000..5a03c1f --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Server/Properties/launchSettings.json @@ -0,0 +1,14 @@ +{ + "profiles": { + "https": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "dotnetRunMessages": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "https://localhost:7012;http://localhost:5249" + } + } +} \ No newline at end of file diff --git a/LumexUI.Blazor.Benchmark/Server/appsettings.Development.json b/LumexUI.Blazor.Benchmark/Server/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Server/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/LumexUI.Blazor.Benchmark/Server/appsettings.json b/LumexUI.Blazor.Benchmark/Server/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/LumexUI.Blazor.Benchmark/Server/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/README.md b/README.md index b05d8f9..0a45870 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ The table below provides an overview of the file sizes of various popular Blazor | [**bit BlazorUI**](https://blazorui.bitplatform.dev/) | 1.7 MB | +0.2 MB | | [**MudBlazor**](https://mudblazor.com/) | 2.0 MB | +0.5 MB | | [**MatBlazor**](https://matblazor.com/) | 2.1 MB | +0.6 MB | +| [**LumexUI**](https://lumexui.org/) | 2.5 MB | +1.0 MB | | [**Blazorise**](https://blazorise.com/) | 3.1 MB | +1.6 MB | | [**Ant Design**](https://antblazor.com/) | 3.6 MB | +2.1 MB | | [**Syncfusion**](https://syncfusion.com/blazor-components/) | 4.3 MB | +2.8 MB |