Con Blazor Hybrid i componenti Razor vengono eseguiti direttamente nell'app nativa .NET MAUI e mostrati tramite un controllo web integrato. Non c'è un server e non serve WebAssembly: il codice C# gira sul dispositivo, con accesso completo alle sue API.
Perché sceglierlo
- Riuso: le stesse pagine e componenti servono il sito web e le app per telefono e desktop.
- Competenze web: HTML e CSS per l'interfaccia, C# per la logica.
- Funzioni native: fotocamera, file, notifiche e sensori restano disponibili.
La struttura consigliata
Il template "MAUI Blazor Hybrid and Web App" crea tre progetti: una libreria Razor condivisa con i componenti, l'app MAUI e l'applicazione web. Le funzioni che dipendono dalla piattaforma si definiscono come interfacce nella libreria condivisa e si implementano separatamente.
// libreria condivisa
public interface IFormFactor
{
string Dispositivo { get; }
}
// app MAUI
public class FormFactorMaui : IFormFactor
{
public string Dispositivo => DeviceInfo.Current.Idiom.ToString();
}
// app web
public class FormFactorWeb : IFormFactor
{
public string Dispositivo => "Web";
}
@inject IFormFactor FormFactor
<p>Stai usando: @FormFactor.Dispositivo</p>
Cose da sapere
- L'aspetto è quello del web, non dei controlli nativi: va curato il design per i piccoli schermi.
- Il controllo web incluso nel sistema (WebView2 su Windows, WKWebView su iOS e macOS, WebView su Android) influisce su compatibilità e prestazioni.
- Si possono mescolare pagine native XAML e pagine Blazor nella stessa app.
Per team che hanno già un'applicazione Blazor, è il modo più rapido per arrivare sugli store senza riscrivere l'interfaccia.
Commenti (0)
Nessun commento ancora.