SlideShare ist ein Scribd-Unternehmen logo
1 von 49
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
Integración
continua con
Apps Xamarin
Javier Suárez Ruiz
MADRID · NOV 27-28 · 2015
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
Javier Suárez
Microsoft MVP Windows Platform
Development
Software Developer at Plain Concepts
• Blog: http://geeks.ms/blogs/jsuarez
• Email: javiersuarezruiz@hotmail.com
• Twitter: @jsuarezruiz
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
XAMARIN: APPS NATIVAS MULTIPLATAFORMA
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
XAMARIN
Base de código C# compartido • 100% acceso a APIs nativas • Alto rendimiento
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
XAMARIN + XAMARIN.FORMS
Original Con Xamarin.Forms
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Backend
Shared UI Code
Shared C# Backend
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
Cualquier cosa que pudieras hacer con Objective-C, Swift, o Java
se puede hacer con C# y Visual Studio con Xamarin.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
ESTADÍSTICAS
DE CÓDIGO
COMPARTIDOMac
iOS
Android
Windows Phone
iCircuit Touch Draw
86%
14%
72%
28%
70%
30%
61%39%
88%
12%
76%
24%
90%
10%
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
DEMO
Xamarin Classic y Xamarin Forms
COSAS QUE
PASAN…
¿CIERTO?
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
¿QUÉ VAMOS A VER?
Un vistazo a la agenda
Repasamos nuestra App Xamarin,
creamos pruebas unitarias y pruebas
de interfaz de usuario.
Pruebas unitarias y de UI
Un vistazo rápido a que es la
integración continua, que puede hacer
por nosotros además de que es
necesario.
Integración Continua
Nos centraremos en utilizar Team City
que configuraremos para desplegar,
compilar y pasar tests unitarios de
Apps Xamarin.
Configuración y uso
Cerramos integrando Xamarin Test
Cloud en nuestro proceso de
integración continua.
Xamarin Test Cloud
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
• Fragmentación
• Complejidad de Apps
• Ciclos ágiles
• Expectación alta usuarios
EL RETO
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
+5 Versiones del
sistema
22 Dispositivos
20 Idiomas
35 Localizaciones
6 Tamaños de pantalla
9 Versiones del sistema
6 Configuraciones de
pantalla
27 Tamaños de pantalla
39 Idiomas
57 Localizaciones
+15 Fabricantes
Más de 19,000
dispositivos distintos
EN TELÉFONOS, LA CALIDAD CUESTA
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
DIVERSIFICACIÓN EN IOS
3D Touch
iPhone 6s
Apple pencil
iPad Pro
Multi Tasking
Solo en algunos iPads
iPads
iPod
touch
iPhones
Factores de forma Características iOS 9
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
Mercado dispositivos USA
Deberíamos tener 134 dispositivos para cubrir
al menos el 75% del Mercado de USA
25% 50% 75% 90%Market Share
NumberofDevices
13
45
134
288
0
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
Ciclos
prolongados
Iteraciones
rápidas
Test más complejos
Tests simples
Beta Testing
Test
manuales
Test automáticos de
UI
Unit Testing
¿Cómo testeamos?
Test automáticos de UI
permiten asegurar:
• Arranque
• Apariencia
• Comportamiento
En distintos dispositivos
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
DEMO
App Xamarin y test unitarios
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
• Crear tests automáticos de la
interfaz de usuarios en C#
• Se pueden corer
directamente desde Visual
Studio o Xamarin Studio
• Se pueden usar simuladores
• Funciona con apps: Nativas,
Híbridas o Xamarin
• Se pueden subir a Test Cloud
INTRODUCCIÓN A XAMARIN.UITEST
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
XAMARIN TEST CLOUD
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
DEMO
Xamarin UITest
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
¿INTEGRACIÓN CONTINUA?
¿Qué es?
La integración continua consiste en
hacer integraciones automáticas de
un Proyecto lo más a menudo
possible para así detector fallos
cuantos antes.
Entendemos por integración la
compilación y ejecución de
pruebas.
Wikipedia
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
INTEGRACIÓN CONTINUA
Workflow
Resultados
Repositorio de
código
Servidor BUILD
Desarrollador
App
Build
Ejecutar tests
Unitarios
Commit
Código
Tests Unitarios
1º
2º
3º
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA?
Beneficios
“La integración continua no evitará que se produzcan
bugs, pero si nos permite encontrarlos y solucionarlos
de una forma dramáticamente más fácil”
Martin Flowler
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA?
Beneficios. Encontrar errores más rápido!
• Detectar errores
con mayor rapidez
y antelación.
• Más sencillo de
corregir.
• Más barato.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA?
Beneficios. Minimiza problemas en Merges.
• Una integración continua
con Builds frecuentes
tiende a forzar Commits
más pequeños.
• Más fácil de hacer
rollback.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA?
Beneficios. En mi máquina funciona…
• Consistencia. Builds
reproducibles.
• La App funcionará en
cualquier entorno con las
mismas condiciones.
• Evitamos la “contaminación
de la Build”
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
VENTAJAS INTEGRACIÓN CONTINUA
Poder desplegar en cualquier momento
• Necesitamos entregar una version al
cliente…
• ¿Para cuando?
• AHORA
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
CONTROL DE CÓDIGO FUENTE
Opciones
Team Foundation Server
o
Visual Studio Online
Git / GitHub
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
CI SOFTWARE
TFS
• Mucho más que CI
• Sólo para Windows. Requiere utilizat
Mac Build Host.
• Requiere Xamarin Pro o Business.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
CI SOFTWARE
TeamCity
• Fácil de instalar.
• Windows & OSX.
• Versión gratuita.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
CI SOFTWARE
Jenkis
• Open Source
• Windows & OSX
• Fácil de instalar
• Enorme cantidad de plug-ins
SETUP
1. Servidor de control de
código Fuente.
2. Servidor Integración
Continua.
3. Instalar y activar Xamarin
Studio.
4. Preparar Build script.
5. Configurar la Build en el
servidor de Integración
Continua.
MAC para la compilación de Apps
iOS. Suficiente MAC Mini.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
DEMO
Un vistazo a Team City
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
¿PORQUE CREAR UN SCRIPT?
La importancia del Script
• Traceable
• Los Devs pueden usarlo también!
• Documentación
• Mayor facilidad a la hora de mantenerlo
todo
• Simplifica la configuración del servidor
de integración
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
¿PORQUE CREAR UN SCRIPT?
F# MAKE
• F# Make o más conocido como FAKE,
es un Sistema de automatización de
Builds.
• Similar a Make o Rake.
• DSL sin necesidad de F#. Si
necesitamos más funcionalidad que la
disponible por defecto escribiremos
código F# o referencias a librerías .NET.
• Funciona en Windows y OSX.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
HOLA MUNDO FAKE
F# MAKE
#r "tools/FAKE/tools/FakeLib.dll" // include Fake lib
open Fake
Target "Test" (fun _ ->
trace "Testing stuff..."
)
Target "Deploy" (fun _ ->
trace "Deploy stuff..."
)
"Test" // define the dependencies
==> "Deploy"
Run "Deploy"
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
DEMO
BUILDs automáticas de Apps Xamarin con Team City
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
ENTREGA DE LA APLICACIÓN
HockeyApp
• Podemos subir versiones de la
App de manera automática desde
nuestras Builds.
• Podemos notificar a clientes o
testers.
• Recibir feedback.
• Crashs.
• API para desarrolladores.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
DEMO
Entrega continua
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
CONCLUSIONES INTEGRACIÓN CONTINUA
¿Qué hemos aprendido?
• Automatización
• Commits más frecuentes
• Builds continuas, se detectan fallos
más rápido
• No se sube código que rompa la
Build
• Corrección de bugs con mayor
facilidad y rapidez
• Build en cualquier entorno destino
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
Rápido
Equipo de QA puede probar con rapidez y
recibir completos informes desde Xamarin
Test Cloud
Cientos de dispositivos
Podemos accede y probar nuestra
aplicación en gran cantidad de dispositivos
diferentes
Integración Continua
Compilación, pruebas unitarias e
integración con Xamarin Test Cloud
Reportes
Mucho más que feedback, informes
completes de errores y rendimiento
Fragmentación
Combinaciones de diferentes dispositivos,
versions del Sistema operative,
resoluciones y pantallas.
UI testing
Pruebas en la UI de todo tipo, toques,
deslizamientos, etc.
CONCLUSIONES INTEGRACIÓN CONTINUA
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
¿PREGUNTAS y RESPUESTAS?
¿Dudas?
P&R
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
GRACIAS a TODOS
Por vuestro tiempo!
Javier Suárez
Microsoft MVP Windows Platform Development
• Blog: http://geeks.ms/blogs/jsuarez
• Email: javiersuarezruiz@hotmail.com
• Twitter: @jsuarezruiz
INTEGRACIÓN CONTINUA CON XAMARIN
JAVIER SUÁREZ RUIZ
.
.
INTEGRACIÓN CONTINUA CON APPS XAMARIN
Como pasar Builds y test unitarios de Apps móviles multiplataforma Xamarin desde TeamCity.

Weitere ähnliche Inhalte

Was ist angesagt?

Codemotion 2017 - Taller Xamarin
Codemotion 2017 - Taller XamarinCodemotion 2017 - Taller Xamarin
Codemotion 2017 - Taller XamarinJavier Suárez Ruiz
 
Introducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinIntroducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinJavier Suárez Ruiz
 
Arquitectura en Aplicaciones Xamarin
Arquitectura en Aplicaciones XamarinArquitectura en Aplicaciones Xamarin
Arquitectura en Aplicaciones XamarinJavier Suárez Ruiz
 
Xamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller XamarinXamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller XamarinJavier Suárez Ruiz
 
Microsoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinJavier Suárez Ruiz
 
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.FormsIntroducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.FormsJavier Suárez Ruiz
 
Visual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaVisual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaJavier Suárez Ruiz
 
Arquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appArquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appBorja García Cueto
 
Extendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom RendersExtendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom RendersJavier Suárez Ruiz
 
Novedades Xamarin Connect(); 2017
Novedades Xamarin Connect(); 2017Novedades Xamarin Connect(); 2017
Novedades Xamarin Connect(); 2017Javier Suárez Ruiz
 
Novedades en Visual Studio Online
Novedades en Visual Studio OnlineNovedades en Visual Studio Online
Novedades en Visual Studio OnlineJavier Suárez Ruiz
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform BridgesJavier Suárez Ruiz
 
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Javier Suárez Ruiz
 

Was ist angesagt? (20)

Servicios Xamarin
Servicios XamarinServicios Xamarin
Servicios Xamarin
 
Codemotion 2017 - Taller Xamarin
Codemotion 2017 - Taller XamarinCodemotion 2017 - Taller Xamarin
Codemotion 2017 - Taller Xamarin
 
Introducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinIntroducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones Xamarin
 
Arquitectura en Aplicaciones Xamarin
Arquitectura en Aplicaciones XamarinArquitectura en Aplicaciones Xamarin
Arquitectura en Aplicaciones Xamarin
 
Xamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller XamarinXamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller Xamarin
 
Microsoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller Xamarin
 
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.FormsIntroducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
 
Xamarin for Everyone
Xamarin for EveryoneXamarin for Everyone
Xamarin for Everyone
 
Visual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaVisual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event Sevilla
 
Arquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appArquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera app
 
Extendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom RendersExtendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom Renders
 
Desktop App Converter
Desktop App ConverterDesktop App Converter
Desktop App Converter
 
Introducción a Xamarin.Forms
Introducción a Xamarin.FormsIntroducción a Xamarin.Forms
Introducción a Xamarin.Forms
 
Novedades Xamarin Connect(); 2017
Novedades Xamarin Connect(); 2017Novedades Xamarin Connect(); 2017
Novedades Xamarin Connect(); 2017
 
Novedades en Visual Studio Online
Novedades en Visual Studio OnlineNovedades en Visual Studio Online
Novedades en Visual Studio Online
 
Testing de Apps Xamarin
Testing de Apps XamarinTesting de Apps Xamarin
Testing de Apps Xamarin
 
dotNetMálaga - Taller Xamarin
dotNetMálaga - Taller XamarindotNetMálaga - Taller Xamarin
dotNetMálaga - Taller Xamarin
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform Bridges
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
 

Andere mochten auch

SVQDC - Desarrollo de Apps apra Hololens
SVQDC - Desarrollo de Apps apra HololensSVQDC - Desarrollo de Apps apra Hololens
SVQDC - Desarrollo de Apps apra HololensJavier Suárez Ruiz
 
Xamarin University Sprint Fling 2016
Xamarin University Sprint Fling 2016Xamarin University Sprint Fling 2016
Xamarin University Sprint Fling 2016Javier Suárez Ruiz
 
Tus aplicaciones en pantalla grande con Xbox One
Tus aplicaciones en pantalla grande con Xbox One Tus aplicaciones en pantalla grande con Xbox One
Tus aplicaciones en pantalla grande con Xbox One Javier Suárez Ruiz
 
WinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSWinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSJavier Suárez Ruiz
 
re-Connect Madrid: Novedades Xamarin
re-Connect Madrid: Novedades Xamarinre-Connect Madrid: Novedades Xamarin
re-Connect Madrid: Novedades XamarinJavier Suárez Ruiz
 
Interfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.FormsInterfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.FormsJavier Suárez Ruiz
 
Adaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletasAdaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletasJavier Suárez Ruiz
 
Desarrollo para Microsoft Band con Xamarin
Desarrollo para Microsoft Band con XamarinDesarrollo para Microsoft Band con Xamarin
Desarrollo para Microsoft Band con XamarinJavier Suárez Ruiz
 
Xamarin Dev Days Madrid - Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.FormsXamarin Dev Days Madrid - Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.FormsJavier Suárez Ruiz
 
Reconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows PlatformReconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows PlatformJavier Suárez Ruiz
 
Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4Javier Suárez Ruiz
 
Desarrollo de aplicaciones Windows Phone con Silverlight 8.1
Desarrollo de aplicaciones Windows Phone con Silverlight 8.1Desarrollo de aplicaciones Windows Phone con Silverlight 8.1
Desarrollo de aplicaciones Windows Phone con Silverlight 8.1Javier Suárez Ruiz
 

Andere mochten auch (16)

SVQDC - Desarrollo de Apps apra Hololens
SVQDC - Desarrollo de Apps apra HololensSVQDC - Desarrollo de Apps apra Hololens
SVQDC - Desarrollo de Apps apra Hololens
 
Xamarin REvolve 2016
Xamarin REvolve 2016Xamarin REvolve 2016
Xamarin REvolve 2016
 
Xamarin University Sprint Fling 2016
Xamarin University Sprint Fling 2016Xamarin University Sprint Fling 2016
Xamarin University Sprint Fling 2016
 
Tus aplicaciones en pantalla grande con Xbox One
Tus aplicaciones en pantalla grande con Xbox One Tus aplicaciones en pantalla grande con Xbox One
Tus aplicaciones en pantalla grande con Xbox One
 
WinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSWinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOS
 
Extendiendo Xamarin.Forms
Extendiendo Xamarin.FormsExtendiendo Xamarin.Forms
Extendiendo Xamarin.Forms
 
re-Connect Madrid: Novedades Xamarin
re-Connect Madrid: Novedades Xamarinre-Connect Madrid: Novedades Xamarin
re-Connect Madrid: Novedades Xamarin
 
Interfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.FormsInterfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.Forms
 
Xamarin forms en el mundo real
Xamarin forms en el mundo realXamarin forms en el mundo real
Xamarin forms en el mundo real
 
Adaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletasAdaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletas
 
Desarrollo para Microsoft Band con Xamarin
Desarrollo para Microsoft Band con XamarinDesarrollo para Microsoft Band con Xamarin
Desarrollo para Microsoft Band con Xamarin
 
Xamarin Dev Days Madrid - Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.FormsXamarin Dev Days Madrid - Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.Forms
 
Reconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows PlatformReconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows Platform
 
Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4
 
Reconnect(); Sevilla - Keynote
Reconnect(); Sevilla - KeynoteReconnect(); Sevilla - Keynote
Reconnect(); Sevilla - Keynote
 
Desarrollo de aplicaciones Windows Phone con Silverlight 8.1
Desarrollo de aplicaciones Windows Phone con Silverlight 8.1Desarrollo de aplicaciones Windows Phone con Silverlight 8.1
Desarrollo de aplicaciones Windows Phone con Silverlight 8.1
 

Ähnlich wie Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin

Desarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrolloDesarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrolloJavier Suárez Ruiz
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosIrving Muñoz
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosIrving Muñoz
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinJavier Suárez Ruiz
 
Llevando tu startup a las tres principales plataformas móviles
Llevando tu startup a las tres principales plataformas móvilesLlevando tu startup a las tres principales plataformas móviles
Llevando tu startup a las tres principales plataformas móvilesJosué Yeray Julián Ferreiro
 
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...Javier Suárez Ruiz
 
Xamarin Fest Santo Domingo ( introduccion)
Xamarin  Fest Santo Domingo ( introduccion)Xamarin  Fest Santo Domingo ( introduccion)
Xamarin Fest Santo Domingo ( introduccion)Yhorby Matias
 
diapositivas de XAMARIN
diapositivas de XAMARINdiapositivas de XAMARIN
diapositivas de XAMARINAlonso Alvarez
 
Dev Days 1 - Introducción a Xamarin
Dev Days 1 - Introducción a XamarinDev Days 1 - Introducción a Xamarin
Dev Days 1 - Introducción a XamarinSergio Gasca García
 

Ähnlich wie Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin (20)

Desarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrolloDesarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrollo
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticos
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticos
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller Xamarin
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Introduccion a xamarin
Introduccion a xamarinIntroduccion a xamarin
Introduccion a xamarin
 
Introducción a xamarin
Introducción a xamarinIntroducción a xamarin
Introducción a xamarin
 
Llevando tu startup a las tres principales plataformas móviles
Llevando tu startup a las tres principales plataformas móvilesLlevando tu startup a las tres principales plataformas móviles
Llevando tu startup a las tres principales plataformas móviles
 
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
 
Xamarin Fest Santo Domingo ( introduccion)
Xamarin  Fest Santo Domingo ( introduccion)Xamarin  Fest Santo Domingo ( introduccion)
Xamarin Fest Santo Domingo ( introduccion)
 
Visual Studio App Center
Visual Studio App CenterVisual Studio App Center
Visual Studio App Center
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
diapositivas de XAMARIN
diapositivas de XAMARINdiapositivas de XAMARIN
diapositivas de XAMARIN
 
Expo. moviles
Expo. movilesExpo. moviles
Expo. moviles
 
Knowing App Center Test
Knowing App Center TestKnowing App Center Test
Knowing App Center Test
 
DotNetDom: El futuro de Xamarin
DotNetDom: El futuro de XamarinDotNetDom: El futuro de Xamarin
DotNetDom: El futuro de Xamarin
 
Introducción a Live XAML
Introducción a Live XAMLIntroducción a Live XAML
Introducción a Live XAML
 
introducción a xamarin
  introducción a xamarin  introducción a xamarin
introducción a xamarin
 
Dev Days 1 - Introducción a Xamarin
Dev Days 1 - Introducción a XamarinDev Days 1 - Introducción a Xamarin
Dev Days 1 - Introducción a Xamarin
 

Mehr von Javier Suárez Ruiz

Cape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community ToolkitCape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community ToolkitJavier Suárez Ruiz
 
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.FormsTech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.FormsJavier Suárez Ruiz
 
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....Javier Suárez Ruiz
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersJavier Suárez Ruiz
 
Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.FormsJavier Suárez Ruiz
 
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.FormsMonkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.FormsJavier Suárez Ruiz
 
Crear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.FormsCrear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.FormsJavier Suárez Ruiz
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsJavier Suárez Ruiz
 
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellMonkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellJavier Suárez Ruiz
 
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.FormsAnalizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.FormsJavier Suárez Ruiz
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!Javier Suárez Ruiz
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinJavier Suárez Ruiz
 
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con XamarinPlain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con XamarinJavier Suárez Ruiz
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000Javier Suárez Ruiz
 
dotNetMálaga 2017 - Taller Hololens con Wave Engine
dotNetMálaga 2017 - Taller Hololens con Wave EnginedotNetMálaga 2017 - Taller Hololens con Wave Engine
dotNetMálaga 2017 - Taller Hololens con Wave EngineJavier Suárez Ruiz
 

Mehr von Javier Suárez Ruiz (20)

Cape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community ToolkitCape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community Toolkit
 
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.FormsTech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
 
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI Handlers
 
Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.Forms
 
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.FormsMonkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
 
Crear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.FormsCrear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.Forms
 
#XamarinUIJuly Summary
#XamarinUIJuly Summary#XamarinUIJuly Summary
#XamarinUIJuly Summary
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.Forms
 
Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018
 
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellMonkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
 
.Net Conf Sevilla 2018
.Net Conf Sevilla 2018.Net Conf Sevilla 2018
.Net Conf Sevilla 2018
 
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.FormsAnalizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.Forms
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!
 
Novedades Xamarin 3.0 Preview
Novedades Xamarin 3.0 PreviewNovedades Xamarin 3.0 Preview
Novedades Xamarin 3.0 Preview
 
Introducción a Xamarin.Forms
Introducción a Xamarin.FormsIntroducción a Xamarin.Forms
Introducción a Xamarin.Forms
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas Xamarin
 
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con XamarinPlain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000
 
dotNetMálaga 2017 - Taller Hololens con Wave Engine
dotNetMálaga 2017 - Taller Hololens con Wave EnginedotNetMálaga 2017 - Taller Hololens con Wave Engine
dotNetMálaga 2017 - Taller Hololens con Wave Engine
 

Kürzlich hochgeladen

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Kürzlich hochgeladen (13)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin

  • 1. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Integración continua con Apps Xamarin Javier Suárez Ruiz MADRID · NOV 27-28 · 2015
  • 2. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Javier Suárez Microsoft MVP Windows Platform Development Software Developer at Plain Concepts • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  • 3. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  • 4. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN: APPS NATIVAS MULTIPLATAFORMA
  • 5. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN Base de código C# compartido • 100% acceso a APIs nativas • Alto rendimiento iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile
  • 6. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN + XAMARIN.FORMS Original Con Xamarin.Forms iOS C# UI Windows C# UIAndroid C# UI Shared C# Backend Shared UI Code Shared C# Backend
  • 7. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Cualquier cosa que pudieras hacer con Objective-C, Swift, o Java se puede hacer con C# y Visual Studio con Xamarin.
  • 8. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ESTADÍSTICAS DE CÓDIGO COMPARTIDOMac iOS Android Windows Phone iCircuit Touch Draw 86% 14% 72% 28% 70% 30% 61%39% 88% 12% 76% 24% 90% 10%
  • 9. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Xamarin Classic y Xamarin Forms
  • 11. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ VAMOS A VER? Un vistazo a la agenda Repasamos nuestra App Xamarin, creamos pruebas unitarias y pruebas de interfaz de usuario. Pruebas unitarias y de UI Un vistazo rápido a que es la integración continua, que puede hacer por nosotros además de que es necesario. Integración Continua Nos centraremos en utilizar Team City que configuraremos para desplegar, compilar y pasar tests unitarios de Apps Xamarin. Configuración y uso Cerramos integrando Xamarin Test Cloud en nuestro proceso de integración continua. Xamarin Test Cloud
  • 12. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . • Fragmentación • Complejidad de Apps • Ciclos ágiles • Expectación alta usuarios EL RETO
  • 13. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . +5 Versiones del sistema 22 Dispositivos 20 Idiomas 35 Localizaciones 6 Tamaños de pantalla 9 Versiones del sistema 6 Configuraciones de pantalla 27 Tamaños de pantalla 39 Idiomas 57 Localizaciones +15 Fabricantes Más de 19,000 dispositivos distintos EN TELÉFONOS, LA CALIDAD CUESTA
  • 14. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  • 15. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  • 16. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DIVERSIFICACIÓN EN IOS 3D Touch iPhone 6s Apple pencil iPad Pro Multi Tasking Solo en algunos iPads iPads iPod touch iPhones Factores de forma Características iOS 9
  • 17. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Mercado dispositivos USA Deberíamos tener 134 dispositivos para cubrir al menos el 75% del Mercado de USA 25% 50% 75% 90%Market Share NumberofDevices 13 45 134 288 0
  • 18. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Ciclos prolongados Iteraciones rápidas Test más complejos Tests simples Beta Testing Test manuales Test automáticos de UI Unit Testing ¿Cómo testeamos? Test automáticos de UI permiten asegurar: • Arranque • Apariencia • Comportamiento En distintos dispositivos
  • 19. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO App Xamarin y test unitarios
  • 20. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . • Crear tests automáticos de la interfaz de usuarios en C# • Se pueden corer directamente desde Visual Studio o Xamarin Studio • Se pueden usar simuladores • Funciona con apps: Nativas, Híbridas o Xamarin • Se pueden subir a Test Cloud INTRODUCCIÓN A XAMARIN.UITEST
  • 21. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN TEST CLOUD
  • 22. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  • 23. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Xamarin UITest
  • 24. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿INTEGRACIÓN CONTINUA? ¿Qué es? La integración continua consiste en hacer integraciones automáticas de un Proyecto lo más a menudo possible para así detector fallos cuantos antes. Entendemos por integración la compilación y ejecución de pruebas. Wikipedia
  • 25. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . INTEGRACIÓN CONTINUA Workflow Resultados Repositorio de código Servidor BUILD Desarrollador App Build Ejecutar tests Unitarios Commit Código Tests Unitarios 1º 2º 3º
  • 26. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA? Beneficios “La integración continua no evitará que se produzcan bugs, pero si nos permite encontrarlos y solucionarlos de una forma dramáticamente más fácil” Martin Flowler
  • 27. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA? Beneficios. Encontrar errores más rápido! • Detectar errores con mayor rapidez y antelación. • Más sencillo de corregir. • Más barato.
  • 28. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA? Beneficios. Minimiza problemas en Merges. • Una integración continua con Builds frecuentes tiende a forzar Commits más pequeños. • Más fácil de hacer rollback.
  • 29. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA? Beneficios. En mi máquina funciona… • Consistencia. Builds reproducibles. • La App funcionará en cualquier entorno con las mismas condiciones. • Evitamos la “contaminación de la Build”
  • 30. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . VENTAJAS INTEGRACIÓN CONTINUA Poder desplegar en cualquier momento • Necesitamos entregar una version al cliente… • ¿Para cuando? • AHORA
  • 31. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CONTROL DE CÓDIGO FUENTE Opciones Team Foundation Server o Visual Studio Online Git / GitHub
  • 32. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CI SOFTWARE TFS • Mucho más que CI • Sólo para Windows. Requiere utilizat Mac Build Host. • Requiere Xamarin Pro o Business.
  • 33. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CI SOFTWARE TeamCity • Fácil de instalar. • Windows & OSX. • Versión gratuita.
  • 34. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CI SOFTWARE Jenkis • Open Source • Windows & OSX • Fácil de instalar • Enorme cantidad de plug-ins
  • 35. SETUP 1. Servidor de control de código Fuente. 2. Servidor Integración Continua. 3. Instalar y activar Xamarin Studio. 4. Preparar Build script. 5. Configurar la Build en el servidor de Integración Continua. MAC para la compilación de Apps iOS. Suficiente MAC Mini.
  • 36. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Un vistazo a Team City
  • 37. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿PORQUE CREAR UN SCRIPT? La importancia del Script • Traceable • Los Devs pueden usarlo también! • Documentación • Mayor facilidad a la hora de mantenerlo todo • Simplifica la configuración del servidor de integración
  • 38. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿PORQUE CREAR UN SCRIPT? F# MAKE • F# Make o más conocido como FAKE, es un Sistema de automatización de Builds. • Similar a Make o Rake. • DSL sin necesidad de F#. Si necesitamos más funcionalidad que la disponible por defecto escribiremos código F# o referencias a librerías .NET. • Funciona en Windows y OSX.
  • 39. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . HOLA MUNDO FAKE F# MAKE #r "tools/FAKE/tools/FakeLib.dll" // include Fake lib open Fake Target "Test" (fun _ -> trace "Testing stuff..." ) Target "Deploy" (fun _ -> trace "Deploy stuff..." ) "Test" // define the dependencies ==> "Deploy" Run "Deploy"
  • 40. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO BUILDs automáticas de Apps Xamarin con Team City
  • 41. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ENTREGA DE LA APLICACIÓN HockeyApp • Podemos subir versiones de la App de manera automática desde nuestras Builds. • Podemos notificar a clientes o testers. • Recibir feedback. • Crashs. • API para desarrolladores.
  • 42. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  • 43. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  • 44. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Entrega continua
  • 45. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CONCLUSIONES INTEGRACIÓN CONTINUA ¿Qué hemos aprendido? • Automatización • Commits más frecuentes • Builds continuas, se detectan fallos más rápido • No se sube código que rompa la Build • Corrección de bugs con mayor facilidad y rapidez • Build en cualquier entorno destino
  • 46. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Rápido Equipo de QA puede probar con rapidez y recibir completos informes desde Xamarin Test Cloud Cientos de dispositivos Podemos accede y probar nuestra aplicación en gran cantidad de dispositivos diferentes Integración Continua Compilación, pruebas unitarias e integración con Xamarin Test Cloud Reportes Mucho más que feedback, informes completes de errores y rendimiento Fragmentación Combinaciones de diferentes dispositivos, versions del Sistema operative, resoluciones y pantallas. UI testing Pruebas en la UI de todo tipo, toques, deslizamientos, etc. CONCLUSIONES INTEGRACIÓN CONTINUA
  • 47. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿PREGUNTAS y RESPUESTAS? ¿Dudas? P&R
  • 48. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . GRACIAS a TODOS Por vuestro tiempo! Javier Suárez Microsoft MVP Windows Platform Development • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  • 49. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . INTEGRACIÓN CONTINUA CON APPS XAMARIN Como pasar Builds y test unitarios de Apps móviles multiplataforma Xamarin desde TeamCity.

Hinweis der Redaktion

  1. UI build natively per platform, leveraging C# C# + XAML C# + XML C# + XIB One shared app logic code base, iOS, Android, Mac, Windows Phone, Windows Store, Windows
  2. Xamarin recently introduced Xamarin.Forms a new library for cross platform user interface. We will touch up on this later, but this enables you to be highly productive, share code, but build out UI on each platform and access platform APIs. With Xamarin.Forms you now have a nice Shared UI Code layer, but still access to platform APIs You can start from native, pick a few screens, or start with forms, and replace with native later
  3. iCircuit is made by Frank Krueger, a long time Mono & Xamarin developer. Sharing code lead to 70 to 90% code reuse across platforms speeding up development Real-time circuit simulator and editor used to design analog and digital circuits http://praeclarum.org/post/42378027611/icircuit-code-reuse-part-cinq
  4. Well there are several challenges that we must overcome as mobile developers including….
  5. First let’s take a look at the shear number of configurations there are between iOS and Android. As iOS progresses this number is only set to increase, and on Android it is already a HUGE number of configurations to even think about testing. iOS: 7, 7.1, 8, 8.1, 8.2
  6. OpenSignal is a global app that publishes an annual report on Android device fragmentation based on the distinct Android device types that download their app. This is their August 2014 data, with an astonishing 19,000 device types using their app, up by 60% from just last year. Different device operating systems, form factors, screen sizes, resolutions, chip sets, and manufacturer modifications make it difficult to know that your app will work well on all devices
  7. Looking at just a few of the screen sizes of Samsung devices you couldn’t even fit all of them on the screen, so how do you handle this problem?
  8. To hit 75% of the US market you would need over 130 devices and nearly 300 devices to hit 90% of what your users are using today. That is unrealistic to even think about purchasing.
  9. There are several different ways to test mobile applications. We can have extensive beta tests with our users, which is good for hands on, but hard to get feedback. We can spend hours upon hours manually testing which can help find bugs, but can bog down developers. Unit testing is essential for our business logic, but only Automated UI Testing can really ensure that as we add new features and fix bugs our UI isn’t impacted before we release.
  10. This is where Xamarin.UITest comes in to help with this shift. Xamarin.UITest is a framework that ties in directly to the Nunit testing framework to write the UI tests. You can even run them directly against a simulator for free to do regression tests on your applications.
  11. With a simple command you can simulate all of your users interactions to build out a great test suite that can be run over and over again.
  12. We can take our tests and ship them to the Test Cloud to see them run on hundred of physical iOS and Android devices..
  13. Then you can integrate it into your CI system to ensure that before you ship your app nothing has regressed.
  14. So let’s find and fix bugs before our users do.