Ya hace tiempo que Xamarin entró en mi vida diaria como desarrollador, especialmente creando aplicaciones UWP(Universal Windows Platform) y posteriormente parar iOS. Sin embargo, ha sido estos últimos meses cuando Xamarin Forms se ha instalado en mi día a día.
El paso de UWP a Xamarin Forms es casi natural, ya que sigues utilizando XAML para la parte de UI y C# para el resto del código, aunque hay mucho por aprender, ya que tienes que tener en cuenta las diferentes plataformas de desarrollo y sus pormenores para que todo vaya bien.
Una vez que empiezas a trabajar con tecnologías Microsoft y llegas a XAML, siempre hay una arquitectura que lees por todos lados, MVVM(Model-View-ViewModel). Cuando empiezas a trabajar con esta arquitectura sientes que todo está en su sitio, que cada parte se encarga de su trabajo sin interferir en el de otra y que tu código se lee casi como un libro.
MVVM), te permite trabajar de un modo ordenado, aunque siempre hay un pero y si tu aplicación es razonablemente grande, no puedes tomarte el tiempo de montar todo lo necesario para que funcione y aquí es donde entran en juego los frameworks.
He trabajado con MVVMCross, Prism, Caliburn y ReactiveUi y he llegado a la conclusión de que, para hacer una aplicación multiplataforma, mis compañeros de viaje para los próximos tiempos serán Xamarin Forms y ReactiveUi.
ReactiveUi es, para mi, el mejor modo para simplificar la funcionalidad que realizará el «core» de nuestra aplicación, permitiéndonos hacer aplicaciones reactivas a las acciones de nuestros usuarios.
Si quieres iniciarte con este framework, tienes dos artículos fantásticos de Ramón Esteban que puedes leer en este enlace y el segundo en este otro.
Igualmente, seguiré escribiendo sobre esta pareja ideal y aportando mi granito de arena para que puedas encontrar información en castellano sobre ella.