Xamarin Forms, Mvvm y Prism

Cuando comenzamos un proyecto con Xamarin en su versión Forms, una cosa que creo totalmente innegociable es el uso del patrón MvvM. Hay mucha literatura en la red acerca de este patrón de diseño y, afortunadamente, cada vez más en español, así que ya no tienes excusas para no ponerlo en práctica.

Cuando trabajamos con Xamarin, en la versión que más se ajuste a tus necesidades, una de las ventajas es la posibilidad de compartir código entre plataformas y con Xamarin Forms, además, compartimos también la capa de presentación, lo que en inglés leerás como UI, User Interface.

Te voy a mostrar uno de tantos *frameworks que podemos utilizar para ayudarnos a implementar de modo rápido y eficiente el patrón Mvvm. Hoy vas a leer acerca de Prism.

Para desarrollar en mi tiempo libre utilizo Visual Studio 2017 Community Edition y lo primero que te recomiendo es que te instales la extensión con las plantillas de proyectos, te van a hacer la vida mucho más sencilla.

Ahora que ya tienes todo preparado, entiendo que has seleccionado las herramientas de Xamarin al instalar Visual Studio 2017 Community Edition, vamos a crear nuestro proyecto. Con Visual studio abierto:

CrearProyecto

Ahora, seleccionamos Prism y la categoría Xamarin.Forms para crear el proyecto. Verás que tenemos diferentes implementaciones para elegir. Básicamente estamos seleccionando la librería para nuestro contenedor **IoC, así que selecciona con el que te encuentres más cómodo o directamente el que conozcas, la base es la misma para todos. En mi caso he seleccionado Unity.

NombreProyecto.png

Ahora selecciona las plataformas para las que quieres crear el proyecto (si estás en Visual Studio 2015 tendrás la posibilidad de crear también para Windows 8.1):

Plataformas

Y listo, ya tienes tu proyecto Xamarin Forms listo para comenzar a trabajar con Prism y el patrón Mvvm.

PrimerViewModel

No te olvides de visitar el repositorio de GitHub de Prism para aportar, conocer novedades o aprender su uso. También puedes preguntar por la implementación en su sección en StackOverflow.

*Trabajo que ha hecho otro y que nos permite utilizarlo sin tener que escribirlo de nuevo nosotros.
**Inversion of control, te dejo el enlace a la descripción de la Wikipedia.

Deja un comentario