Microsoft ha lanzado Versión 8.0.0 del kit de herramientas de la comunidad .NET (NCT), un conjunto de ayudantes y API que facilitan el uso de patrones como MVVM (modelo de vista de formulario) independientemente de la plataforma subyacente. En esta versión, los desarrolladores pueden aprovechar el código modular reducido y los métodos API simplificados.
La proliferación de marcos de interfaz de usuario de Microsoft en los últimos años (WPF, UWP, WinUI, Xamarin y MAUI) ha dificultado la vida de los desarrolladores de .NET si desean crear código independiente de plataforma cruzada en sus aplicaciones. Microsoft y otros desarrolladores de la comunidad han comenzado a compartir bibliotecas y extensiones para estos marcos en un esfuerzo por ahorrar tiempo a los desarrolladores y reducir la dificultad de implementación. Entre otras iniciativas, llamó a una pequeña biblioteca MVVM luz mvvm Fue desarrollado por Laurent Bugnion y ha tenido una adopción masiva.
NCT se deriva del kit de herramientas de la comunidad de Windows (WCT) en la versión 7. WCT contiene extensiones para WinUI y UWP, que son solo marcos de trabajo de Windows. NCT hereda fragmentos de código aportados a WCT que se pueden reutilizar de forma segura y se centra en funciones que no son de plataforma que los desarrolladores de aplicaciones .NET pueden aprovechar. Incluye una biblioteca MVVM rápida influenciada por el diseño de MvvmLight. microsoft mencionado NCT se utiliza en su propio desarrollo, como Microsoft Store y la aplicación Fotos.
Los paradigmas de programación de MVVM implican la creación de comandos y propiedades observables que impulsan las actualizaciones de la interfaz de usuario. El comando básico y las características que se pueden observar usando la biblioteca NCT MVVM se ven así:
Nombre de propiedad observable
private string? name;
public string? Name
{
get => name;
set => SetProperty(ref name, value);
}
conducir decir hola
private void SayHello()
{
Console.WriteLine("Hello");
}
private ICommand? sayHelloCommand;
public ICommand SayHelloCommand => sayHelloCommand ??= new RelayCommand(SayHello);
NCT 8.0.0 simplifica este fragmento de código al explicar las propiedades y los métodos mediante atributos. Estos atributos se compilan, entre bastidores, en un código equivalente al que hemos visto antes, utilizando la característica del generador de código fuente del compilador Roslyn.
Nombre de propiedad observable con anotaciones:
[ObservableProperty]
private string? name;
Comando SayHello con anotaciones:
[RelayCommand]
private void SayHello()
{
Console.WriteLine("Hello");
}
Otra fuente de código estandarizado en los marcos de Microsoft MVVM es la implementación INotifyPropertyChanged
interfaz de usuario. Indica el código del cliente que una propiedad ha cambiado en el modelo y que probablemente volverá a pintar la interfaz de usuario para reflejar el cambio. El engorroso formato de las notificaciones con INotifyPropertyChanged
Alentar a los desarrolladores a crear soluciones alternativas. que encapsulan este comportamiento como una abstracción, pero dado que .NET no permite la herencia múltiple, la clase Modelo no puede heredar de ninguna clase principal de datos. NCT agrega un atributo de anotación que generará el código fuente para esta interfaz al mismo tiempo que permite que el modelo herede de cualquier otra clase, lo que reduce la redundancia del código.
Forma de vista heredada del tipo base mientras se sigue manejando el comportamiento INotifyPropertyChanged
[INotifyPropertyChanged]
public partial class MyViewModel : SomeOtherType
{
}
La función de creación de fuente para la nueva versión ha sido aclamada como una mejora importante Por algunos desarrolladores de .NET.
Otros componentes de NCT que los desarrolladores pueden usar son las utilidades de validación de errores de parámetros o los firewalls. Hay un montón de ayudantes para aprovechar las API de .NET de alto rendimiento como Memory
A partir de la versión 8, el código fuente de todos los kits de herramientas de la comunidad se aloja en un archivo Una organización de GitHub bajo el paraguas Fundación .NET. NCT 8.0.0 disponible como archivo Paquete NuGet Se ejecutará en cualquier plataforma .NET Standard 2.0, lo que la hace compatible con el .NET Framework heredado, pero tendrá como objetivo el tiempo de ejecución más reciente de .NET para aprovechar las mejoras de rendimiento que contiene.
“Orgulloso adicto al café. Gamer. Introvertido incondicional. Pionero de las redes sociales”.