blazor-wasm-maui-winforms-wpf-template
TheLastTime
blazor-wasm-maui-winforms-wpf-template | TheLastTime | |
---|---|---|
3 | 6 | |
25 | 26 | |
- | - | |
0.0 | 0.0 | |
over 2 years ago | over 1 year ago | |
C# | C# | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
blazor-wasm-maui-winforms-wpf-template
-
Making a Blazor app run on Web browser, Windows, Linux, Android, iOS and macOS
Next I decided to make a Windows desktop version using WebView. I also made a template https://github.com/Jinjinov/blazor-wasm-maui-winforms-wpf-template that is now somewhat obsolete. The biggest problem is loading the data from IndexedDB before the app starts. Blazor WASM allows you to use JsInterop right from the moment you register your services in dependency injection, so you can access IndexedDB immediately, load the user settings and then start the app. WebView doesn't allow you to use JsInterop before Blazor is initialized. This means that if the user chooses a dark UI theme and you save that choice in IndexedDB, the app will load with the default light UI theme, you will read the IndexedDB on the first render and then apply the dark UI theme. The app will flicker for a second.
-
I made a Blazor app that runs on 6 platforms
I made a template for a cross platform Blazor project: https://github.com/Jinjinov/blazor-wasm-maui-winforms-wpf-template But it is a bit outdated now.
- Minimal Blazor template with WASM, MAUI, WinForms and WPF
TheLastTime
-
Making a Blazor app run on Web browser, Windows, Linux, Android, iOS and macOS
Blazor WASM was the first, original version. I wanted an app that can work offline, so I decided to save user data in IndexedDB. My first choice for an IndexedDB NuGet was https://github.com/Reshiru/Blazor.IndexedDB.Framework because it was recommended by Steve Sanderson in https://blog.stevensanderson.com/2019/08/03/blazor-indexeddb/ - and it was the worst mistake in the whole project. The NuGet loads all the data from IndexedDB into memory every time you open a connection. That made the app unusably slow after one year of use. I made a few improvements in my own version https://github.com/Jinjinov/IndexedDB.Blazor but I never solved the loading problem. I decided to rewrite the whole project from scratch, using the much better IndexedDB NuGet https://github.com/amuste/DnetIndexedDb . The original project is available at https://github.com/Jinjinov/TheLastTime and as a PWA https://old.ididit.today/ as a lesson on what mistakes to avoid.
-
Blazor got new features in .NET 6 Preview 3 and I used BlazorWebView to make a native Windows app from 84% of my Blazor PWA
Repo: https://github.com/Jinjinov/TheLastTime - use the WebView.sln
-
I made an open source habit tracker PWA
It already is: https://github.com/Jinjinov/TheLastTime/blob/main/TheLastTime/wwwroot/manifest.json#L5
-
What client side DB do you recommend for a Blazor SPA?
I am making a Blazor SPA https://github.com/Jinjinov/TheLastTime and for now I am using IndexedDB, but it has no active development.
-
I made an open source habit tracker app
There are many habit tracker apps out there, but few of them are open source and none were exactly what I was looking for, so I made my own: https://github.com/Jinjinov/TheLastTime
-
I made an open source habit tracker SPA with Blazor WASM
I made a few SPA in the past with Vue.js but then I got fascinated with Blazor. I made a habit tracker app https://github.com/Jinjinov/TheLastTime with Blazor, Blazorise and IndexedDB.
What are some alternatives?
MudBlazor - Blazor Component Library based on Material design. The goal is to do more with Blazor, utilizing CSS and keeping Javascript to a bare minimum. [Moved to: https://github.com/MudBlazor/MudBlazor]
CSLA .NET - A home for your business logic in any .NET application.
LiveCharts2 - Simple, flexible, interactive & powerful charts, maps and gauges for .Net, LiveCharts2 can now practically run everywhere Maui, Uno Platform, Blazor-wasm, WPF, WinForms, Xamarin, Avalonia, WinUI, UWP.
ant-design-blazor - 🌈A set of enterprise-class UI components based on Ant Design and Blazor WebAssembly.
MudBlazor - Blazor Component Library based on Material design with an emphasis on ease of use. Mainly written in C# with Javascript kept to a bare minimum it empowers .NET developers to easily debug it if needed.
IndexedDB.Blazor - A Blazor library for accessing IndexedDB
awesome-blazor-browser - A Blazor WebAssembly app for browsing the "Awesome Blazor" resources.
Blazorise - Blazorise is a component library built on top of Blazor with support for CSS frameworks like Bootstrap, Bulma, AntDesign, and Material. [Moved to: https://github.com/Megabit/Blazorise]
EdgeSharp - Build .NET Win32/WinForms/WPF WebView2 HTML5 Desktop Apps
NewProjectTemplate-Blazor - Template for new projects - Havit.Blazor stack with Bootstrap 5 components and gRPC code-first communication.
BytexDigital.Blazor.Components.CookieConsent - Components for handling GDPR cookie consent
bitplatform - Build all of your apps using what you already know and love ❤️