SlideShare una empresa de Scribd logo
Javier Suárez
@jsuarezruiz
Adaptando Apps
Xamarin.Forms a
Tabletas
• Blog: http://geeks.ms/blogs/jsuarez
• Email: javiersuarezruiz@hotmail.com
• Twitter: @jsuarezruiz
Xamarin: Aplicaciones nativas multiplataforma
Xamarin
Código compartido C# • 100% acceso a APIs nativas • Rendimiento
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile
• La UI es específica de
cada plataforma.
• La lógica de la Aplicación
es en C# y compartida
mediante el uso de PCLs
o proyectos Shared.
• 70% aprox. De código
compartido.
El enfoque tradicional de Xamarin
En enfoque con Xamarin Classic
Xamarin + Xamarin.Forms
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
• Permite crear facilmente y con
rapidez interfaces de usuario
nativas compartidas
• Los elementos de
Xamarin.Forms son mapeados
a elementos nativos y
behaviors propios de cada
plataforma
• Podemos mezclar
Xamarin.Forms con APIs
nativas
Xamarin.Forms
DEMO
Nuestra App
Xamarin.Forms
iOS
En el caso de iOS, es decir, iPads, la plantilla automática de Xamarin.Forms incluye
soporte. Podemos revisarlo verificando si la propiedad Info.plist > Devices tiene
asignado el valor Universal.
Añadiendo soporte a Tabletas
Android
El ecosistema Android es bastante variado y complejo contando con una enorme
diversidad de tamaños de pantalla. Desde Apps Xamarin.Forms tenemos soporte a toda
la variedad.
Windows
Xamarin.Foms cuenta con soporte a aplicaciones Universal Windows Platform también
conocido por las siglas en inglés UWP. Las aplicaciones Universales en Windows 10
permite acceder a una enorme variedad de familias de dispositivos, desde teléfonos a
tabletas y PCs.
Añadiendo soporte a Tabletas
Podemos utilizar la clase Device para acceder a la enumeración Device.Idiom para
verificar si estamos en teléfono o tableta.
Detectando si estamos en teléfono o tableta
if (Device.Idiom == TargetIdiom.Tablet)
{
}
else
{
}
• Phone: Indica que estamos en un teléfono. iPhone, iPod touch, Windows Phone y
dispositivos Android por debajo de los 600 dips.
• Tablet: Estamos ante iPad, dispositivos Windows 8.1 o dispositivos Android por encima
de los 600 dips.
• Desktop: Valor que obtenemos en aplicaciones UWP.
• Unsupported: No soportado.
La clase Device es muy importante en Xamarin.Forms ya que nos permite acceder a una
serie de propiedades y métodos con el objetivo de personalizar la aplicación según
dispositivo y plataforma.
Podemos detectar la plataforma gracias a la enumeración Device.OS o personalizar
elementos de la interfaz gracias al método Device.OnPlatform entre otras opciones.
Detectando si estamos en teléfono o tableta
<Label
Text="{Binding Driver.CompleteName}"
TextColor="White"
XAlign="Center">
<Label.FontSize>
<OnIdiom x:TypeArguments="x:Double"
Phone="24"
Tablet="28"/>
</Label.FontSize>
</Label>
Adaptando recursos (iOS)
Patrón Definición
@2x Pensado para pantallas retina. Image.png Si tenemos una
imagen de 320x480 pixeles, Image@2x.png será una versión
de 640x960 pixels de la imagen.
@3x Añadido para soporte al iPhone 6 Plus. Si tenemos una
imagen de 414x736 pixeles, Image@2x.png será una versión
de 1242x2208 pixels de la imagen.
~iphone Usada por Xamarin.iOS en iPhone y iPod Touch.
~ipad Usada por Xamarin.iOS en iPad.
Adaptando recursos (Android)
En Android tenemos disponibles varias unidades de medida que nos
ayudarán a que nuestra aplicación se vea correctamente sea cual sea el
tamaño de la pantalla.
dp (Density-independent Pixels)
Es una unidad abstracta que se basa en la densidad física de la pantalla. Esta
unidad es equivalente a un píxel en una pantalla con una densidad de 160
dpi.
Formula: dp = px / (dpi / 160)
Ejemplo, 100 px on a Nexus 5: dp = 100 / (445 / 160) = 36
Adaptando recursos (Android)
Tipo Tamaño
Teléfono < 600dp
Tablet 7” >= 600dp / 10” >
720dp
<manifest ... >
<supports-screens
android:requiresSmallestWidthDp="600" />
...
</manifest>
Adaptando recursos (Android)
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
DEMO
Adaptando la App
Xamarin.Forms a Tabletas
El “efecto” de nuestros cambios
Teléfonos Tablet
• La clase Device nos permite detectar si estamos ante
teléfonos y tabletas, el sistema operativo y otras
opciones básicas para personalizar la aplicación y
ofrecer la mejor experiencia posible.
• Los recursos de la aplicación son importantes.
Debemos asegurarnos de facilitar recursos para cada
tipo de dispositivo donde la aplicación puede correr.
• Podemos crear vistas específicas por plataforma en
caso necesario y modificar el flujo de navegación.
Conclusiones
P & R
Comienza en
xamarin.com

Más contenido relacionado

PPTX
Desktop App Converter
PPTX
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
PPTX
Novedades de Xamarin 4
PPTX
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
PPTX
Interfaces nativas Cross-Platform con Xamarin.Forms
PPTX
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
PPTX
Universal Windows Platform Bridges
PPTX
Herramientas para el desarrollo de Apps Universales
Desktop App Converter
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Novedades de Xamarin 4
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Interfaces nativas Cross-Platform con Xamarin.Forms
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Universal Windows Platform Bridges
Herramientas para el desarrollo de Apps Universales

La actualidad más candente (20)

PPTX
re-Connect Madrid: Novedades Xamarin
PPTX
dotNetMálaga - Taller Xamarin
PPTX
Extendiendo Xamarin.Forms
PPTX
Microsoft Tech Summit - Taller Xamarin
PPTX
Xamarin for Everyone
PPTX
Publicación de Apps Universales
PPTX
Introducción al desarrollo de aplicaciones Xamarin
PPTX
Xamarin REvolve 2016
PPTX
Servicios Xamarin
PPTX
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
PPTX
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
PPTX
Introduccion a Xamarin
PPTX
Xamarin Dev Days Madrid - Xamarin.Forms
PPTX
Reconnect(); Sevilla - Keynote
PPTX
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
PPTX
Introducción a Windows UI
PDF
Introducción a Xamarin Forms con XAML
PPTX
Introducción a Xamarin utilizando MVVMCross
PPTX
Integración Continua con Apps Xamarin
PPTX
Novedades en Visual Studio Online
re-Connect Madrid: Novedades Xamarin
dotNetMálaga - Taller Xamarin
Extendiendo Xamarin.Forms
Microsoft Tech Summit - Taller Xamarin
Xamarin for Everyone
Publicación de Apps Universales
Introducción al desarrollo de aplicaciones Xamarin
Xamarin REvolve 2016
Servicios Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
Introduccion a Xamarin
Xamarin Dev Days Madrid - Xamarin.Forms
Reconnect(); Sevilla - Keynote
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
Introducción a Windows UI
Introducción a Xamarin Forms con XAML
Introducción a Xamarin utilizando MVVMCross
Integración Continua con Apps Xamarin
Novedades en Visual Studio Online
Publicidad

Similar a Adaptando Apps Xamarin.Forms a tabletas (20)

PPTX
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
PDF
Introducción al desarrollo de aplicaciones para dispositivos móviles
PPTX
Desarrolla aplicaciones moviles
PDF
Presentacion Apps Moviles Atrapalo.com
PPTX
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
PPTX
Aplicaciones moviles
DOCX
PDF
¿Cómo iniciarse en programación Android?
PPSX
Las apps en tipo presentación
PPTX
Expo. moviles
PPTX
diapositivas de XAMARIN
PPTX
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
PPTX
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
PPTX
Desarrollo de apps multiplataforma Movil
PDF
¿Porque android?
PPTX
PPTX
Android
PPTX
PPTX
Tipos de apps
PDF
02 5 o8a-10231485-2-7t
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Introducción al desarrollo de aplicaciones para dispositivos móviles
Desarrolla aplicaciones moviles
Presentacion Apps Moviles Atrapalo.com
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Aplicaciones moviles
¿Cómo iniciarse en programación Android?
Las apps en tipo presentación
Expo. moviles
diapositivas de XAMARIN
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
Desarrollo de apps multiplataforma Movil
¿Porque android?
Android
Tipos de apps
02 5 o8a-10231485-2-7t
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
Taller Xamarin Monkey Conf 2018
PPTX
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
PPTX
.Net Conf Sevilla 2018
PPTX
Analizando interfaces de usuario avanzadas con Xamarin.Forms
PPTX
OpenSouthCode 2018: Taller Xamarin
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
Introducción a Xamarin
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
Taller Xamarin Monkey Conf 2018
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
.Net Conf Sevilla 2018
Analizando interfaces de usuario avanzadas con Xamarin.Forms
OpenSouthCode 2018: Taller Xamarin
DotNet2018: Xamarin.Forms Everywhere!
Novedades Xamarin 3.0 Preview
Desarrollo Xamarin, más allá del desarrollo
Introducción a Xamarin.Forms
Introducción a Xamarin

Último (20)

PDF
Temas y subtemas de las fichas 1 y 2.pdf
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
DOCX
Las nuevas tecnologías en la salud - enfermería técnica.
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
Introduccion a servidores de Aplicaciones (1).pptx
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPT
Que son las redes de computadores y sus partes
PDF
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
PPTX
Presentación de Redes de Datos modelo osi
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
Yogurt de tocosh (1).pptx preparacion receta
DOCX
Trabajo colaborativo Grupo #2.docxmkkkkkkl
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Conceptos básicos de programación tecnología.pdf
PDF
ACTIVIDAD 2.pdf j
PDF
Calidad desde el Docente y la mejora continua .pdf
Temas y subtemas de las fichas 1 y 2.pdf
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Las nuevas tecnologías en la salud - enfermería técnica.
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
historia_web de la creacion de un navegador_presentacion.pptx
Presentación PASANTIAS AuditorioOO..pptx
Introduccion a servidores de Aplicaciones (1).pptx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
introduccion a las_web en el 2025_mejoras.ppt
Que son las redes de computadores y sus partes
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
Presentación de Redes de Datos modelo osi
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Estrategia de apoyo tecnología grado 9-3
Yogurt de tocosh (1).pptx preparacion receta
Trabajo colaborativo Grupo #2.docxmkkkkkkl
REDES INFORMATICAS REDES INFORMATICAS.pptx
Conceptos básicos de programación tecnología.pdf
ACTIVIDAD 2.pdf j
Calidad desde el Docente y la mejora continua .pdf

Adaptando Apps Xamarin.Forms a tabletas

  • 2. • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  • 4. Xamarin Código compartido C# • 100% acceso a APIs nativas • Rendimiento iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile
  • 5. • La UI es específica de cada plataforma. • La lógica de la Aplicación es en C# y compartida mediante el uso de PCLs o proyectos Shared. • 70% aprox. De código compartido. El enfoque tradicional de Xamarin En enfoque con Xamarin Classic
  • 6. Xamarin + Xamarin.Forms 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
  • 7. • Permite crear facilmente y con rapidez interfaces de usuario nativas compartidas • Los elementos de Xamarin.Forms son mapeados a elementos nativos y behaviors propios de cada plataforma • Podemos mezclar Xamarin.Forms con APIs nativas Xamarin.Forms
  • 9. iOS En el caso de iOS, es decir, iPads, la plantilla automática de Xamarin.Forms incluye soporte. Podemos revisarlo verificando si la propiedad Info.plist > Devices tiene asignado el valor Universal. Añadiendo soporte a Tabletas
  • 10. Android El ecosistema Android es bastante variado y complejo contando con una enorme diversidad de tamaños de pantalla. Desde Apps Xamarin.Forms tenemos soporte a toda la variedad. Windows Xamarin.Foms cuenta con soporte a aplicaciones Universal Windows Platform también conocido por las siglas en inglés UWP. Las aplicaciones Universales en Windows 10 permite acceder a una enorme variedad de familias de dispositivos, desde teléfonos a tabletas y PCs. Añadiendo soporte a Tabletas
  • 11. Podemos utilizar la clase Device para acceder a la enumeración Device.Idiom para verificar si estamos en teléfono o tableta. Detectando si estamos en teléfono o tableta if (Device.Idiom == TargetIdiom.Tablet) { } else { } • Phone: Indica que estamos en un teléfono. iPhone, iPod touch, Windows Phone y dispositivos Android por debajo de los 600 dips. • Tablet: Estamos ante iPad, dispositivos Windows 8.1 o dispositivos Android por encima de los 600 dips. • Desktop: Valor que obtenemos en aplicaciones UWP. • Unsupported: No soportado.
  • 12. La clase Device es muy importante en Xamarin.Forms ya que nos permite acceder a una serie de propiedades y métodos con el objetivo de personalizar la aplicación según dispositivo y plataforma. Podemos detectar la plataforma gracias a la enumeración Device.OS o personalizar elementos de la interfaz gracias al método Device.OnPlatform entre otras opciones. Detectando si estamos en teléfono o tableta <Label Text="{Binding Driver.CompleteName}" TextColor="White" XAlign="Center"> <Label.FontSize> <OnIdiom x:TypeArguments="x:Double" Phone="24" Tablet="28"/> </Label.FontSize> </Label>
  • 13. Adaptando recursos (iOS) Patrón Definición @2x Pensado para pantallas retina. Image.png Si tenemos una imagen de 320x480 pixeles, Image@2x.png será una versión de 640x960 pixels de la imagen. @3x Añadido para soporte al iPhone 6 Plus. Si tenemos una imagen de 414x736 pixeles, Image@2x.png será una versión de 1242x2208 pixels de la imagen. ~iphone Usada por Xamarin.iOS en iPhone y iPod Touch. ~ipad Usada por Xamarin.iOS en iPad.
  • 14. Adaptando recursos (Android) En Android tenemos disponibles varias unidades de medida que nos ayudarán a que nuestra aplicación se vea correctamente sea cual sea el tamaño de la pantalla. dp (Density-independent Pixels) Es una unidad abstracta que se basa en la densidad física de la pantalla. Esta unidad es equivalente a un píxel en una pantalla con una densidad de 160 dpi. Formula: dp = px / (dpi / 160) Ejemplo, 100 px on a Nexus 5: dp = 100 / (445 / 160) = 36
  • 15. Adaptando recursos (Android) Tipo Tamaño Teléfono < 600dp Tablet 7” >= 600dp / 10” > 720dp <manifest ... > <supports-screens android:requiresSmallestWidthDp="600" /> ... </manifest>
  • 16. Adaptando recursos (Android) ldpi (low) ~120dpi mdpi (medium) ~160dpi hdpi (high) ~240dpi xhdpi (extra-high) ~320dpi xxhdpi (extra-extra-high) ~480dpi xxxhdpi (extra-extra-extra-high) ~640dpi
  • 18. El “efecto” de nuestros cambios Teléfonos Tablet
  • 19. • La clase Device nos permite detectar si estamos ante teléfonos y tabletas, el sistema operativo y otras opciones básicas para personalizar la aplicación y ofrecer la mejor experiencia posible. • Los recursos de la aplicación son importantes. Debemos asegurarnos de facilitar recursos para cada tipo de dispositivo donde la aplicación puede correr. • Podemos crear vistas específicas por plataforma en caso necesario y modificar el flujo de navegación. Conclusiones
  • 20. P & R

Notas del editor

  • #15: http://developer.android.com/intl/es/guide/practices/screens_support.html