Share via


Novidades no .NET MAUI para .NET 9

O foco da .NET Multi-Platform App UI (.NET MAUI) no .NET 9 é melhorar a qualidade do produto. Isso inclui a expansão da cobertura de teste, o teste de cenário de ponta a ponta e a correção de bugs. Para obter mais informações sobre as melhorias na qualidade do produto na versão prévia do .NET MAUI 9, confira as seguintes notas de versão:

Importante

Devido ao trabalho com dependências externas, como Xcode ou Android SDK Tools, a política de suporte do .NET MAUI difere da política de suporte do .NET e do .NET Core. Para obter mais informações, consulte a política de suporte do .NET MAUI.

No .NET 9, o .NET MAUI é fornecido como uma carga de trabalho .NET e vários pacotes NuGet. A vantagem dessa abordagem é que ela permite que fixar facilmente seus projetos em versões específicas, além de visualizar facilmente builds não lançados ou experimentais. Quando você cria um novo projeto .NET MAUI, os pacotes NuGet necessários são adicionados automaticamente ao projeto.

Para obter informações sobre as novidades no .NET 9, confira Novidades no .NET 9.

Android

A versão prévia do .NET para Android 9, que usa a API 34 e o JDK 17, inclui trabalho para reduzir os tempos de build e melhorar a capacidade de redução de aplicativos para reduzir o tamanho e melhorar o desempenho. Para obter mais informações sobre a versão prévia do .NET para Android 9, confira as seguintes notas sobre a versão:

Pacotes de ativos

O .NET para Android 9 Versão Prévia 3 apresenta a capacidade de colocar ativos em um pacote separado, conhecido como um pacote de ativos. Isso permite que você carregue jogos e aplicativos que normalmente seriam maiores do que o tamanho do pacote básico permitido pelo Google Play. Ao colocar esses ativos em um pacote separado, você obtém a capacidade de carregar um pacote com até 2 GB de tamanho, em vez do tamanho do pacote básico de 200 MB.

Importante

Os pacotes de ativos só podem conter ativos. No caso do .NET para Android, isso significa itens que têm a ação de build AndroidAsset.

Os aplicativos do .NET MAUI definem os ativos por meio da ação de build MauiAsset. Um pacote de ativos pode ser especificado por meio do atributo AssetPack:

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

Observação

Os metadados adicionais serão ignorados por outras plataformas.

Se tiver itens específicos que quiser colocar em um pacote de ativos, você poderá usar o atributo Update para definir os metadados do AssetPack:

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

Os pacotes de ativos podem ter opções de entrega diferentes, que controlam quando seus ativos serão instalados no dispositivo:

  • Os pacotes install-time são instalados ao mesmo tempo que o aplicativo. Esse tipo de pacote pode ter até 1 GB de tamanho, mas você só pode ter um deles. Esse tipo de entrega é especificado com metadados InstallTime.
  • Os pacotes de acompanhamento rápido serão instalados em algum momento, logo após a instalação do aplicativo ter sido finalizada. O aplicativo poderá ser iniciado enquanto esse tipo de pacote estiver sendo instalado, de modo que você deverá verificar se acabou de ser instalado antes de tentar usar os ativos. Esse tipo de pacote de ativos pode ter até 512 MB de tamanho. Esse tipo de entrega é especificado com metadados FastFollow.
  • Os pacotes sob demanda nunca serão baixados para o dispositivo, a menos que o aplicativo solicite isso especificamente. O tamanho total de todos os seus pacotes de ativos não pode exceder 2 GB e você pode ter até 50 pacotes de ativos separados. Esse tipo de entrega é especificado com metadados OnDemand.

Nos aplicativos do .NET MAUI, o tipo de entrega pode ser especificado com o atributo DeliveryType em um MauiAsset:

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

Para obter mais informações sobre pacotes de ativos do Android, confira Pacotes de Ativos do Android.

iOS

A versão prévia do .NET Android 9 no iOS, tvOS, Mac Catalyst e macOS usa o Xcode 15.2 para as seguintes versões da plataforma:

  • iOS: 17.2
  • tvOS: 17.2
  • Mac Catalyst: 17.2
  • macOS: 14,2

Para obter mais informações sobre a versão prévia do .NET 9 no iOS, tvOS, Mac Catalyst e macOS, confira as seguintes notas de versão:

Associações

A versão prévia 3 do .NET para iOS 9 apresenta a capacidade ter vários destinos de versão do .NET para associações do iOS. Por exemplo, talvez seja necessário criar um projeto de biblioteca para duas versões distintas do iOS:

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

Isso produzirá duas bibliotecas, uma usando vinculações do iOS 17.0 e outra usando vinculações do iOS 17.2.

Importante

Um projeto de aplicativo sempre deve ter como destino o SDK do iOS mais recente.

Confira também