SlideShare una empresa de Scribd logo
dotNetMálaga - Taller Xamarin
Taller
XAMARIN
¿Qué vamos a ver?
Introducción al taller
Repaso a Xamarin
Creación proyecto
• Estructura proyecto
• MVVM
• Primeras pruebas enlace a datos
La interfaz compartida
• Páginas, Layouts y controles en Xamarin.Forms
• Recursos y estilos
• Creando la interfaz básica de nuestra App
Creación de servicios
• Conceptos básicos relacionados con servicios
• Creación de servicios (navegación y REST)
• Usando plugins
Navegación
• Conceptos básicos de navegación
• Completar la App
Introducción al taller
• Crearemos una aplicación meteorológica con información real. Veremos
conceptos como:
• Crear estructura Proyecto.
• Aplicar MVVM.
• Diseño de vistas.
• Navegación.
• Uso de plugins.
• La aplicación se realizará paso a paso, en diferentes bloques a lo largo de 2,5h.
• A lo largo del taller, contaremos con diferentes responsables que se encargarán
tanto de hacer la aplicación paso a paso como de resolver dudas.
• También tendremos alguna sorpresa y detalle ;)
El taller
dotNetMálaga - Taller Xamarin
No dudéis en preguntar!
Introducción a Xamarin
Xamarin – Solución completa para el Desarrollo móvil
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
Xamarin ahora gratis e
incluido en Visual Studio
#TechSum
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
Open Source
• Xamarin.iOS
• Xamarin.Mac
• Xamarin.Android
• Xamarin.Forms
• Bindings & Plugins
• Cómo arrancar
• Guías de contribución
C# mola
Y lo
sabes!
C# mola
Async/Await
Código más simple, mantenimiento
Android ItemClick, ¿ves diferencias?
C# con XamarinJava
C# & Async con Xamarin
DEMO: Crear proyecto
Conociendo las plantillas y contenido básico
¿CómofuncionaesXamarin?
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.
Laclave,compartir
código
Xamarin.iOS Xamarin.Android
Portable Class Libraries
Estadísticas 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
%
Introducción a Xamarin.Forms
Conoce Xamarin.Forms
Xamarin + Xamarin.Forms
Enfoque tradicional de Xamarin Con Xamarin.Forms:
Más código compartido, todo
nativo
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Backend
Shared UI Code
Shared C# Backend
¿Qué se incluye?
✓ 40+ páginas, layouts, y controles
(code behind o XAML)
✓ Two-way data binding
✓ Mavegació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
Controles
El ecosistema Xamarin.Forms
Windows Xamarin.Forms
StackPanel StackLayout
TextBox Entry
ListBox ListView
CheckBox Switch
ProgressBar ActivityIndicator
Grid Grid
Label Label
Button Button
Image Image
Date/TimePicker Date/TimePicker
Comparativa de
controles
Windows Xamarin.Forms
DataContext BindingContext
{Binding Property} {Binding Property}
ItemsSource ItemsSource
ItemTemplate ItemTemplate
DataTemplate DataTemplate
dotNetMálaga - Taller Xamarin
• <?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>
UI Nativa desde código compartido
DEMO: Vistas básicas
XAML Love!
El patron MVVM
IDE
Lenguaje
Vistas
iOS Android Windows
Phone
Xcode Android
Studio
Visual Studio
ObjectiveC o
Swift
Java C#
Storyboard AXML XAML
MVC MVC MVVMPatrón diseño
IDE
Lenguaje
Vistas
iOS Android Windows
Phone
Visual Studio Visual Studio Visual Studio
C# C# C#
Storyboard AXML XAML
MVVM MVVM MVVMPatrón diseño
View
ViewModel
Model
get/set
Propiedades
Comandos
Notifica cambios
C#
Models
View
View
ViewModel
ViewModel
Model
Model
Cross Platform
• Mayor facilidad para mantener, extender y
compartir el código.
• Más facilidad a la hora de colaborar.
• Testing.
• Más fácil de diseñar.
DEMO: MVVM
Enlace a datos y otros conceptos básicos
Plugins
Shared C# Backend
Código específico
de plataforma
¿Qué ocurre si
necesitamos accede a
características específicas
de la plataforma?
UI+APIs UI + APIsUI + APIs
Batería
GPS
Lámpara
Notificationes
Settings
Text To Speech
Batería
GPS
Lámpara
Notificationes
Settings
Text To Speech
Batería
GPS
Lámpara
Notificationes
Settings
Text To Speech
TextToSpeech
Speak(“Hello World”);
AVSpeechSynthesizer SpeechSynthesizer
Plugins
Xamarin
Common API
DEMO: Plugins
Posición GPS
Gracias a todos!
Hasta la próxima!
dotNetMálaga - Taller Xamarin

Más contenido relacionado

PPTX
re-Connect Madrid: Novedades Xamarin
PPTX
Microsoft Tech Summit - Taller Xamarin
PPTX
Interfaces nativas Cross-Platform con Xamarin.Forms
PPTX
Xamarin Dev Days Madrid - Xamarin.Forms
PPTX
Extendiendo Xamarin.Forms
PPTX
Xamarin REvolve 2016
PPTX
Novedades de Xamarin 4
PPTX
Xamarin Dev Days Madrid - Taller Xamarin
re-Connect Madrid: Novedades Xamarin
Microsoft Tech Summit - Taller Xamarin
Interfaces nativas Cross-Platform con Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.Forms
Extendiendo Xamarin.Forms
Xamarin REvolve 2016
Novedades de Xamarin 4
Xamarin Dev Days Madrid - Taller Xamarin

La actualidad más candente (20)

PPTX
Introduccion a Xamarin
PPTX
Integración Continua con Apps Xamarin
PPTX
Servicios Xamarin
PPTX
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
PPTX
Reconnect(); Sevilla - Keynote
PPTX
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
PPTX
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
PPTX
PUE DAY 2017: Introducción a Xamarin
PPTX
Novedades Xamarin.Forms //BUILD 2017
PPTX
Desktop App Converter
PPTX
Introducción a Xamarin.Forms
PPTX
Trucos y consejos rendimiento Xamarin.Forms
PPTX
Introducción a Xamarin utilizando MVVMCross
PPTX
Adaptando Apps Xamarin.Forms a tabletas
PPTX
Visual Studio 2017 Launch Event Sevilla
PPTX
Codemotion 2017 - Taller Xamarin
PPTX
Xamarin Dev Days - Introducción a Xamarin
PPTX
Introducción al desarrollo de aplicaciones Xamarin
PPTX
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
PPTX
Introducción a Xamarin
Introduccion a Xamarin
Integración Continua con Apps Xamarin
Servicios Xamarin
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Reconnect(); Sevilla - Keynote
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
PUE DAY 2017: Introducción a Xamarin
Novedades Xamarin.Forms //BUILD 2017
Desktop App Converter
Introducción a Xamarin.Forms
Trucos y consejos rendimiento Xamarin.Forms
Introducción a Xamarin utilizando MVVMCross
Adaptando Apps Xamarin.Forms a tabletas
Visual Studio 2017 Launch Event Sevilla
Codemotion 2017 - Taller Xamarin
Xamarin Dev Days - Introducción a Xamarin
Introducción al desarrollo de aplicaciones Xamarin
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
Introducción a Xamarin
Publicidad

Similar a dotNetMálaga - Taller Xamarin (20)

PPTX
Introduction to xamarin
PPTX
Taller Xamarin Monkey Conf 2018
PPTX
OpenSouthCode 2018: Taller Xamarin
PPTX
Una vuelta por xamarin - .NET Conf CL 2018
PPTX
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
PPTX
Introducción a xamarin
PPTX
Semana Lambda - Fundamentos de Xamarin - Desarrollo de apps moviles multiplat...
PPTX
Introducción a Xamarin
PPTX
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
PPTX
Introducción a Xamarin
PPTX
primera aplicacion Xamarin.pptx
PPTX
Xamarin 360
PPTX
Introduccion a xamarin
PDF
Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)
PPTX
Xamarin fest
PPTX
Semanahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
PPTX
Introducción a Xamarin
PPTX
Experiencia con Xamarin en el mundo real de los proyectos.
PPTX
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
PPTX
Como desarrollar aplicaciones moviles iii XAMARIN
Introduction to xamarin
Taller Xamarin Monkey Conf 2018
OpenSouthCode 2018: Taller Xamarin
Una vuelta por xamarin - .NET Conf CL 2018
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Introducción a xamarin
Semana Lambda - Fundamentos de Xamarin - Desarrollo de apps moviles multiplat...
Introducción a Xamarin
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Introducción a Xamarin
primera aplicacion Xamarin.pptx
Xamarin 360
Introduccion a xamarin
Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)
Xamarin fest
Semanahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Introducción a Xamarin
Experiencia con Xamarin en el mundo real de los proyectos.
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Como desarrollar aplicaciones moviles iii XAMARIN
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
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
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
DotNet2018: Xamarin.Forms Everywhere!
PPTX
Novedades Xamarin 3.0 Preview
PPTX
Desarrollo Xamarin, más allá del desarrollo
PPTX
Introducción a Xamarin.Forms
PPTX
Aumento de productividad, herramientas Xamarin
PPTX
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
PPTX
Novedades Xamarin Connect(); 2017
Cape Town MS Developer User Group: Xamarin Community Toolkit
DotNetDom: El futuro de Xamarin
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: .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
DotNet2018: Xamarin.Forms Everywhere!
Novedades Xamarin 3.0 Preview
Desarrollo Xamarin, más allá del desarrollo
Introducción a Xamarin.Forms
Aumento de productividad, herramientas Xamarin
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Novedades Xamarin Connect(); 2017

Último (20)

PDF
Maste clas de estructura metálica y arquitectura
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
diagrama de pareto.pdf valerie giraldo diaz
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
Administración se srevidores de apliaciones
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
La electricidad y la electrónica .pdf n
PDF
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
Temas y subtemas de las fichas 1 y 2.pdf
PDF
Conceptos básicos de programación tecnología.pdf
Maste clas de estructura metálica y arquitectura
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
diagrama de pareto.pdf valerie giraldo diaz
REDES INFORMATICAS REDES INFORMATICAS.pptx
Calidad desde el Docente y la mejora continua .pdf
Administración se srevidores de apliaciones
Estrategia de apoyo tecnología grado 9-3
Influencia-del-uso-de-redes-sociales.pdf
La electricidad y la electrónica .pdf n
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
introduccion a las_web en el 2025_mejoras.ppt
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Presentación PASANTIAS AuditorioOO..pptx
Plantilla para Diseño de Narrativas Transmedia.pdf
Zarate Quispe Alex aldayir aplicaciones de internet .docx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Temas y subtemas de las fichas 1 y 2.pdf
Conceptos básicos de programación tecnología.pdf

dotNetMálaga - Taller Xamarin

Notas del editor

  • #16: Including the Free Community Edition
  • #28: The same is true for Android as well.
  • #29: Coming up next is bubbles
  • #37: Inside of a page are layouts A lot of options from something simple like a stack panel to complex and powerful grids
  • #38: 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 Phoen it is a TextBox