loading experience

.NET MAUI

MAUI Blazor Hybrid: la stessa interfaccia sul web e nelle app

Componenti Razor condivisi tra sito web e app native, con pieno accesso alle API del dispositivo.

MAUI Blazor Hybrid: la stessa interfaccia sul web e nelle app

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.

Lo stesso codice di interfaccia serve il web e le app native.
Lo stesso codice di interfaccia serve il web e le app native.

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.

Lascia un commento