Inicio/Profesional/TICs y Computación/Programación/XAMARIN.FORMS EN ACCIÓN Aplicaciones de negocio

XAMARIN.FORMS EN ACCIÓN Aplicaciones de negocio

$598

Hay existencias

Autor:  DÍAZ CONCHA, Rodrigo

Páginas:   376

Año:   2017

Edición:   1

Editorial:  Alfaomega –  RC

Apoyos:   

Presentación:

E-Book:

Nivel:  

Encuadernación:  Rústica

Hay existencias

ISBN: 9786076229620 Categorías: ,

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

Información adicional

Peso .800 kg
Dimensiones 23 × 17 × 2 cm

Título

Ir a Arriba