Envíos gratis en compras superiores a $70.000
Inicio/Profesional/TICs y Computación/Programación/Xamarin Forms en Acción Aplicaciones de Negocio

Xamarin Forms en Acción Aplicaciones de Negocio

$29.610

  • Envío gratis en compras superiores a $70.000
  • Autor DÍAZ CONCHA, Rodrigo

    Páginas: 376

    Coedición: Alfaomega, RC Libros

    ISBN: 9786076229620 Categoría:

    Descripción

    Uno de los retos de los desarrolladores es el allegarse los conocimientos necesarios referentes a los diversos sistemas operativos y lenguajes de programación y actualizar estos conocimientos; asimismo, mantener múltiples versiones de código y diferentes ambientes, y administrar varias distribuciones y actualizaciones. El presente libro se constituye como una enorme contribución para el incremento de los conocimientos de los desarrolladores de habla hispana, ya que permite desarrollar, conservar y administrar una línea base de código para iOS, Android y Windows y crear así aplicaciones nativas para cada plataforma; de este modo se logra que la App tenga la performance y experiencia en cada dispositivo, y además permite al desarrollador la reutilización, optimización y productividad en la calidad del código y, por ende, de la aplicación.

    Este documento ofrece a los lectores una completa, sólida y didáctica referencia que facilita adquirir de Xamarin.Forms el máximo potencial y de esa manera mejorar el desarrollo de aplicaciones móviles para múltiples plataformas. Xamarin.Forms ha probado ser una excelente opción tecnológica cuando se trata de decidir el rumbo por el que irán las soluciones móviles en una empresa o institución.

    VENTAJAS

    • La organización de este libro permite leerse en orden de inicio a fin, ya que gradualmente en cada capítulo (a partir del 4) se implementan funcionalidades adicionales y modificaciones en la aplicación de encuestas.
    • Cuenta con numerosas figuras explicativas de cada uno de los temas abordados.

    CONOZCA

    • Las maneras mediante las cuales se pueden manejar los eventos de los elementos visuales.
    • Los estilos que pueden aplicar todos los elementos visuales y controles de Xamarin.Forms.
    • Las características y funcionalidad del patrón de diseño Model-View-ViewModel.

    APRENDA

    • A manejar el lenguaje XAML para realizar soluciones sofisticadas en Xamarin.Forms.
    • A ejecutar un enlace de datos en Xamarin.Forms mediante la extensión de marcado {Binding}.
    • A utilizar el “kit de desarrollo” PRISM en Xamarin.Forms para el diseño, arquitectura y construcción de aplicaciones.

    DESARROLLE SUS HABILIDADES PARA

    • Conocer los fundamentos de Xamarin y de Xamarin.Forms para la construcción de aplicaciones multi-plataforma.
    • El modelo de aplicación que expone Xamarin.Forms.
    • El lenguaje XAML para la definición de las Interfaces de Usuario.
    • El modelo de navegación y mensajería.
    • El importante mecanismo de Enlace de Datos en Xamarin.Forms.
    • El objetivo y papel que juegan los Comandos.
    • Los diversos beneficios de usar el patrón de diseño MVVM en la arquitectura de tus aplicaciones.
    • La invocación de funcionalidad nativa de los sistemas operativos.
    • El por qué Prism es una pieza fundamental e imprescindible para construir arquitecturas extensibles, robustas y de fácil mantenimiento.
    • El uso de SQLite como base de datos para almacenamiento local.
    • La comunicación a servicios REST para tus aplicaciones móviles.

    A QUIÉN VA DIRIGIDO

    El presente texto está dirigido tanto a desarrolladores amateurs que deseen aprender a construir aplicaciones multiplataforma con Xamarin.Forms, como a desarrolladores profesionales de empresas que quieran iniciar o perfeccionar su estrategia de aplicaciones móviles multiplataforma con esta tecnología.

    CONTENIDO

    Prefacio …………………………………………………………………………………………… … XV
    Prólogo ……………………………………………………………………………………………. XVII
    Capítulo 1. Introducción a Xamarin ………………………………………………………….. 1
    ¿Qué es Xamarin? …………………………………………………………………………………… 1
    Bueno ya, entonces ¿qué es Xamarin? ………………………………………………………. 3
    Métodos para compartir el código …………………………………………………………….. 4
    Fundamentos de Xamarin.Forms ……………………………………………………………… 6
    ¿Qué es Xamarin.Forms? …………………………………………………………………………. 6
    ¿Xamarin o Xamarin.Forms? ……………………………………………………………………. 6
    Anatomía de una solución …………………………………………………………………………. 7
    Arquitectura de Xamarin.Forms ……………………………………………………………….. 8
    Clase Application …………………………………………………………………………………….. 8
    Ciclo de vida …………………………………………………………………………………………… 9
    Ejecutando Xamarin.Forms en cada proyecto concreto ……………………………… 10
    Jerarquía de clases ………………………………………………………………………………… 13
    Sistema de Propiedades Enlazables …………………………………………………………. 17
    ¿Qué es una Propiedad Enlazable? ………………………………………………………….. 18
    BindableObject ……………………………………………………………………………………… 19
    BindableProperty ………………………………………………………………………………….. 19
    Propiedades Adjuntas ……………………………………………………………………………. 21
    Manejo de eventos …………………………………………………………………………………. 22
    Manejo de eventos desde XAML ……………………………………………………………… 23
    Manejo de eventos a través de código usando la sintaxis estándar ……………… 23
    Manejo de eventos a través de código usando Expresiones Lambda ……………. 24
    Capítulo 2. El lenguaje XAML …………………………………………………………………. 25
    Introducción …..…………………………………………………………………………………… 25
    ¿Qué es XAML? …………………………………………………………………………………….. 25
    Reglas básicas de XAML …………………………………………………………………………. 25
    Espacios de nombres XML ………………………………………………………………………. 27
    Sintaxis de subelementos ……………………………………………………………………….. 28
    Extensiones de marcado ………………………………………………………………………… 29
    Recursos ………………………………………………………………………………………………. 30
    Convertidores de tipos …………………………………………………………………………… 34
    XAML compilado …………………………………………………………………………………… 37
    Capítulo 3. Interfaz de Usuario ………………………………………………………………. 39
    Contenedores …. …………………………………………………………………………………. 39
    StackLayout ………………………………………………………………………………………….. 39
    Grid …………………………………………………………………………………………………….. 40
    Controles …………………………………………………………………………………………….. 45
    Controles comunes ……………………………………………………………………………….. 46
    Button …………………………………………………………………………………………………. 46
    Stepper ………………………………………………………………………………………………… 47
    Switch ………………………………………………………………………………………………….. 47
    Slider …………………………………………………………………………………………………… 47
    DatePicker ……………………………………………………………………………………………. 47
    TimePicker ……………………………………………………………………………………………. 48
    ProgressBar ………………………………………………………………………………………….. 48
    ActivityIndicator ……………………………………………………………………………………. 48
    Image ………………………………………………………………………………………………….. 48
    BoxView ………………………………………………………………………………………………. 48
    Frame ………………………………………………………………………………………………….. 49
    WebView ……………………………………………………………………………………………… 49
    Controles de texto …………………………………………………………………………………. 49
    Label ……………………………………………………………………………………………………. 49
    Entry ……………………………………………………………………………………………………. 50
    Editor …………………………………………………………………………………………………… 50
    SearchBar …………………………………………………………………………………………….. 50
    Tipos de teclado ……………………………………………………………………………………. 50
    Controles de lista ………………………………………………………………………………….. 52
    Picker ………………………………………………………………………………………………….. 52
    ListView ……………………………………………………………………………………………….. 52
    Estilos ………………………………………………………………………………………………….. 53
    Usando los estilos …………………………………………………………………………………. 53
    Propiedad BasedOn……………………………………………………………………………….. 54
    Estilos implícitos ……………………………………………………………………………………. 54
    Propiedad ApplyToDerivedTypes …………………………………………………………….. 57
    Triggers en estilos …………………………………………………………………………………. 58
    Diccionarios mezclados ………………………………………………………………………….. 61
    Capítulo 4. Navegación y Mensajería ………………………………………………………. 65
    Navegación …………………………………………………………………………………………… 65
    Navegación jerárquica …………………………………………………………………………… 66
    Navegación modal …………………………………………………………………………………. 68
    Mensajería ……………………………………………………………………………………………. 69
    DisplayAlert ………………………………………………………………………………………….. 70
    DisplayActionSheet ……………………………………………………………………………….. 70
    Clase MessagingCenter ………………………………………………………………………….. 71
    Manos a la obra …………………………………………………………………………………….. 73
    Creando la solución ……………………………………………………………………………….. 74
    Configuración de la solución …………………………………………………………………… 81
    Despliegue de los ensamblados de Xamarin.Forms ……………………………………. 81
    Creación de la aplicación en la PCL ………………………………………………………….. 83
    Modificación del punto de entrada en Android …………………………………………. 84
    Modificación del punto de entrada en iOS ……………………………………………….. 85
    Modificación del punto de entrada en UWP ……………………………………………… 86
    Implementando las dos páginas ………………………………………………………………. 87
    Implementando SurveysView …………………………………………………………………. 89
    Implementando SurveyDetailsView …………………………………………………………. 90
    Desplegando los equipos ……………………………………………………………………….. 92
    Comunicando ambas páginas …………………………………………………………………. 95
    Probando la aplicación …………………………………………………………………………… 97
    Capítulo 5. Enlace de Datos …………………………………………………………………… 99
    Introducción ……………………………………………………………………………………….. 99
    Source ……………………………………………………………………………………………….. 100
    Path …………………………………………………………………………………………………… 100
    Mode …………………………………………………………………………………………………. 100
    Interfaces INotifyPropertyChanged y INotifyCollectionChang1d …………….. 103
    ObservableCollection ……………………………………………………………………… 110
    Contexto de Enlace de Datos ………………………………………………………………… 113
    Enlace entre elementos ……………………………………………………………………….. 116
    Propiedad StringFormat ……………………………………………………………………….. 118
    Plantillas de Datos …………………………………………………………………………………… 122
    Tipos de celdas ……………………………………………………………………………………. 123
    Convertidores de Valor ……………………………………………………………………………. 125
    Creando un Convertidor de Valor ………………………………………………………….. 126
    Usando un Convertidor de Valor ……………………………………………………………. 127
    Manos a la obra ……………………………………………………………………………………… 129
    Creando la fuente de datos …………………………………………………………………… 130
    Implementando la Plantilla de Datos ……………………………………………………… 135
    Implementando el Convertidor de Valor ………………………………………………… 138
    Capítulo 6. Comandos ………………………………………………………………………… 141
    Introducción ……………………………………………………………………………………….. 141
    Creando un comando básico …………………………………………………………………. 142
    Implementando CanExecute() ……………………………………………………………….. 146
    Implementando CanExecuteChanged …………………………………………………….. 147
    Implementaciones existentes recomendadas ………………………………………….. 150
    Manos a la obra ……………………………………………………………………………………… 150
    Implementando el comando …………………………………………………………………. 151
    Capítulo 7. El Patrón de Diseño Model-View-ViewModel …………………………. 155
    Introducción ……………………………………………………………………………………….. 155
    ¿Qué es el patrón de diseño Model-View-ViewModel? …………………………….. 155
    La Vista o View ……………………………………………………………………………………. 156
    El Modelo para la Vista o ViewModel …………………………………………………….. 156
    El Modelo …………………………………………………………………………………………… 157
    Ventajas …………………………………………………………………………………………….. 157
    Cardinalidad entre los Model, Views y ViewModels …………………………………. 158
    Estrategias para relacionar una Vista con su ViewModel ………………………….. 158
    Cómo pensar en MVVM ……………………………………………………………………….. 159
    Manos a la obra ……………………………………………………………………………………. 160
    Renombrando y organizando las clases actuales ……………………………………… 160
    Implementando SurveyDetailsViewModel ………………………………………………. 162
    Modificando la página SurveyDetailsView ………………………………………………. 166
    Implementando la colección de equipos ………………………………………………… 168
    Implementando la selección de equipos …………………………………………………. 169
    Implementando el comando para finalizar una encuesta ………………………….. 172
    Desinscribiendo los mensajes ……………………………………………………………….. 175
    Ejecutando la aplicación ……………………………………………………………………….. 177
    Capítulo 8. Funcionalidad Nativa de las Plataformas ……………………………….. 179
    Introducción …………………………………………………………………………………………… 179
    Clase Device …………………………………………………………………………………………… 179
    Idiom …………………………………………………………………………………………………. 179
    OS ……………………………………………………………………………………………………… 180
    BeginInvokeOnMainThread() ………………………………………………………………… 180
    StartTimer() ………………………………………………………………………………………… 181
    OnPlatform() y OnPlatform() ……………………………………………………………. 181
    Clase OnPlatform ………………………………………………………………………………. 182
    Imágenes …………………………………………………………………………………………….. 182
    Servicio de Dependencias ………………………………………………………………………. 183
    DependencyService ……………………………………………………………………………… 184
    Plugins de Xamarin ………………………………………………………………………………. 188
    Manos a la obra …………………………………………………………………………………… 189
    Modificando el modelo ………………………………………………………………………… 189
    Creando la interfaz IGeolocationService …………………………………………………. 190
    Implementación de IGeolocationService en UWP ……………………………………. 191
    Implementación de IGeolocationService en Android ………………………………… 193
    Usando el Servicio de Dependencias ……………………………………………………… 196
    Modificando la Plantilla de Datos ………………………………………………………….. 197
    Probando la aplicación …………………………………………………………………………. 198
    Capítulo 9. Arquitectura de Aplicaciones con Prism …………………………………. 201
    Introducción ………………………………………………………………………………………… 201
    ¿Qué es Prism?……………………………………………………………………………………. 202
    ¿Por qué usar Prism? …………………………………………………………………………… 202
    Versiones de Prism ………………………………………………………………………………. 203
    ¿Qué ofrece Prism para Xamarin.Forms? ……………………………………………….. 203
    Principios SOLID ………………………………………………………………………………….. 204
    Requerimientos …………………………………………………………………………………… 205
    Modelo de Aplicación ……………………………………………………………………………… 205
    Clase PrismApplication …………………………………………………………………………. 206
    Clase BindableBase …………………………………………………………………………………. 208
    Clase DelegateCommand …………………………………………………………………………. 208
    ObservesProperty() ……………………………………………………………………………… 208
    ObservesCanExecute() …………………………………………………………………………. 209
    Navegación ……………………………………………………………………………………………. 209
    INavigationService ……………………………………………………………………………….. 209
    INavigationAware ………………………………………………………………………………… 210
    IPageDialogService ………………………………………………………………………………….. 210
    Inyección de dependencias ………………………………………………………………………. 211
    ¿Cuándo se usa la Inyección de Dependencias en Prism? …………………………. 213
    Manos a la obra ……………………………………………………………………………………. 214
    Instalando Prism …………………………………………………………………………………. 214
    Implementando el Modelo de Aplicación ……………………………………………….. 216
    Implementando la clase BindableBase ……………………………………………………. 219
    Implementando la infraestructura de navegación ……………………………………. 220
    Inyección de Dependencias …………………………………………………………………… 221
    Implementando DelegateCommand ………………………………………………………. 235
    Probando la aplicación con Prism ………………………………………………………….. 236
    Complementando la aplicación con más páginas …………………………………….. 237
    Implementando Material Design en la aplicación de Android ……………………. 251
    Probando la aplicación con la nueva estructura ………………………………………. 253
    Capítulo 10. Almacenamiento local con SQLite ……………………………………….. 255
    Introducción ……………………………………………………………………………………….. 255
    ¿Qué es SQLite? ………………………………………………………………………………….. 255
    Instalando y referenciando SQLite en el proyecto UWP ……………………………. 255
    Instalando el paquete de SQLite para .NET ……………………………………………… 257
    Creando la conexión a SQLite ………………………………………………………………… 258
    Creando un servicio para la base de datos ………………………………………………. 259
    Manos a la obra ……………………………………………………………………………………… 260
    Implementando ISQLiteService ……………………………………………………………… 260
    Modificando la clase Survey ………………………………………………………………….. 263
    Creación de la interfaz ILocalDbService ………………………………………………….. 264
    Registrando la instancia en el contenedor de Unity………………………………….. 268
    Inyectando el servicio en los ViewModels ………………………………………………. 268
    Guardando las encuestas en la base de datos …………………………………………. 270
    Leyendo las encuestas de la base de datos ……………………………………………… 271
    Implementando la funcionalidad de borrar encuestas ……………………………… 272
    Agregando un texto amigable en la Interfaz de Usuario ……………………………. 278
    Probando la aplicación …………………………………………………………………………. 279
    Capítulo 11. Comunicación a Servicios …………………………………………………… 281
    Introducción ………………………………………………………………………………………… 281
    SOAP vs. REST……………………………………………………………………………………… 281
    Creando un servicio REST con ASP.NET Web API ………………………………….. 282
    Manos a la obra ……………………………………………………………………………………. 284
    Creando la base de datos ……………………………………………………………………… 284
    Creando el proyecto Web API ……………………………………………………………….. 286
    Creando los controladores SurveysController y TeamsController ………………. 287
    Creando el proyecto Surveys.Entities …………………………………………………….. 289
    Creando el proyecto Surveys.Web.DAL.SqlServer ……………………………………. 292
    Implementando el controlador de equipos …………………………………………….. 299
    Implementando el controlador de encuestas ………………………………………….. 300
    Creando el servicio IWebApiService ……………………………………………………….. 302
    Registrando el servicio IWebApiService ………………………………………………….. 305
    Publicando el servicio REST …………………………………………………………………… 305
    Probando el servicio REST …………………………………………………………………….. 308
    Modificando ILocalDbService ………………………………………………………………… 309
    Creando el módulo de sincronización …………………………………………………….. 311
    Implementando la nueva página de selección de equipos ………………………… 318
    Modificando SurveyDetailsViewModel …………………………………………………… 327
    Modificando la página de encuestas ………………………………………………………. 329
    Probando la aplicación …………………………………………………………………………. 336
    Protegiendo el servicio con autenticación basada en tokens …………………….. 337
    Probando la aplicación …………………………………………………………………………. 351
    Índice analítico ………………………………………………………………………………….. 353

    Ir a Arriba