Xamarin Forms, ¿vistas con C#?

Llevo tiempo siguiendo la pista a Flutter y una de las cosas que más me ha llamado la atención es que todo se hace con código, no hay, como en Xamarin Forms, un archivo para la vista y otro para la lógica.

Otra de las cosas que me llaman la atención, cómo no, es que Flutter se recarga de manera constante y sin necesidad de recompilar. Cuánto daría por tener esto mismo en Xamarin Forms.

Esa es una de las cosas que me han llevado a hacer este experimento, si Flutter lo tiene resuelto, más pronto que tarde llegará a Xamarin Forms, o no, y si para ese entonces no tengo que recompilar, ¿qué ventaja me ofrece XAML con respecto a C#?

Llevo mucho tiempo escribiendo las vistas en XAML y supongo que estoy acostumbrado, pero la verdad es que recuerdo mis días escribiendo vistas para iOS, con Xamarin Classic y hacerlas con código, todo con C# y me parecían sencillas, más lógicas, pero le faltaba algo. Le faltaba poder hacer algunas cosas de modo sencillo, más fluido.

Y aquí es donde me he entretenido. He creado unos métodos de extensión para los controles más habituales de Xamarin Forms y ahora puedo crear una UI con C# sin que se convierta en un dolor de cabeza, sin tener que ir haciendo trozos y legible, espero ;).

Te dejo el enlace al repositorio, por si quieres echarle un ojo.

PD: También te dejo el enlace al paquete nuget, por si lo quieres probar.

Un comentario sobre “Xamarin Forms, ¿vistas con C#?

  1. Para mi, el que exista esa separación entre vista y lógica de presentación (ViewModels) es lo que mas me gusta de MVVM, y XAML me parece un lenguaje bastante mas adecuado para diseñar la vista que código en c#.

    Le gusta a 1 persona

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s