SlideShare una empresa de Scribd logo
WORKSHOP
XAMARIN“Desarrollo de apps móviles multi-plataforma con Xamarin”.
Javier Suárez Ruiz, Microsoft & Xamarin MVP. Docente en campusMVP.es
Developer Plain Concepts
Microsoft MVP Windows Platform Development & Visual Studio
Tools
Xamarin MVP
Docente CampusMVP
• Blog: http://geeks.ms/blogs/jsuarez
• Email: javiersuarezruiz@hotmail.com / jsuarez@plainconcepts.com
• Twitter: @jsuarezruiz
Formamos programadores para el mundo real
con tutores expertos que usan cada día las tecnologías que enseñan
Consigue descuentos y eBooks gratuitos entrando ahora en:
promos.campusMVP.com/pue
 Más de 10 años enseñando online buenas prácticas de desarrollo
 Más de 10.000 alumnos formados y encantados
 Más de 800 empresas satisfechas
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
iOS WindowsAndroid
Objective-C
Xcode
C#
Visual Studio
Java
Android Studio
No se comparte código • Diferentes lenguajes & herramientas de desarrollo •
Múltiples equipos
App Generator
Lua
Javascript
Actionscript
HTML+CSS
Acceso limitado a APIs nativas • Menor rendimiento • Interfaz de usuario más
pobre
Gran cantidad de código compartido C# • 100% acceso nativo a APIs • Alto
rendimiento
iOS C# UI Windows C# UIAndroid C# UI
Código compartido C#
Enfoque tradicional Con Xamarin.Forms:
Mayor cantidad de código
compartido, app nativa
iOS C# UI Windows C# UIAndroid C# UI
Código compartido C#
UI compartida
Código compartido C#
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
Xamarin gratis e
incluido en Visual
Studio (Windows & Mac)
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
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
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
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
PUE DAY 2017: Introducción a Xamarin
Xamarin.iOS hace uso de la
compilación de 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).
✓Siempre al día
•
•
•
•
•
•
•
•
•
•
•
•
•
•
PUE DAY 2017: Introducción a Xamarin
Xamarin.iOS Xamarin.Android
Mac
iOS
Android
Windows Phone
iCircuit Touch Draw
86%
14%
72%
28%
70%
30%
61%39%
88%
12%
76%
24%
90%
10%
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
• Multi-Touch
• Rápido
• Rotar, screenshots,
cambios de
localización
• No hace falta dejar VS
PUE DAY 2017: Introducción a Xamarin
• Disponible en:
• Xamarin Studio
• Visual Studio
• Crea la UI con drag & drop
• Se puede probar con
diferentes tamaños de
pantallas, resoluciones y
versiones de Android
• Layouts guardados en
archivos Android XML
• Disponible en Xamarin Studio
y Visual Studio
• Similar a otros diseñadores de
Visual Studio
• Soporta todos los elementos
de UIKit
• Editar components de
terceros
• Live preview
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
El 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
✓ 40+ páginas, layouts, y controles
(C# o XAML)
✓ Two-way data binding
✓ Navegación
✓ API de animaciones
✓ Dependency Service
✓ Messaging Center
Shared C# Backend
Shared UI Code
Layouts
Páginas
Stack Absolute Relative Grid ContentView ScrollView Frame
Content MasterDetail Navigation Tabbed Carousel
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
5
20
20
35
6
OS
Dispositivos
Lenguajes
Localizaciones
Tamaños de
pantalla
9
19K+
39
57
27
15
OS
Dispositivos
Lenguajes
Localizaciones
Tamaños de pantalla
Fabricantes
PUE DAY 2017: Introducción a Xamarin
Cientos de APIs iOS y Android
Public web APIs
Integración con Backend
Librerías Third party
Consumo de memoria, CPU y red
PUE DAY 2017: Introducción a Xamarin
• Grabar UITests desde
Visual Studio
• Enviar directamente a
Test Cloud
• Se puede usar
directamente la
pantalla táctil de
dispositivos Android
xamarin.com/testcloud
PUE DAY 2017: Introducción a Xamarin
• Repositorio
• Tareas
• Build
• Test
• Release
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
Preguntas?
Javier Suárez Ruiz
@jsuarezruiz
javiersuarezruiz@Hotmail.com javiersuarezruiz.wordpress.com @jsuarezruiz
PUE DAY 2017: Introducción a Xamarin

Más contenido relacionado

PPTX
Codemotion 2017 - Taller Xamarin
PPTX
Visual Studio 2017 Launch Event Sevilla
PPTX
Xamarin Dev Days - Introducción a Xamarin
PPTX
Introducción al desarrollo de aplicaciones Xamarin
PPTX
Novedades Xamarin Connect(); 2017
PPTX
Testing de Apps Xamarin
PPTX
Xamarin Dev Days Madrid - Taller Xamarin
PPTX
Conociendo el resto de ecosistema Xamarin
Codemotion 2017 - Taller Xamarin
Visual Studio 2017 Launch Event Sevilla
Xamarin Dev Days - Introducción a Xamarin
Introducción al desarrollo de aplicaciones Xamarin
Novedades Xamarin Connect(); 2017
Testing de Apps Xamarin
Xamarin Dev Days Madrid - Taller Xamarin
Conociendo el resto de ecosistema Xamarin

La actualidad más candente (20)

PPTX
Xamarin Live Player
PPTX
Servicios Xamarin
PDF
Arquitectura xamarin - Nuestra primera app
PPTX
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
PPTX
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
PPTX
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
PPTX
Introducción a Xamarin.Forms
PPTX
Integración Continua con Apps Xamarin
PPTX
Introduccion a Xamarin
PPTX
Extendiendo Xamarin.Forms con Custom Renders
PPTX
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
PPTX
Xamarin for Everyone
PPTX
Introduction to xamarin
PPTX
Arquitectura en Aplicaciones Xamarin
PPTX
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
PPTX
Xamarin University Sprint Fling 2016
PDF
Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)
PPTX
re-Connect Madrid: Novedades Xamarin
PPTX
dotNetMálaga - Taller Xamarin
PPTX
Xamarin forms en el mundo real
Xamarin Live Player
Servicios Xamarin
Arquitectura xamarin - Nuestra primera app
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
Introducción a Xamarin.Forms
Integración Continua con Apps Xamarin
Introduccion a Xamarin
Extendiendo Xamarin.Forms con Custom Renders
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Xamarin for Everyone
Introduction to xamarin
Arquitectura en Aplicaciones Xamarin
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Xamarin University Sprint Fling 2016
Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)
re-Connect Madrid: Novedades Xamarin
dotNetMálaga - Taller Xamarin
Xamarin forms en el mundo real
Publicidad

Similar a PUE DAY 2017: Introducción a Xamarin (20)

PPTX
Introducción a Xamarin
PPTX
Introduccion a xamarin
PPTX
introducción a xamarin
PPTX
Dev Days 1 - Introducción a Xamarin
PPTX
OpenSouthCode 2018: Taller Xamarin
PPTX
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
PPTX
Xamarin 360
PPTX
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
PPTX
Reconnect(); Sevilla - Introducción a Xamarin 4
PPTX
Xamarin Fest Santo Domingo ( introduccion)
PPTX
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
PDF
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
PPTX
Desarrollo Xamarin, más allá del desarrollo
PPTX
DotNet2018: Xamarin.Forms Everywhere!
PPTX
Llevando tu startup a las tres principales plataformas móviles
PPTX
Introducción a xamarin
PPTX
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
PPTX
Introduccion a xamarin resumen
PPTX
Taller Xamarin Monkey Conf 2018
Introducción a Xamarin
Introduccion a xamarin
introducción a xamarin
Dev Days 1 - Introducción a Xamarin
OpenSouthCode 2018: Taller Xamarin
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Xamarin 360
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
Reconnect(); Sevilla - Introducción a Xamarin 4
Xamarin Fest Santo Domingo ( introduccion)
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
Desarrollo Xamarin, más allá del desarrollo
DotNet2018: Xamarin.Forms Everywhere!
Llevando tu startup a las tres principales plataformas móviles
Introducción a xamarin
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Introduccion a xamarin resumen
Taller Xamarin Monkey Conf 2018
Publicidad

Más de Javier Suárez Ruiz (20)

PPTX
Cape Town MS Developer User Group: Xamarin Community Toolkit
PPTX
DotNetDom: El futuro de Xamarin
PPTX
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
PPTX
Monkey Conf 2020: .NET MAUI Handlers
PPTX
Creando controles para Xamarin.Forms
PPTX
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
PPTX
Crear interfaces de usuario atractivas con Xamarin.Forms
PPTX
#XamarinUIJuly Summary
PPTX
DotNet 2019: Optimizando Apps con Xamarin.Forms
PPTX
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
PPTX
.Net Conf Sevilla 2018
PPTX
Analizando interfaces de usuario avanzadas con Xamarin.Forms
PPTX
Novedades Xamarin 3.0 Preview
PPTX
Introducción a Xamarin.Forms
PPTX
Aumento de productividad, herramientas Xamarin
PPTX
SVQXDG - Introducción a Embeddinator-4000
PPTX
dotNetMálaga 2017 - Taller Hololens con Wave Engine
PPTX
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
PPTX
Embeddinator-4000
PPTX
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Cape Town MS Developer User Group: Xamarin Community Toolkit
DotNetDom: El futuro de Xamarin
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: .NET MAUI Handlers
Creando controles para Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.Forms
#XamarinUIJuly Summary
DotNet 2019: Optimizando Apps con Xamarin.Forms
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
.Net Conf Sevilla 2018
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Novedades Xamarin 3.0 Preview
Introducción a Xamarin.Forms
Aumento de productividad, herramientas Xamarin
SVQXDG - Introducción a Embeddinator-4000
dotNetMálaga 2017 - Taller Hololens con Wave Engine
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
Embeddinator-4000
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure

Último (8)

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

PUE DAY 2017: Introducción a Xamarin

Notas del editor

  • #5: 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, Hockey App, and a way to learn all of mobile with University.
  • #6: 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, Hockey App, and a way to learn all of mobile with University.
  • #7: What makes up a “Native” mobile application? I am sure you have heard the “native” thrown around, but what does that really mean?
  • #8: 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
  • #9: So we know what we want how do we get there? Let’s talk about the state of mobile development.
  • #10: Multiple Teams Multiple Code Bases Expensive & Slow Positive = Great apps delivered to user’s platform Negative = Development hampered by multiple code bases & fragmentation
  • #11: Unhappy Users Unhappy Developers Increase in Abandoned Apps Limited to what is implemented
  • #12: 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
  • #13: 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
  • #14: Let’s talk a bit about C# and why it is awesome.
  • #15: Xamarin IS 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
  • #16: Including the Free Community Edition
  • #18: Let’s talk a bit about C# and why it is awesome.
  • #20: 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
  • #22: 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.
  • #23: 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#.
  • #24: The same is true for Android as well.
  • #26: There is no compromise on performance. Xamarin apps look and feel native because they are native.
  • #27: 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
  • #30: 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
  • #32: 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
  • #34: 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!
  • #38: 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.
  • #39: 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
  • #40: 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.
  • #41: 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
  • #42: 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
  • #45: 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, Hockey App, and a way to learn all of mobile with University.
  • #46: Well there are several challenges that we must overcome as mobile developers including….
  • #47: 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
  • #48: 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 2015 data, with an astonishing 24,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
  • #49: 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.
  • #50: 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*
  • #52: Take test scripts and test again thousands of physical devices! All Xamarin subscribers get free device time! Check store.xamarin.com for details.
  • #53: 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, Hockey App, and a way to learn all of mobile with University.
  • #57: 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, Hockey App, and a way to learn all of mobile with University.
  • #58: Anything Else! App Insights Google Analytics Flurry
  • #60: 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, Hockey App, and a way to learn all of mobile with University.