Upload
javier-suarez-ruiz
View
984
Download
1
Embed Size (px)
Citation preview
#PlainConceptsTechDay
20.12.2017
Plain Concepts
Tech Day
JAVIER SUÁREZ RUIZ
Desarrollo de aplicaciones
multiplataforma con Xamarin
XAMARIN TEAM LEAD
#PlainConceptsTechDay2
9:00 – 9:45 CSS Grid Layout - ¡Se acabaron los hacks, larga vida al CSS!
9:45 - 10:30 Desarrollo de aplicaciones multiplataforma utilizando Xamarin
10:30 - 11:15 Docker: de principante a pro
11:15 - 11:25 ¿Qué es la Fundación Theodora?
11:25 - 11:45 Break
11:45 - 12:30 Los autobuses de madrid en tiempo real con Azure Relay, .Net Core y una Raspberry Pi
12:30 - 13:15 Swagger Code Generation: Cuando front encontró a back
13:15 - 14:00 Entrega contínua con Visual Studio Team Services
Plain
Concepts
Tech Day
Qué veremos
#PlainConceptsTechDay 3
1. Introducción a Xamarin
2. ¿Cómo desarrollamos en Xamarin?
3. Próximas novedades
4. Tendencias
5. Preguntas y Respuestas
Visual Studio Technologies & Windows Platform Development MVP
Xamarin MVP
Software Developer at Plain Concepts
Javier Suárez
@plainconcepts
#PlainConceptsTechDay4
@jsuarezruiz
DEVELOPER
#PlainConceptsTechDay 5
Introducción a Xamarin
Código nativo
iOS WindowsAndroid
Objective-C
Xcode
C#
Visual Studio
Java
Android Studio
No se comparte código • Diferentes lenguajes & entornos de desarrollo • Diferentes
equipos
Escribe una vez, corre en todos
App Generator
Lua
Javascript
Actionscript
HTML+CSS
Acceso limitado a APIs • Menos rendimiento • Experiencia de usuario más pobre
El enfoque de Xamarin
Código común compartido • Acceso 100% a APIs nativas • Alto rendimiento
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile
Xamarin + Xamarin.Forms
Enfoque tradicional Con Xamarin.Forms:Más código compartido, nativo
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Backend
Shared UI Code
Shared C# Backend
El enfoque de Xamarin
Código común compartido • Acceso 100% a APIs nativas • Alto rendimiento
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile C# Server
Linux/Mono
CoreCLRAzure
Shared C# Client/Server
Rendimiento nativo
Xamarin.iOS usa la compilación Ahead Of Time
(AOT) para crear un binario ARM para la
Apple’s App Store.
Xamarin.Android toma ventaja de la
compilación Just In Time (JIT) en
dispositivos Android.
Open Source – open.xamarin.com
Windows APIs
Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
iOS – Acceso al 100% de las APIs
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
Android – Acceso al 100%de las APIs
Text-to-speech ActionBar Printing Framework Renderscript NFC
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
Cualquier cosa que puedas hacer con Objective-C, Swift, o Java
se puede hacer con C# y Visual Studio con Xamarin.
La clave, compartir
código
LIBRARIES
INFRASTRUCTURE
.NET STANDARD
NET Standard.NET Standard permite
compartir código, recursos y
otros elementos entre
clientes .NET (y servidores).
• .NET Standard facilita una
específicación para cada
plataforma para que la
implementación sea
similar.
• Todos los runtime .NET
creados por Microsoft
están implemenentando el
standard.
Pasamos a ver código, realizar pruebas, compilar, ejecutar, etc.
DEMO TIME
@plainconcepts
#PlainConceptsTechDay19
App Xamarin.Forms con NET Standard
#PlainConceptsTechDay 20
¿Cómo desarrollamos en
Xamarin?
Xamarin Live Player
Xamarin Live Player
Xamarin Live Player App
Xamarin Live Player App
Emparejando un dispositivo
Vamos a ver como utilizar Live Player desde Visual Studio 2017.
A continuación, vamos a realizar cambios tanto de código XAML
como en la lógica de la aplicación para ver todos los cambios…al
vuelo!
DEMO TIME
@plainconcepts
#PlainConceptsTechDay26
Live Player
Visual Studio
App Center
appcenter.ms
Visual Studio App Center
Visual Studio App Center
HockeyApp iOS, Android, UWP
Visual Studio App Center
Visual Studio App Center
Visual Studio App Center
Visual Studio App Center
Builds, pruebas de UI, analíticas y mucho más!
DEMO TIME
@plainconcepts
#PlainConceptsTechDay34
Visual Studio App Center
#PlainConceptsTechDay 35
Próximas novedades
Xamarin.Forms: Nuevas plataformas
Aplicación Xamarin.Forms disponible para todos los backends
disponibles incluidos aquellos en modo Preview.
DEMO TIME
@plainconcepts
#PlainConceptsTechDay37
La misma App en Android, iOS, UWP, Windows, macOS y Linux!
Así es!. Vamos a ver una demo de Xamarin.Forms y el backend
Ooui utilizando ASP.net Core.
DEMO TIME
@plainconcepts
#PlainConceptsTechDay38
¿Xamarin.Forms y web?
.NET Embedding en iOS + Android
Xamarin.Forms Native Forms
XAML StandardActualización de Xamarin.Forms, se alinea con UWP
● Nuevos tipos
○ TextBox, Border, ComboBox, ProgressRing, StackPanel,
TextBlock, ToggleSwitch, UserControl
● Nuevas propiedades
○ Foreground, Background, BorderBrush, BorderThickness, Value,
FontStyle, FontWeights, Orientation, Stretch, TextWrapping
Preview disponible: aka.ms/xf-xamlstandard
#PlainConceptsTechDay 42
Tendencias
REALIDAD AUMENTADA, MACHINE LEARNING, ELEMENTOS 3D Y MUCHO MÁS!
43
• Aplicaciones nativas con interfaces atractivas y adaptadas a
cada plataforma.
• Rendimiento nativo.
• Machine Learning.
• Realidad aumentada.
¿Qué se esperará de las próximas grandes aplicaciones móviles?
TENDENCIAS
Realidad aumentada
@plainconcepts
#PlainConceptsTechDay44
Xamarin da soporte tanto a
ARKit (iOS) como a ARCore
(Android).
Contamos con posibilidades
como seguimiento de
movimiento, detección de plano
y estimación de la luz.
#PlainConceptsTechDay 45
¿Preguntas?
¡Estamos
CONTRATANDO!
46
int ledPin = 13;
void setup()
{ pinMode(ledPin, OUTPUT);
}
void loop(){ digitalWrite(ledPin, HIGH);
delay(1000); digitalWrite(ledPin, LOW);
delay(1000);
}
@plainconcepts
#PlainConceptsTechDay
www.plainconcepts.com/careers
¡GRACIAS!www.plainconcepts.com
@plainconcepts
www.plainconcepts.com
MADRID
Paseo de la Castellana 163, 10º
28046 Madrid. España
T. (+34) 91 5346 836
BILBAO
Calle Ledesma 10-bis 3º
48001 Bilbao. España
T. (+34) 94 6073 371
BARCELONA
Carrer Compte d’Urgell 240 4º A
08036 Barcelona. España
T. (+34) 93 7978 566
SEVILLA
Avenida de la innovación s/n
Edificio Renta Sevilla, 3º A
41020 Sevilla. España
T. (+34) 600 58 75 43
DUBAI
Dubai Internet City. Building 1
73030 Dubai. EAU
T. (+971) 4 551 6653
LONDON
Impact Hub Kings Cross
24B York Way, N1 9AB
London. UK
SEATTLE
8201 164th Ave NE
Redmond, WA 98052
Washington
T. (+1) 206 708 1285