Novedades en .NET MAUI con .NET 8


En este artículo mostraré algunas novedades de .NET 8 en .NET MAUI.

Windows 11 Insider Preview Build 22635.2776

.NET 8 se ha lanzado con muchas novedades y también han sufrido cambios (para bien) en la plataforma .NET MAUI. Es muy fácili dirigirnos al sitio oficial y leer ahí las novedades pero me interesa probarlas novedades y contarles un poco lo que se viene, pero en mayor detalle lo que voy probando. ¡Así que manos a la obra!

Novedades generales

  1. Diseño de derecha a izquierda: Gracias a las mejoras de performance de .NET 8 se logra que los diseños para idiomas que van de derecha a izquierda ahora se vean correctamente además de responder en tiempo y forma.

  2. Comportamiento de teclado: Se han mejorado las disposiciones de teclado, que responden más rápidamente al ingreso de texto por parte del usuario, además el scroll responde más rápido ante la aparición/desaparición del teclado.

  3. Gestión de memoria: Esto viene atado a las mejoras introducidas en general dentro de .NET 8.

¿Cómo habilito .NET MAUI 8?

Primero, debemos descargar e instalar el SDK de .NET 8, eso lo encontramos aquí.

Luego, debemos actualizar Visual Studio 2022 a su versión 17.8.0 o superior (acabo de ver disponible la versión 17.8.2) que se puede descargar desde aquí.

Iniciamos el instalador de Visual Studio e indicamos la opción de .NET Multi-platform App UI development:

Creando un proyecto .NET MAUI 8

Al abrir Visual Studio procedemos a crear un nuevo proyecto y definimos el Tipo MAUI (en mi caso tengo Telerik UI for .NET MAUI instalado):

Seleccionamos la versión de .NET (en este caso ya seleccionamos el 8):

Nos dirigimos a las Propiedades del proyecto y verificamos que todo corresponda al .NET 8:

Con estos pasos tenemos un nuevo proyecto creado en .NET MAUI 8 ;)

Cambio en MauiProgram.cs

En el archivo de arranque de un proyecto .NET MAUI se ingresa una línea de código nueva:

#if DEBUG
builder.Logging.AddDebug();
#endif

El código completo queda así:

using Microsoft.Extensions.Logging;

namespace MauiApp1;

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .ConfigureFonts(fonts =>
            {
                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
            });

#if DEBUG
		builder.Logging.AddDebug();
#endif

        return builder.Build();
    }
}

Básicamente, se registran los eventos y éstos se agregan a la ventana del depurar (pero sólo durante la depuración no así en Release).

Keyboard Acelerator

Para dar una explicación rápida, podemos decir que son atajos de teclado que nos permiten realiar una acción dentro de la aplicación:

<ContentPage.MenuBarItems>
    <MenuBarItem Text="File">
        <MenuFlyoutItem Text="Exit"
                        Clicked="MenuFlyoutItem_Clicked"
                            />
    </MenuBarItem>
    <MenuBarItem Text="Locations">
        <MenuFlyoutSeparator />
        <MenuFlyoutItem Text="Add Location"
                        Clicked="MenuFlyoutItem_Clicked_1">
            <MenuFlyoutItem.KeyboardAccelerators>
                <KeyboardAccelerator Modifiers="Ctrl"
                    Key="L" />
            </MenuFlyoutItem.KeyboardAccelerators>
        </MenuFlyoutItem>
        <MenuFlyoutItem Text="Edit Location"
                            />
        <MenuFlyoutItem Text="Remove Location"
                            />
    </MenuBarItem>
</ContentPage.MenuBarItems>

Arrancamos la App y vemos el Menú:

Hacemos clic o bien utilizamos el atajo Ctrl+L y veremos:

Estas son las novedades que quería compartir con ustedes en estas primeras pruebas que estoy realizando (de hecho estoy actualmente en un proyecto .NET MAUI 8). Iré avanzando en las novedades de .NET MAUI en todo este mes de Diciembre ya que nos encontramos en pleno Calendario de Adviento .NET MAUI

¡Espero resulte útil!


Ver también