Slides of the following talk on Meetup:
.NET User Group Basel | August 2023: Blazor and more in .NET 8
https://www.meetup.com/basel-net-user-group/events/293178766/
2. Topics tonight
• What is Blazor?
• Blazor bashing aka. Blazor until now…
• Blazor in .NET8 aka. Blazor in the future…
• Blazor without Razor… Wait, what?
• WASM… WASI… Wait, what?
• Thoughts and Ideas aka. Thinking different…
• Your ideas and questions
• Open discussion
3. What is Blazor
• Blazor is a framework for building interactive client-side web UI with .NET:
• Create rich interactive UIs using C# instead of JavaScript.
• Share server-side and client-side app logic written in .NET.
• Render the UI as HTML and CSS for wide browser support, including mobile browsers.
• Integrate with modern hosting platforms, such as Docker.
• Build hybrid desktop and mobile apps with .NET and Blazor.
• Blazor apps are based on components. A component in Blazor is an element of UI, such as a page,
dialog, or data entry form.
• Blazor Server provides support for hosting Razor components on the server in an ASP.NET Core app.
UI updates are handled over a SignalR connection.
• Blazor WebAssembly is a single-page app (SPA) framework for building interactive client-side web
apps with .NET.
11. WASM… WASI… Wait, what?
• WASM is clear and means WebAssembly
• What is WASI?
• WebAssembly System Interface
• Plattform independent container
• Running everywhere and on every platform
• Runs on AKS
• Even in the browser
• What can you do with it?
• Start thinking different
12. WASI Demo
• Installing WASMTIME (WASI Runtime)
• https://docs.wasmtime.dev/cli-install.html
• wasmtime –V
• Create the .NET App
dotnet new console -o MyFirstWasiApp
cd MyFirstWasiApp
dotnet add package Wasi.Sdk --prerelease
dotnet build
• Run in WASMTIME
wasmtime bin/Debug/net7.0/MyFirstWasiApp.wasm
13. • WASI Web
• More demos:
• https://github.com/SteveSan
dersonMS/dotnet-wasi-sdk
Demos
14. Thoughts and ideas aka. Thinking different…
• Kestrel running in WASI
• Kestrel running in the browser
• Downloading the webserver into the browser?
• Downloading a database into the browser?
• To work offline, if needed