Hi @Bernhard Sumser !
Blazor is a framework for building web applications using C# and .NET. It allows you to build web applications that run on the client-side, using WebAssembly, rather than running on the server and sending updates to the client.
- One way to handle offline scenarios with Blazor WebAssembly (client-side) apps is to use service workers and a browser's caching capabilities. You can use libraries like Workbox for this. In addition, you can also use browser storage APIs like IndexedDB to store data locally on the device and synchronize it with the server when the app comes back online.
- Blazor supports various data access methods, such as Entity Framework Core and the ASP.NET Core Data Protection APIs to connect with a database. You can use the database of your choice, including the Azure SQL Database or Cosmos DB.
- In most cases, you will still need an API to handle data access and business logic on the server-side, unless you choose to use something like gRPC or SignalR to build real-time communication directly between the client and the server.
- Blazor WebAssembly is designed to run on both mobile and desktop web browsers. To deliver it to mobile, you'll need to host your application on a web server and make it available via a URL, just like a regular web application. To improve the user experience on mobile, you can also use Progressive Web App (PWA) features, such as web app manifests, service workers, and the ability to install the app on the home screen.
- For the database Azure SQL Database is a good choice, if you are familiar with it. Cosmos DB is also a great option, especially if you need a globally distributed, multi-model database.
Overall Blazor can be a great choice for your scenario, but it may not be the right choice for every project. It's important to consider the requirements of your project and compare them to the capabilities of Blazor to make sure it's a good fit.