@cloudgen_verona
#CodeGen2021
2
TOPIC
Mobile Blazor
Bindings and Maui
1 cup of Blazor
2 spoonful of Xamarin Forms (Maui)
1 pinch of JavaScript
And a whole lot of C#
@jjcolumbie
jjcolumb
josejaviercolumbie
Jose Javier Columbie
DevExpress and Microsoft MVP
Web, Desktop or Mobile?
Web 💖 JS
Samsung Tizen , macOS, GTK#, WPF
Ooui Web Head
WebAssembly
renderers for
Xamarin.Forms with
Uno Platform
WEB
Evolution of Xamarin Forms
Blazor
Interactive web UI with C#
Blazor
1. Server
2. Client
3. PWA. Offline support. Home
screen and taskbar. Push
Notifications
4. .Net renders to
Electron/WebView.
5. Mobile
Blazor Server vs Blazor
WebAssembly
Blazor WebAssembly
1. Runs directly in WA on the client
2. Download everything to the browser,
HTML, CSS, JS, .NET dlls and the .NET
Runtime
3. No server needed
Azure Storage
Static Website
Blazor Server
1. ASP.Net Core Server with the Blazor
App,it contains the .NET Core runtime
and the communication with the UI
happens using Signal R.
2. Events to the server and UI updates sent
back to the browser
What is Signal R?
Blazor Server
Blazor Server
Reusable Components
1. Blazor is based on
Reusable Components
(Web Forms
Replacement 🤯)
2. Composition of
Components. Parent
and childs.
3. Razor Libraries
4. Templates
Blazor WebAssembly
Blazor Server
Blazor Components
Javascript Interop
A Blazor app can invoke JavaScript functions from .NET methods and
.NET methods from JavaScript functions.
PWA - Blazor WebAssembly
App
1. Offline capabilities.
2. Home screen and taskbar.
3. Push Notifications
Electron
Experimental Mobile Blazor
Bindings
Experimental Mobile Blazor
Bindings
1. Blazor - Web
2. Same component (UI) in
mobile and desktop
3. Native Access to the device
4. Hybrid - web and native UI
Experimental Mobile Blazor
Bindings
Experimental Mobile Blazor
Bindings
DEMO
Experimental Mobile Blazor
Bindings
1. Web Content in the same process as the rest
of the app (no web server)
2. No remoting between AppDomains
3. All tooling: Visual Studio
4. Experimental (ControlTemplate)
5. Everywhere Xamarin Forms runs
6. How complete is it?
.NET 6 for Blazor
• Hot reload for Blazor
• AOT Compilation
• Target and deploy to desktop platforms.
• Support custom event args in Blazor
• Required parameters to blazor components
• Expose location changing event for
NavigationManger
• Dynamically rendered components
• Update Blazor head components
• Improve SVG support in Blazor
• Drag & Drop
😀😀😀
Community
Thank you
Any questions?
jjcolumb @jjcolumbie josejaviercolumbie

Codegen2021 blazor mobile