Share via


Novità di .NET MAUI per .NET 9

L'obiettivo dell'interfaccia utente dell'app multipiattaforma .NET (.NET MAUI) in .NET 9 è migliorare la qualità del prodotto. Sono inclusi l'espansione della copertura dei test, i test degli scenari end-to-end e la correzione di bug. Per altre informazioni sui miglioramenti della qualità del prodotto in .NET MAUI 9 Preview, vedere le note sulla versione seguenti:

Importante

A causa dell'uso di dipendenze esterne, ad esempio Xcode o Android SDK Tools, i criteri di supporto di .NET MAUI differiscono dai criteri di supporto di .NET e .NET Core. Per altre informazioni, vedere Criteri di supporto di .NET MAUI.

In .NET 9, .NET MAUI viene fornito come carico di lavoro .NET e più pacchetti NuGet. Il vantaggio di questo approccio è che consente di aggiungere facilmente i progetti a versioni specifiche, consentendo allo stesso tempo di visualizzare facilmente l'anteprima di build non definitive o sperimentali. Quando si crea un nuovo progetto MAUI .NET, i pacchetti NuGet necessari vengono aggiunti automaticamente al progetto.

Miglioramenti del controllo

.NET MAUI in .NET 9 include anche miglioramenti del controllo.

Supporto per l'input da tastiera flessibile

.NET MAUI 9 Preview 4 aggiunge il nuovo supporto per l'input della tastiera soft per Password, Datee Time. Questi controlli possono essere abilitati nei Editor controlli e Entry :

<Entry Keyboard="Date" />

Android

.NET per Android 9 Preview, che usa l'API 34 e JDK 17, include il lavoro per ridurre i tempi di compilazione e migliorare la riduzione delle dimensioni delle app per ridurre le dimensioni e migliorare le prestazioni. Per altre informazioni su .NET per Android 9 Preview, vedere le note sulla versione seguenti:

Pacchetti di asset

.NET per Android 9 Preview 3 introduce la possibilità di inserire asset in un pacchetto separato, noto come asset pack. Ciò consente di caricare giochi e app che normalmente sarebbero maggiori delle dimensioni del pacchetto di base consentite da Google Play. Inserendo questi asset in un pacchetto separato si ottiene la possibilità di caricare un pacchetto con dimensioni fino a 2 GB, anziché le dimensioni di base del pacchetto di 200 Mb.

Importante

I pacchetti di asset possono contenere solo asset. Nel caso di .NET per Android questo significa che gli elementi con l'azione AndroidAsset di compilazione.

Le app MAUI .NET definiscono gli asset tramite l'azione di MauiAsset compilazione. È possibile specificare un asset pack tramite l'attributo AssetPack :

<MauiAsset
    Include="Resources\Raw\**"
    LogicalName="%(RecursiveDir)%(Filename)%(Extension)"
    AssetPack="myassetpack" />

Nota

I metadati aggiuntivi verranno ignorati da altre piattaforme.

Se si hanno elementi specifici da inserire in un asset pack, è possibile usare l'attributo Update per definire i AssetPack metadati:

<MauiAsset Update="Resources\Raw\MyLargeAsset.txt" AssetPack="myassetpack" />

I pacchetti asset possono avere diverse opzioni di recapito, che controllano quando gli asset verranno installati nel dispositivo:

  • I time pack di installazione vengono installati contemporaneamente all'app. Questo tipo di pacchetto può avere dimensioni fino a 1 GB, ma è possibile avere solo una di esse. Questo tipo di recapito viene specificato con InstallTime i metadati.
  • I pacchetti di follow pack rapidi verranno installati a un certo punto poco dopo il completamento dell'installazione dell'app. L'app sarà in grado di iniziare durante l'installazione di questo tipo di pacchetto in modo da verificare che sia stata completata l'installazione prima di provare a usare gli asset. Questo tipo di asset pack può avere dimensioni fino a 512 Mb. Questo tipo di recapito viene specificato con FastFollow i metadati.
  • I pacchetti su richiesta non verranno mai scaricati nel dispositivo, a meno che l'app non la richieda in modo specifico. Le dimensioni totali di tutti i pacchetti di asset non possono superare i 2 GB ed è possibile avere fino a 50 pacchetti di asset separati. Questo tipo di recapito viene specificato con OnDemand i metadati.

Nelle app MAUI .NET è possibile specificare il tipo di recapito con l'attributo DeliveryType in :MauiAsset

<MauiAsset Update="Resources\Raw\myvideo.mp4" AssetPack="myassetpack" DeliveryType="FastFollow" />

Per altre informazioni sui pacchetti di asset Android, vedere Asset Pack Android.

Supporto di Android 15 beta 1

Binding .NET per Android Preview 4 .NET per la prima beta di Android 15 denominata "Vanilla Ice Cream". Per compilare queste API, aggiornare il framework di destinazione del progetto:

<TargetFramework>net9.0-android35</TargetFramework>

iOS

.NET 9 Preview in iOS, tvOS, Mac Catalyst e macOS usa Xcode 15.2 per le versioni della piattaforma seguenti:

  • iOS: 17.2
  • tvOS: 17.2
  • Mac Catalyst: 17.2
  • macOS: 14.2

Per altre informazioni su .NET 9 Preview in iOS, tvOS, Mac Catalyst e macOS, vedere le note sulla versione seguenti:

Bindings

.NET per iOS 9 Preview 3 introduce la possibilità di usare versioni multi target di .NET per le associazioni iOS. Ad esempio, potrebbe essere necessario compilare un progetto di libreria per due versioni iOS distinte:

<TargetFrameworks>net9.0-ios17.0;net9.0-ios17.2</TargetFrameworks>

Verranno prodotte due librerie, una con binding iOS 17.0 e una usando le associazioni iOS 17.2.

Importante

Un progetto di app deve sempre avere come destinazione l'SDK iOS più recente.

AOT nativo per iOS e Mac Catalyst

In .NET per iOS 9 Preview 4, compilazione AOT (Ahead of Time) nativa per iOS e Mac Catalyst sfrutta il taglio completo per ridurre le dimensioni del pacchetto e le prestazioni di avvio dell'app. Si tratta di una funzionalità di pubblicazione che è possibile usare quando si è pronti per la spedizione dell'app.

Importante

L'app e le dipendenze devono essere completamente trimmabili per poter usare questa funzionalità.

Vedi anche