Get the coupon in the end of description.
Description
En este proyecto se verán los siguientes módulos:
MODULO DE REGISTRO
-Pagina empezar.
-Pagina crear cuenta con autenticación por gmail.
-Pagina completar registro con autenticación por sms.
MODULO DE NAVEGACIÓN
-Pagina de menú principal
-Pagina de ubicar origen y destino
-Buscador de direcciones consumiendo la PLACES API de google
-Calculo de direcciones consumiendo DISTANCE MATRIX API de google
-Dibujar rutas de origen y destino consumiendo DIRECTIONS API de google
Patrón de software MVVM
Los beneficios de usar el patrón MVVM son los siguientes:
Si hay una implementación de modelo existente que encapsula la lógica comercial existente, puede ser difícil o arriesgado cambiarlo. En este escenario, el modelo de vista actúa como un adaptador para las clases del modelo y le permite evitar realizar cambios importantes en el código del modelo.
Los desarrolladores pueden crear pruebas unitarias para el modelo de vista y el modelo, sin usar la vista. Las pruebas unitarias para el modelo de vista pueden ejercer exactamente la misma funcionalidad que usa la vista.
La interfaz de usuario de la aplicación se puede rediseñar sin tocar el código, siempre que la vista se implemente completamente en XAML. Por lo tanto, una nueva versión de la vista debería funcionar con el modelo de vista existente.
Los diseñadores y desarrolladores pueden trabajar de forma independiente y simultánea en sus componentes durante el proceso de desarrollo. Los diseñadores pueden concentrarse en la vista, mientras que los desarrolladores pueden trabajar en el modelo de vista y los componentes del modelo.
La clave para usar MVVM de manera efectiva radica en comprender cómo factorizar el código de la aplicación en las clases correctas y en comprender cómo interactúan las clases. Las siguientes secciones analizan las responsabilidades de cada una de las clases en el patrón MVVM.
El modelo de vista implementa propiedades y comandos a los que la vista puede enlazar datos y notifica a la vista cualquier cambio de estado a través de eventos de notificación de cambios. Las propiedades y los comandos que proporciona el modelo de vista definen la funcionalidad que ofrecerá la interfaz de usuario, pero la vista determina cómo se mostrará esa funcionalidad.
Conexión de modelos de vista a vistas
Los modelos de vista se pueden conectar a vistas mediante las capacidades de enlace de datos de Xamarin.Forms. Hay muchos enfoques que se pueden usar para construir vistas y ver modelos y asociarlos en tiempo de ejecución. Estos enfoques se dividen en dos categorías, conocidas como primera composición de vista y primera composición de modelo de vista. Elegir entre ver la primera composición y ver la primera composición del modelo es una cuestión de preferencia y complejidad. Sin embargo, todos los enfoques comparten el mismo objetivo, que es que la vista tenga un modelo de vista asignado a su propiedad BindingContext.
Con la primera composición de vista, la aplicación se compone conceptualmente de vistas que se conectan a los modelos de vista de los que dependen. El beneficio principal de este enfoque es que facilita la construcción de aplicaciones comprobables por unidades poco acopladas porque los modelos de vista no dependen de las vistas en sí. También es fácil comprender la estructura de la aplicación siguiendo su estructura visual, en lugar de tener que realizar un seguimiento de la ejecución del código para comprender cómo se crean y asocian las clases. Además, la primera construcción de la vista se alinea con el sistema de navegación Xamarin.Forms que es responsable de construir páginas cuando se produce la navegación, lo que hace que la primera composición del modelo de vista sea compleja y esté desalineada con la plataforma.