SlideShare una empresa de Scribd logo
www.hjr.com.mx
Apps iOS, Android, Mac, & Windows
Mobile Apps nativas en C# con
Xamarin
www.hjr.com.mx
• MCSD en desarrollo de apps para
Windows Store
• Certificado Xamarin en desarrollo
multiplataforma
• Microsoft Student Partner (Gold en
2012-2013)
• 3 años desarrollando para Windows
Phone
• 2 años con Xamarin Android/IOS
www.hjr.com.mx
Xamarin
DISEÑO– DESARROLLO -
INTEGRACIÓN
PRUEBAS MONITOREO
APRENDIZAJE
www.hjr.com.mx
¿Nativo?
www.hjr.com.mx
Interfaces de usuario Acceso a APIs nativas Rendimiento nativo
www.hjr.com.mx
Arquitectura de
apps móviles
www.hjr.com.mx
Enfoque aislado
iOS WindowsAndroid
Objective-C
Xcode
C#
Visual Studio
Java
Android Studio
Sin código compartido• Múltiples lenguajes & ambientes de desarrollo • Múltiples
equipos
www.hjr.com.mx
Escribe una vez, ejecuta en
cualquier lugar
App Generator
Lua
Javascript
Actionscript
HTML+CSS
Acceso limitado a las APIs nativas • Rendimiento lento• Experiencia de usuario pobre
www.hjr.com.mx
Usando Xamarin solamente
Base C# compartida • 100% de acceso a APIs nativas • Alto rendimiento
iOS C# UI Windows C# UIAndroid C# UI
C# Móvil compartido
www.hjr.com.mx
Xamarin + Xamarin.Forms
• Xamarin Tradicional • Xamarin.Forms:
Más código compartido – Todo nativo
iOS C# UI Windows C# UIAndroid C# UI
Backend C# compartido
IU Compartida
Backend C# compartido
www.hjr.com.mx
Xamarin
Base C# compartida• 100% API’s nativas • Alto Rendimiento
iOS C# UI Windows C# UIAndroid C# UI
C# Móvil compartido C# Servidor
Linux/Mono
CoreCLRAzure
C# compartido Cliente/Servidor
www.hjr.com.mx
www.hjr.com.mx
C# es asombroso
www.hjr.com.mx
Json.NET ofrece conversiones simples entre una cadena JSON y objetos
.NET
JSON fácilmente
www.hjr.com.mx
Clases y Métodos
www.hjr.com.mx
Async/Await
Escribe código simple de mantener
www.hjr.com.mx
Métodos nativos simplificados con
Async/Await
C# con Xamarin
Objective-C
www.hjr.com.mx
Diferencias – Android ItemClick
C# con XamarinJava
C# & Async con Xamarin
www.hjr.com.mx
www.hjr.com.mx
Escribe todo con C#
C# ahora se ejecuta en 2.6+ miles de
millones de dispositivos
www.hjr.com.mx
Más de una década de experiencia empresarial
Primera liberación de
Xamarin.Mac
Lanzado el
Programa de Socios
(Partner
Program)
200,000
Desarrolladores
Xamarin
Fundado
Primera liberación de
Xamarin.Android
Xamarin.iOS lanzado
(originalmente conocido
como MonoTouch)
Fundación de
Ximian
2001 2003 2009 2011 2012 2013
Mono
Es lanzado
Ximian comprado
por Novell
Xamarin 2.0
Component Store
Xamarin Test Cloud
Evolve 2013
Sociedad con Microsoft
500,000
Desarrolladores
100+ Socios
100+ Componentes
2014
//
Xamarin 3
2000
Sociedad con SAP
Soporte a Fire TV
Sociedad con Salesforce
Visionario en el Gartner Magic
Quadrant
Soporte a Google Glass
Socio Visual Studio del año
Soporte a Android Wear
Xamarin Evolve 2014
800,000
Desarrolladores
200+ Socios
200+ Componentes
2015
1 Million de desarrolladores
Sociedad con IBM
Soporte para Visual Studio 2015
Sociedad con Oracle
Soporte para Apple Watch
Soporte para C# 6
1,100,000
Desarrolladores
230+ Socios
300+ Componentes
Xamarin Insights
Xamarin University
www.hjr.com.mx
“Con Xamarin, los desarrolladores combinan todos los beneficios de
productividad de C#, Visual Studio y Windows Azure con la
flexibilidad de construir rápido para múltiples dispositivos”
Sociedad entre Microsoft y Xamarin
S. Somasegar, Vice Presidente Corporativo, Microsoft
www.hjr.com.mx
• IBM MobileFirst SDK para Xamarin
• Add-Ons para Xamarin Studio y Visual Studio
• Xamarin.com/IBM
IBM y Xamarin
www.hjr.com.mx
• Backend robusto para Apps móviles
• Oracle Mobile Cloud Services para Xamarin
• Notificaciones Push
• Autenticación
• APIs
• Almacenamiento de datos
• !Y Mas!
• Xamarin.com/Oracle
Oracle y Xamarin
www.hjr.com.mx
www.hjr.com.mx
APIs Windows
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
C#
www.hjr.com.mx
iOS – Cobertura 100% de 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
C#
www.hjr.com.mx
Android – Cobertura 100% de 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
C#
www.hjr.com.mx
Cualquier cosa que se pueda hacer en Objective-C, Swift, o Java
se puede hacer con C# y Visual Studio con Xamarin.
www.hjr.com.mx
• Xamarin.iOS hace una
compilación “Ahead Of Time”
(AOT) para producir un binario
ARM para la Apple App Store.
Rendimiento nativo
• Xamarin.Android aprovecha la
compilación “Just In Time (JIT)”
compilation en el dispositivo
Android.
www.hjr.com.mx
✓Siempre al día
Soporte el mismo
día:
• iOS 5
• iOS 6
• iOS 7
• iOS 7.1
• iOS 8
Soporte
completo para:
• Apple Watch
• Google Glass
• Android Wear
• Amazon Fire TV
• Y muchos más
www.hjr.com.mx
Compartiendo código
www.hjr.com.mx
Xamarin.iOS Xamarin.Android
Librería de clases portable
www.hjr.com.mx
NuGet
www.hjr.com.mx
Proyectos compartidos
www.hjr.com.mx
Cantidad de
código
compartido
Mac
iOS
Android
Windows Phone
iCircuit Touch Draw
86%
14%
72%
28%
70%
30%
61%39%
88%
12%
76%
24%
90%
10%
www.hjr.com.mx
Experiencia en el desarrollo
www.hjr.com.mx
Integración con Visual Studio
www.hjr.com.mx
Xamarin Studio – Mac o PC
www.hjr.com.mx
Diseñador Android
• Disponible en:
• Xamarin Studio
• Visual Studio
• Crear la IU con drag & drop
• Múltiples tamaños de
pantalla, resoluciones y
versiones de Android
• Layouts en el formato XML
estándar de Android
www.hjr.com.mx
Diseñador para Xamarin iOS
• Primer diseñador en el mundo para
iOS disponible en Xamarin Studio y
Visual Studio
• Utiliza una estructura similar a los
diseñadores de Visual Studio
• Soporta todos los elementos del
UIKit
• Edita componentes personalizados y
de terceros
• Pre visualización de cambios en las
propiedades al momento
www.hjr.com.mx
Xamarin Component Store
Construye apps más rápido
• Agrega componentes de alta
calidad directamente desde
Visual Studio y Xamarin Studio
• Controles de IU multiplataforma,
Servicios de nube y componentes
de back end empresariales a unos
pocos click de distancia
www.hjr.com.mx
Plantillas pre construidas
www.hjr.com.mx
http://bit.ly/XIEF1
www.hjr.com.mx
Vamos a dar un vistazo
www.hjr.com.mx
Conoce Xamarin.Forms
www.hjr.com.mx
Xamarin + Xamarin.Forms
Xamarin tradicional Con Xamarin.Forms:
Más código compartido, todo
es nativo
iOS C# UI Windows C# UIAndroid C# UI
Backend C# compartido
Interfaz de usuario compartida
Backend C# compartido
www.hjr.com.mx
Incluye
✓ 40+ Páginas, layouts y controles
(Construidos desde código o XAML)
✓ Two-way data binding
✓ Navegación
✓ API de animaciones
✓ Servicio de dependencia
✓ Centro de mensajes
Backend C# compartido
IU compartida
www.hjr.com.mx
IU nativa de una base
compartida
<?xml version="1.0" encoding="UTF-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.MainPage">
<TabbedPage.Children>
<ContentPage Title="Profile" Icon="Profile.png">
<StackLayout Spacing="20" Padding="20"
VerticalOptions="Center">
<Entry Placeholder="Username"
Text="{Binding Username}"/>
<Entry Placeholder="Password"
Text="{Binding Password}"
IsPassword="true"/>
<Button Text="Login" TextColor="White"
BackgroundColor="#77D065"
Command="{Binding LoginCommand}"/>
</StackLayout>
</ContentPage>
<ContentPage Title="Settings" Icon="Settings.png">
<!-- Settings -->
</ContentPage>
</TabbedPage.Children>
www.hjr.com.mx
Xamarin.Forms es mejor para: Xamarin.iOS / Xamarin.Android es mejor para:
• Apps de entrada de datos
• Prototipos y pruebas de concepto
• Apps que requieren poca funcionalidad
específica de las plataformas
• Apps donde compartir el código es mas
importante que la interfaz de usuario
xamarin.com/forms xamarin.com/platform
• Apps que requieren interacción especializada
• Apps con diseño muy trabajado
• Apps que usen APIs especificas de las
plataformas
• Apps donde la interfaz de usuario es muy
importante
¿Qué “tipo” de Xamarin es el mejor para tu
app?
www.hjr.com.mx
Layouts
Páginas
Stack Absolute Relative Grid ContentView ScrollView Frame
Content MasterDetail Navigation Tabbed Carousel
www.hjr.com.mx
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
Controles
www.hjr.com.mx
Xamarin.Forms
www.hjr.com.mx
Extensibilidad
Incluye Vistas a la medidad
donde sea
No solo las paginas de
Xamarin.Forms se pueden
mezclar con pantallas a la
medida, se pueden incluir vistas
a la medida en Xamarin.iOS y
Xamarin.Android dentro de
páginas Xamarin.Forms .
Ejecuta APIs de plataforma vía
Servicios compartidos
Need platform-specific functionality
within a Xamarin.Forms page, such as
querying the accelerometer? We’ve
included services that quickly and
easily abstract platform-specific API
calls to keep you writing as much
shared code as possible.
Easy migration to the Xamarin
Platform
When your native platform
integration requirements outgrow
Xamarin.Forms, your shared code is
easily migrated to Xamarin.iOS and
Xamarin.Android using the full
Xamarin platform.
www.hjr.com.mx
Plugins para Xamarin
www.hjr.com.mx
Backend C# compartido
www.hjr.com.mx
Código
específico de la
plataforma
¿Qué pasaría si no
tuvieramos que escribir
este código?
¿Qúe pasaría si
puedieramos accede a el
desde la base
compartida?
IU+APIs IU + APIsIU + APIs
Batería
GPS
Luces
Notificaciones
Configuración
Texto a voz
Batería
GPS
Luces
Notificaciones
Configuración
Texto a voz
Batería
GPS
Luces
Notificaciones
Configuración
Texto a voz
www.hjr.com.mx
TextToSpeech
Speak(“¡Hola Mundo!”);
AVSpeechSynthesizer SpeechSynthesizer
www.hjr.com.mx
Plugins para Xamarin
Common API
github.com/xamarin/plugins
www.hjr.com.mx
Pruebas móviles
www.hjr.com.mx
www.hjr.com.mx
En móviles la calidad es difícil
5
20
20
35
6
Versiones
Dispositivos
Idiomas
Regiones
Tamaños de
pantalla
9
19K+
39
57
27
15
6
Versiones
Dispositivos
Idiomas
Regiones
Tamaños de pantalla
Manufactureros
Configuraciones de
pantalla
www.hjr.com.mx
www.hjr.com.mx
www.hjr.com.mx
Miles de APIs para IOS y Android
APIs web públicas
Integración de Backend
Librerías de terceros
Restricciones de memoria, CPU y red
Complejidad de la app
Tap Scroll Swipe Pinch Multi Finger
Text Entry Rotation GPS
www.hjr.com.mx
Introducción a Xamarin.UITest
www.hjr.com.mx
xamarin.com/testcloud
www.hjr.com.mx
Seguimiento y reporte de errores
www.hjr.com.mx
xamarin.com/insights
www.hjr.com.mx
Xamarin Insights – Monitoreo en tiempo
real
Soporta
✓ Xamarin.iOS
✓ Xamarin.Android
✓ Xamarin.Mac
✓ Windows Phone
✓ Windows Store
✓ Windows Desktop
www.hjr.com.mx
Xamarin Insights – Report
Reportes automáticos de
cualquier excepción no
capturada sea manejada o
nativa.
Reporta tus propias
excepciones capturadas,
con una simple API
multiplataforma.
www.hjr.com.mx
Xamarin Insights – Track
Rastrea cualquier evento
que ocurra en tu aplicación.
Rastrea el rendimiento de
que tanto tarda una tarea en
ejecutarse
www.hjr.com.mx
Xamarin Insights – Identify
Combina el rastreo de
eventos con la
identificación de usuarios
para resolver problemas
mas rápido.
www.hjr.com.mx
Integración simple con los servicios populares de
notificaciones de misión crítica
Xamarin Insights – Integrate
www.hjr.com.mx
Recursos
Empieza hoy
xamarin.com
Free 30 Day Trial - xamarin.com/university
Unrivaled Mobile
Development
Training
Live unlimited mobile development training from
mobile experts, in your time-zone, on your
schedule, and as often as you'd like.
www.hjr.com.mx
Contenido adicional
www.hjr.com.mx
Xamarin Evolve 2014
Sold
Out!!
1,200
Conference
Attendees
700
Trainees
70+
Sessions & Training
Watch Sessions & Highlights: http://xamarin.com/evolve/
www.hjr.com.mx
www.hjr.com.mx
https://xamarin.com/c-sharp-shirt
www.hjr.com.mx
http://bit.ly/XIEF1
www.hjr.com.mx
Contacto
• Blog: http://www.hjr.com.mx/
• Twitter: @HJR046
• LinkedIn: https://mx.linkedin.com/in/humbertoj
• Mail: humberto.jaimes@outlook.com
• Meetup: http://bit.ly/XAMARINDF
www.hjr.com.mx
¡Gracias! ¿Preguntas?

Más contenido relacionado

PPTX
Introduccion a xamarin resumen
PPTX
Xamarin.forms
PPTX
Introduccion a Xamarin
PPTX
Introduction to xamarin
PDF
Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)
PPTX
re-Connect Madrid: Novedades Xamarin
PPTX
Xamarin Dev Days Madrid - Xamarin.Forms
PPTX
dotNetMálaga - Taller Xamarin
Introduccion a xamarin resumen
Xamarin.forms
Introduccion a Xamarin
Introduction to xamarin
Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)
re-Connect Madrid: Novedades Xamarin
Xamarin Dev Days Madrid - Xamarin.Forms
dotNetMálaga - Taller Xamarin

La actualidad más candente (20)

PDF
Arquitectura xamarin - Nuestra primera app
PPTX
Xamarin Dev Days Madrid - Taller Xamarin
PPTX
Intro to xamarin forms: converters, animations, behaviors and triggers
PPTX
PUE DAY 2017: Introducción a Xamarin
PPTX
Xamarin for Everyone
PPTX
Introducción a Xamarin.Forms
PPTX
Codemotion 2017 - Taller Xamarin
PPTX
WinObjC: Windows Bridge para iOS
PPTX
Novedades de Xamarin 4
PPTX
Servicios Xamarin
PPTX
Introducción al desarrollo de aplicaciones Xamarin
PPTX
Introducción a Xamarin.Forms
PPTX
Desarrollo Xamarin, más allá del desarrollo
PPTX
Xamarin forms en el mundo real
PPTX
Microsoft Tech Summit - Taller Xamarin
PPTX
Introducción a Xamarin
PPTX
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
PPTX
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
PPTX
Introducción a Xamarin
PPTX
Conociendo el resto de ecosistema Xamarin
Arquitectura xamarin - Nuestra primera app
Xamarin Dev Days Madrid - Taller Xamarin
Intro to xamarin forms: converters, animations, behaviors and triggers
PUE DAY 2017: Introducción a Xamarin
Xamarin for Everyone
Introducción a Xamarin.Forms
Codemotion 2017 - Taller Xamarin
WinObjC: Windows Bridge para iOS
Novedades de Xamarin 4
Servicios Xamarin
Introducción al desarrollo de aplicaciones Xamarin
Introducción a Xamarin.Forms
Desarrollo Xamarin, más allá del desarrollo
Xamarin forms en el mundo real
Microsoft Tech Summit - Taller Xamarin
Introducción a Xamarin
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Introducción a Xamarin
Conociendo el resto de ecosistema Xamarin
Publicidad

Destacado (8)

PPTX
Xamarin insights
PPTX
XamarinDiplomado: M2L3T2(HJR) Adaptadores y controles de lista
PPTX
XamarinDiplomado: M3L3T3(HJR) Delegados
PPTX
Fundamentos de Microsoft .NET y C#
PPTX
Arquitectura en Aplicaciones Xamarin
PDF
¿Cuánto cuesta mi app? Presupuestos para creación de aplicaciones
PPTX
Testing de Apps Xamarin
PPTX
SVQDC - Desarrollo de Apps apra Hololens
Xamarin insights
XamarinDiplomado: M2L3T2(HJR) Adaptadores y controles de lista
XamarinDiplomado: M3L3T3(HJR) Delegados
Fundamentos de Microsoft .NET y C#
Arquitectura en Aplicaciones Xamarin
¿Cuánto cuesta mi app? Presupuestos para creación de aplicaciones
Testing de Apps Xamarin
SVQDC - Desarrollo de Apps apra Hololens
Publicidad

Similar a Introduccion a xamarin (20)

PPTX
Xamarin spring fling - Xamarin y Microsoft Cognitive Services
PPTX
introducción a xamarin
PPTX
DotNet2018: Xamarin.Forms Everywhere!
PPTX
Dev Days 1 - Introducción a Xamarin
PPTX
Xamarin Dev Days - Introducción a Xamarin
PPTX
OpenSouthCode 2018: Taller Xamarin
PDF
Diseñando aplicaciones multiplataforma con Xamarin
PPTX
Diseñando aplicaciones con xamarin
PPTX
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
PDF
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
PPTX
Xamarin 360
PPTX
Introducción a Xamarin.Forms
PPTX
Reconnect(); Sevilla - Introducción a Xamarin 4
PPTX
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
PPTX
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
PPTX
Taller Xamarin Monkey Conf 2018
PPTX
Xamarin ui test
PPTX
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
PPTX
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
Xamarin spring fling - Xamarin y Microsoft Cognitive Services
introducción a xamarin
DotNet2018: Xamarin.Forms Everywhere!
Dev Days 1 - Introducción a Xamarin
Xamarin Dev Days - Introducción a Xamarin
OpenSouthCode 2018: Taller Xamarin
Diseñando aplicaciones multiplataforma con Xamarin
Diseñando aplicaciones con xamarin
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
Xamarin 360
Introducción a Xamarin.Forms
Reconnect(); Sevilla - Introducción a Xamarin 4
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Taller Xamarin Monkey Conf 2018
Xamarin ui test
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx

Más de Humberto Jaimes (14)

PPTX
Microservicios con .NET
PPTX
Introducción a Markdown
PPTX
Cloud computing azure
PPTX
Azure Notification Hub
PPTX
Consumo de Servicios REST en xamarin
PPTX
Azure mobile
PPTX
Introducción a Xamarin
PPTX
XamarinDiplomado: M3L3T2(HJR) Eventos
PPTX
XamarinDiplomado: M3L3T1(HJR) Introducción
PPTX
XamarinDiplomado: M2L3T4(HJR) Controles de formulario
PPTX
XamarinDiplomado: M2L3T1(hjr) Introducción
PPTX
XamarinDiplomado: M1L4T3(HJR) Proyecto Compartido
PPTX
XamarinDiplomado: M1L4T2(HJR) Archivos Enlazados
PPTX
XamarinDiplomado M1L4T1(HJR) introducción
Microservicios con .NET
Introducción a Markdown
Cloud computing azure
Azure Notification Hub
Consumo de Servicios REST en xamarin
Azure mobile
Introducción a Xamarin
XamarinDiplomado: M3L3T2(HJR) Eventos
XamarinDiplomado: M3L3T1(HJR) Introducción
XamarinDiplomado: M2L3T4(HJR) Controles de formulario
XamarinDiplomado: M2L3T1(hjr) Introducción
XamarinDiplomado: M1L4T3(HJR) Proyecto Compartido
XamarinDiplomado: M1L4T2(HJR) Archivos Enlazados
XamarinDiplomado M1L4T1(HJR) introducción

Último (8)

DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PDF
simulacion de teoria de control para maquinas
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
sistemas de informacion.................
PDF
modelos de control para sistemas digitales
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PDF
DIMENSIONADO DE UNA INSTALACION FOTOVOLTAICA.pdf
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
AutoCAD Herramientas para el futuro, Juan Fandiño
simulacion de teoria de control para maquinas
Derechos_de_Autor_y_Creative_Commons.pptx
sistemas de informacion.................
modelos de control para sistemas digitales
Su punto de partida en la IA: Microsoft 365 Copilot Chat
DIMENSIONADO DE UNA INSTALACION FOTOVOLTAICA.pdf

Introduccion a xamarin

Notas del editor

  • #4: Xamarin is your complete mobile solution. Xamarin Platform is usually what you hear about which is building native iOS, Android, Mac, and Windows Apps all in C# However Xamarin offers a wide range of products for developers to go mobile including Test Cloud, Insights, and a way to learn all of mobile with University.
  • #5: What makes up a “Native” mobile application? I am sure you have heard the “native” thrown around, but what does that really mean?
  • #6: A native app needs a lot of things, but three important ones stick out: Native User Interface: Apps need to look and act correct per platform. Full SDK Access: As a developer we need to add the latest and greatest features Native Performance: Needs to be fast and fluid
  • #7: So we know what we want how do we get there? Let’s talk about the state of mobile development.
  • #8: Varios equipos Varios origenes de código Caro y lento Positivo = se entregan buenas apps a los usuarios de las plataformas Negativo= Desarrollo obstaculizado por múltiples bases de código y la fragmentación
  • #9: Usuarios infelices Desarrolladores infelices Aumento en las apps abandonadas Limitado en lo que se puede implementar
  • #10: UI native por plataformas, aprovechando C# C# + XAML C# + XML C# + XIB Una base de lógica compartida, iOS, Android, Mac, Windows Phone, Windows Store, Windows
  • #11: 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
  • #12: With Xamarin it just isn’t your front end in C# it is your full backend server as well. With Azure or even on Linux running Mono or the CoreCLR your app is fully C# end to end!
  • #13: Let’s talk a bit about C# and why it is awesome.
  • #15: Use your favorite libraries like Json.NET!
  • #16: Here is an example of creating a class with a method to get names 1 Line with LINQ to execute this command Take advantage of C# features and set properties easily
  • #17: The async and await keywords in C# 5.0 now available to Xamarin developers make asynchronous programming incredibly pleasant. You end up with code that is much more linear and much easier to understand. The compiler does a lot of magic for you which simplifies your code and your life.
  • #18: With Xamarin we even extend native methods with C# Features Here there is no need for a callback block, simply await on the animation to finish before continuing on
  • #19: Here we can see how easy it is just to do a += for an event and not have to implement a bunch of listeners every time. Easy to read, string.Format, using args, etc. In fact we can make this call Async/Await by just adding async to the delegate!
  • #23: Major announcement at the end of 2013: Truly Portable Class Libraries Support for VS 2013 Special offers for MSDN Subscribers 20 City Roadshow! Another partnership at the end of 2014: Support for VS 2015 + Community Edition Special MSDN Offers Starter Edition Support for Visual Studio
  • #24: IBM MobileFirst SDK for Xamarin: A pre-built software library that Xamarin and IBM developers can embed in their mobile apps to connect, secure and manage the apps using IBM Worklight, a part of the IBM MobileFirst portfolio. IBM MobileFirst Add-Ons for Xamarin Studio and Visual Studio: Extensions that enable developers to configure and access the IBM Worklight server from a single environment.
  • #27: If you have ever developed for a Windows Platform before these .NET namespaces might look familiar. However, if we go to a new platform such as Windows Phone or Store we have a new SDK to use and a new set of namespaces.
  • #28: You can think of iOS and Android development the same with Xamarin. You can see we have all of our .NET namespaces and libraries, but Xamarin give us 100% api coverage of each iOS API in it’s SDK that we access view C#.
  • #29: The same is true for Android as well.
  • #31: There is no compromise on performance. Xamarin apps look and feel native because they are native.
  • #32: Apple has a developer preview where Xamarin has alphas ready. Google does not offer this. Android versions are usually 4 to 8 weeks out for a stable release, but alphas and betas are usually earlier. Xamarin realizes how important having iOS ready because within 24 hours a large portion of iOS users upgrade Android on the other hand is much different. After 4 months on the market Android 4.4 only had 1% adoption
  • #35: Use all of your favorite libraries from NuGet or share and distribute your own!
  • #37: 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
  • #39: Single Solution for iOS, Android, and Windows Leverage Entire Microsoft Ecosystem: ReSharper Team Foundation Server Azure ASP.NET Favorite Code Coverage and Profiling Tools Starter Compatible Visual Studio 2012, 2013, and 2015 including Community Edition
  • #40: Xamarin Studio is available for Android development on the PC. Xamarin Studio on Mac offers: Android, iOS and Mac development World Class IDE with great features: Code Analysis Upload to Test Flight Git & Subversion Integration Code Completion Code Navigation Easy transition from Visual Studio The same Solution & Projects open in BOTH Xamarin Studio and Visual Studio!
  • #44: If you are looking to get started will a full baked application simply head over to Xamarin’s pre-built page featuring these apps and many more!
  • #47: Xamarin Forms is a new set of APIs allowing you to quickly and easily write shared User Interface code that is still rendered natively on each platform, while still providing direct access to the underlying SDKs if you need it.
  • #48: We see here the Xamarin approach we talked about earlier 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
  • #49: Xamarin.Forms is much more that just a framework and includes everything you need to get up and running to build out full native applications. If you are used to MVVM type of development you will feel right at home.
  • #50: Here is a quick example of a login page: Notice the data binding on the Entries Text fields. Additionally, there is a LoginCommand. Each has a native user interface
  • #51: Pick what is right for you! Xamarin has this nifty guide to help you decide to go traditional or with Xamarin.Forms
  • #52: First you have a set of pages for each screen of your application There are things like Content, and MasterDetail which gives you a nice flyout With a tabbed view you get the correct look on each platform iOS on bottom, Android on top, and on WP you have a Pivot control Inside of a page are layouts A lot of options from something simple like a stack panel to complex and powerful grids
  • #53: You have more than 40 controls, layouts, and pages to mix and match from. These are all of the controls you have out of the box, you can of course create your own. What is unique is you get the native control and have access to it. Consider an Entry Field On iOS it is mapped to UITextField Android it is EditText Windows Phone it is a TextBox
  • #54: Xamarin.Forms also has a great ecosystem of controls from vendors you might know!
  • #55: With Xamarin.Forms you can easily extend and embed custom views, mix and match screens, called native apis, or even easily migrate to a traditional app and share your backend logic.
  • #56: A unique aspect of Xamarin.Forms is an abstraction over the user interface, but what about the platform specific functionality that makes these devices so special? That is where plugins for Xamarin come in.
  • #57: What is this stuff that we talk about up here?
  • #58: This is the platform specific code no matter how you are developing traditional Xamarin or with Xamarin.Forms. However, many platform APIs are the same bit of functionality, but with different APIs. What if we had 1 API?
  • #59: For instance text to speech, what if we could just say “Speak” and it would speak text with the underlying API.
  • #60: This is what Plugins for Xamarin are for! 1 API for all common APIs: Camera GPS Settings Notifications Battery And so much more!
  • #62: Well there are several challenges that we must overcome as mobile developers including….
  • #63: 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
  • #64: 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
  • #65: 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?
  • #66: The fragmentation isn’t just in the devices, but as we start to build on our applications you soon found out they are ever increasingly complex.
  • #67: 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.
  • #68: 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. Freely available for testing on a Simulator*
  • #69: Take test scripts and test again thousands of physical devices! All Xamarin subscribers get free device time! Check store.xamarin.com for details.
  • #71: Xamarin Insights is a new product from Xamarin, currently in preview for all of your apps to handle crash reporting and analytics.
  • #72: Xamarin.Insights, currently in preview, enables us to support all of our apps from a full cross platform API.
  • #76: Xamarin.Insights, currently in preview, enables us to support all of our apps from a full cross platform API.
  • #78: Get started today with free 30 day trial of Xamarin at xamarin.com