SlideShare une entreprise Scribd logo
1  sur  68
DESARROLLA
PARA TODOS LOS
DISPOSITIVOS
CON WINDOWS
10
Un único paquete, interfaces adaptativas,
nuevos controles, novedades en XAML,
herramientas, etc.
TALLER WINDOWS 10
TLPINNOVA
.
.
Javier Suárez
Mobile Team Lead Bravent
Microsoft MVP Windows Platform
Development
• Blog: http://geeks.ms/blogs/jsuarez
• Email: javiersuarezruiz@hotmail.com
• Twitter: @jsuarezruiz
Bien, bien, dejémonos de historias, ¿qué
vamos a hacer?
TALLER WINDOWS 10
TLPINNOVA
.
.
EL GRAN OBJETIVO
Antes de arrancar, ¿de dónde venimos?,
¿dónde estamos?
TALLER WINDOWS 10
TLPINNOVA
.
.
Mayor facilidad para
estar al día
Plataforma de Apps y
Core unificado
EL VIAJE DE LA
CONVERGENCIA
Windows 10
Convergencia a
nivel de kernel
Convergencia en
el modelo de App
TALLER WINDOWS 10
TLPINNOVA
.
.
Phone Small Tablet
2-in-1s
(Tablet or Laptop)
Desktops
& All-in-OnesPhablet Large Tablet
Classic
Laptop
Xbox IoTSurface Hub HoloLens
Windows 10
TALLER WINDOWS 10
TLPINNOVA
.
.
One Store +
One Dev Center
Reuse Existing
Code
One SDK +
Tooling
Adaptive
User Interface
Natural
User Inputs
One Universal Windows Platform
TALLER WINDOWS 10
TLPINNOVA
.
.
UNIVERSAL WINDOWS PLATFORM
• UN Sistema operativo
– Mismo core Windows para todos los
dispositivos
• UNA Plataforma de Apps
– Apps corren entre todas las familias de
dispositivos
• UN Dev Center
– Mismo flujo de publicación y dashboard
• UNA Store
– Monetización, negocio, educación
TALLER WINDOWS 10
TLPINNOVA
.
.
APP WINDOWS
• Un mismo binario
– Corre en cualquier dispositivo
– Ajustable por familia de dispositivo
Phone
Dispositivo
Xbox
Dispositivo
Desktop
Dispositivo
Core Windows
Universal Windows Platform
App Windows
Las Apps NO se destinan a Windows 10,
las Apps se destinan a familias de
dispositivos
TALLER WINDOWS 10
TLPINNOVA
.
.
PLANTILLAS DISPONIBLES
Creamos Nuevo Proyecto Windows Universal
TALLER WINDOWS 10
TLPINNOVA
.
.
Data Binding
Comandos
Interfaz de Usuario Lógica de Negocio
Lógica de Negocio
Lógica de
Presentación
MVVM
TALLER WINDOWS 10
TLPINNOVA
.
.
MVVM
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.
Repasemos las buenas practicas y el
patron MVVM aplicado
La historia de las Apps Windows
adaptativas
TALLER WINDOWS 10
TLPINNOVA
.
.
OPCIONES DE DISEÑO PARA
ADAPTAR LA INTERFAZ
• Estrategias de diseño
– Layouts flexibles con tamaños relativos
• Vistas XAML por dispositivo
– Archivos XAML separados con código compartido
• Estados visuales XAML
– Utilizados para escalar y gestionar orientaciones
TALLER WINDOWS 10
TLPINNOVA
.
.
DISEÑO ADAPTATIVO
Phone (portrait)
Tablet (landscape) / Desktop
TALLER WINDOWS 10
TLPINNOVA
.
.
DISEÑO ADAPTADO
Phone (portrait)
Tablet (landscape) / Desktop
Los usuarios adoran las Apps que son
geniales en cada uno de sus dispositivos
¿Qué tenemos “gratis”?
TALLER WINDOWS 10
TLPINNOVA
.
.
El control SplitView
TALLER WINDOWS 10
TLPINNOVA
.
.
SPLITVIEW
TALLER WINDOWS 10
TLPINNOVA
.
.
COMPORTAMIENTO
Your Windows App
TALLER WINDOWS 10
TLPINNOVA
.
.
Segoe MDL2 Assets
TALLER WINDOWS 10
TLPINNOVA
.
.
SPLITVIEW.PANE
<SplitView>
<SplitView.Pane>
<StackPanel>
<RadioButton />
<RadioButton />
</StackPanel>
</SplitView.Pane>
</SplitView>
TALLER WINDOWS 10
TLPINNOVA
.
.
SPLITVIEW.CONTENT
<SplitView>
<SplitView.Pane />
<SplitView.Content>
<Frame/>
</SplitView.Content>
</SplitView>
TALLER WINDOWS 10
TLPINNOVA
.
.
PROPIEDADES DEL SPLIVIEW
<SplitView
IsPaneOpen="False"
CompactPaneLength="150"
OpenPaneLength="50"
Placement="Right|Left"
PaneDisplayMode="CompactInline">
<SplitView.Pane />
<SplitView.Content />
</SplitView>
TALLER WINDOWS 10
TLPINNOVA
.
.
SPLITVIEW.PANEDISPLAYMOD
E
SplitView.IsPaneOpen
"True"
SplitView.IsPaneOpen
"False"
Inline
Overlay
Compact Inline
Compact Overlay
Mejoras en Visual States
TALLER WINDOWS 10
TLPINNOVA
.
.
VISUAL STATE SETTERS &
TRIGGERS• Setters permite establecer propiedades simples
– La mayoría de propiedades no necesitan animación
• Triggers declarados cuando se aplica un estado
– No necesitamos gestionar eventos en el code-behind
<VisualState x:Name="wideState">
<VisualState.Setters>
<Setter Target="myPanel.Orientation" Value="Horizontal" />
</VisualState.Setters>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="600"/>
</VisualState.StateTriggers>
</VisualState>
TALLER WINDOWS 10
TLPINNOVA
.
.
TIPOS DE TRIGGER
• MinWindowWidth
• MinWindowHeight
– “Cualquier cosa por encima de este valor”
– Los valores se especifican en píxeles
TALLER WINDOWS 10
TLPINNOVA
.
.
• …cuando algo en la ViewModel cambia
• …cuando cambia algun valor
• …dependiendo del tamaño de la pantalla
• Bien, entonces…
¿Visual State Triggers Custom?
TALLER WINDOWS 10
TLPINNOVA
.
.
• La lógica es custom
• Se pueden combiner varios Triggers
• Se pueden utilizer otras opciones dentro del
Trigger como x:Defer
• https://github.com/Microsoft/Windows-universal-
samples/tree/master/xaml_statetriggers
Crear Custom Triggers
Nuevos controles XAML
TALLER WINDOWS 10
TLPINNOVA
.
.
Relative Panel es un control de Layout XAML. Posiciona los
elementos estableciendo relaciones entre ellos.
INTRODUCCIÓN AL PANEL
RELATIVE PANELControles de Layout en Windows XAML
Grid
Stack
Panel
Canvas
Scroll
Viewer
Border View Box
Wrap
Grid
Relative
Panel
TALLER WINDOWS 10
TLPINNOVA
.
.
RELATIVE PANEL
• Adaptativo
– Relativo al Panel
– Relativo a controles “hermanos”
• Simplifica nuestro XAML
– Simplifica el árbol visual
– Simplifica los estados visuales
TALLER WINDOWS 10
TLPINNOVA
.
.
ALINEACIÓN CON EL PANEL
<RelativePanel>
<Rectangle x:Name="RedRect"
Height="100" Width="100" Fill="Red"
RelativePanel.AlignHorizontalCenterWithPanel="True"
RelativePanel.AlignVerticalCenterWithPanel="True" />
<Rectangle x:Name="BlueRect"
Height="100" Width="200" Fill="Blue" />
</RelativePanel>
TALLER WINDOWS 10
TLPINNOVA
.
.
OPCIONES DE POSICIÓN CON RESPECTO AL PANEL
<Rectangle Height="100" Width="100" Fill="Red"
RelativePanel.AlignLeftWithPanel="True" (default)
RelativePanel.AlignRightWithPanel="True"
RelativePanel.AlignTopWithPanel="True" (default)
RelativePanel.AlignBottomWithPanel="True"
RelativePanel.CenterInPanelHorizontally="True"
RelativePanel.CenterInPanelVertically="True" />
TALLER WINDOWS 10
TLPINNOVA
.
.
ALINEARSE CON
“HERMANOS”
<RelativePanel>
<Rectangle x:Name="BlueRect"
Height="100" Width="100" Fill="Blue" />
<Rectangle x:Name="RedRect"
Height="100" Width="100" Fill="Red"
RelativePanel.RightOf="BlueRect"
RelativePanel.AlignVerticalCenterWith="BlueRect" />
</RelativePanel>
TALLER WINDOWS 10
TLPINNOVA
.
.
ALINEARSE CON
“HERMANOS”
<RelativePanel>
<Rectangle x:Name="BlueRect"
Height="100" Width="100" Fill="Blue" />
<Rectangle x:Name="RedRect"
Height="100" Width="100" Fill="Red"
RelativePanel.Below="BlueRect"
RelativePanel.AlignRightWith="BlueRect" />
</RelativePanel>
TALLER WINDOWS 10
TLPINNOVA
.
.
ALINEARSE CON
“HERMANOS”
<RelativePanel>
<Rectangle x:Name="BlueRect"
Height="100" Width="100" Fill="Blue" />
<Rectangle x:Name="RedRect"
Height="100" Width="100" Fill="Red"
RelativePanel.Below="BlueRect"
RelativePanel.AlignHorizontalCenterWith="BlueRect" />
</RelativePanel>
TALLER WINDOWS 10
TLPINNOVA
.
.
ALINEARSE CON “HERMANOS”
<RelativePanel>
<Rectangle x:Name="BlueRect"
Height="100" Width="100" Fill="Blue" />
<Rectangle x:Name="RedRect"
Height="100" Width="100" Fill="Red"
RelativePanel.Below="BlueRect"
RelativePanel.AlignLeftWith="BlueRect" />
</RelativePanel>
TALLER WINDOWS 10
TLPINNOVA
.
.
OPCIONES DE POSICIONAMIENTO ENTRE “HERMANOS”
<Rectangle Height="100" Width="100" Fill="Red"
RelativePanel.Above="BlueRect"
RelativePanel.RightOf="BlueRect"
RelativePanel.Below="BlueRect"
RelativePanel.RightOf="BlueRect" />
TALLER WINDOWS 10
TLPINNOVA
.
.
OPCIONES DE POSICIONAMIENTO ENTRE “HERMANOS”
<Rectangle Height="100" Width="100" Fill="Red"
RelativePanel.AlignTopWith="BlueRect"
RelativePanel.AlignRightWith="BlueRect"
RelativePanel.AlignBottomWith="BlueRect"
RelativePanel.AlignLeftWith="BlueRect"
RelativePanel.AlignHorizontalCenterWith="BlueRect"
RelativePanel.AlignVerticalCenterWith="BlueRect" />
TALLER WINDOWS 10
TLPINNOVA
.
.
SIMPLIFICANDO EL ÁRBOL VISUAL
<Grid>
<StackPanel>
<StackPanel>
<TextBlock />
<TextBlock />
</StackPanel>
<StackPanel>
<TextBlock />
<TextBlock />
</StackPanel>
</StackPanel>
</Grid>
<RelativePanel>
<TextBlock />
<TextBlock />
<TextBlock />
<TextBlock />
</RelativePanel >
El control Relative Panel es una de las
claves para tus estrategias a la hora de
adaptar la UI
TALLER WINDOWS 10
TLPINNOVA
.
.
EXTENSIONES DE PLATAFORMA
• APIs específicas por familia
– Capacidades específicas por familia
– Compatible entre dispositivos
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
Windows App
Phone
extension
Xbox
extension
Desktop
extension
Las extensions no afectan a los binarios
de otras familias de dispositivos
TALLER WINDOWS 10
TLPINNOVA
.
.
EXTENSIONES POR PLATAFORMA
<ItemGroup>
<!-- Reference to the .Net Framework
and Windows SDK are automatic -->
<SDKReference Include="Windows Desktop,
Version=10.0.9910.0"/>
<SDKReference Include="Windows Mobile,
Version=10.0.0.1"/>
</ItemGroup>
Validando XAML!
TALLER WINDOWS 10
TLPINNOVA
.
.
<ListView>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<SymbolIcon Symbol="{Binding Symbol}"/>
<TextBlock Text="{Binding Name}"/>
<Button Click="Button_ClickHandler"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<ListView>
<ListView.ItemTemplate>
<DataTemplate
x:DataType="local:FreeBookCategory">
<StackPanel>
<SymbolIcon Symbol="{x:Bind
Symbol}"/>
<TextBlock Text="{x:Bind Name}"/>
<Button Click="{x:Bind Click}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
MEJORAS EN RENDIMIENTO
Se resuelve en tiempo de compilación y produce errores!
TALLER WINDOWS 10
TLPINNOVA
.
.
Links: Windows Performance Analyzer, EventSource
TALLER WINDOWS 10
TLPINNOVA
.
.
CONSUMO DE MEMORIA
TALLER WINDOWS 10
TLPINNOVA
.
.
USANDO BINDINGS COMPILADOS
• Reemplazamos {Binding …} por {x:Bind …}
• x:Bind esta fuertemente tipado
– El context es la página o control de usuario
• Mode=OneTime es el modo por defecto
DEMODEMODEMO
X:Bind
TALLER WINDOWS 10
TLPINNOVA
.
.
• Duck Typing – mismo nombre de propiedad en diferentes objetos
– Text=“{Binding Age}” funciona con objetos perro y persona
– x:Bind Mitigation: Usa una clase base o interfaz
• Dictionary graphs
– {Binding} puede funcionar con JSON y otros diccionarios de objetos no tipados
– {x:Bind} No funciona sin información de tipado
– Probablemente se podrían hacer suficientes Catings para hacer que funcione, pero la experiencia sería pobre
• Creación de bindings programáticamente
– {x:Bind} no tiene la capacidad de añadir / quitar bindings en runtime
• Use in a style
– {x:Bind} no se puede usar en un estilo para setters etc
– Si podemos usarlo en un DataTemplate definido en el style
¿CUÁNDO USAMOS BINDINGS “CÁSICOS”?
Vistas por familias de dispositivos
TALLER WINDOWS 10
TLPINNOVA
.
.
¿Qué pasa si…?
SplitView vs. Pivot
Comandos en la
parte superior VS
inferior
TALLER WINDOWS 10
TLPINNOVA
.
.
DEVICE FAMILIES
• En Windows 10, podemos distinguir los dispositivos de dos formas:
• Por resolución
• Por familia
TALLER WINDOWS 10
TLPINNOVA
.
.
DEVICE FAMILIES
• Windows 10 ofrece distintas familias de dispositivos:
• Desktop
• Mobile
• Xbox
• IoT
• …
Herramientas
TALLER WINDOWS 10
TLPINNOVA
.
.
VISUAL STUDIO
TALLER WINDOWS 10
TLPINNOVA
.
.
VISUAL STUDIO
DEMODEMODEMO
Visual Tree Inspector
TALLER WINDOWS 10
TLPINNOVA
.
.
GRACIAS a TODOS
Por vuestro tiempo!
Javier Suárez
Microsoft MVP Windows Platform Development
• Blog: http://geeks.ms/blogs/jsuarez
• Email: javiersuarezruiz@hotmail.com
• Twitter: @jsuarezruiz
TALLER WINDOWS 10
TLPINNOVA
.
.
DESARROLLA PARA TODOS LOS DISPOSITIVOS CON WINDOWS 10
Un único paquete, interfaces adaptativas, nuevos controles, novedades en XAML, herramientas, etc.

Contenu connexe

Tendances

Creando Aplicaciones UWP para Xbox One
Creando Aplicaciones UWP para Xbox OneCreando Aplicaciones UWP para Xbox One
Creando Aplicaciones UWP para Xbox OneJavier Suárez Ruiz
 
Introducción a las Apps Universales
Introducción a las Apps UniversalesIntroducción a las Apps Universales
Introducción a las Apps UniversalesJavier Suárez Ruiz
 
Adaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletasAdaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletasJavier Suárez Ruiz
 
Talks4Kids 2015 - Consejos Heisenberg para conseguir Apps Windows 10 con 99% ...
Talks4Kids 2015 - Consejos Heisenberg para conseguir Apps Windows 10 con 99% ...Talks4Kids 2015 - Consejos Heisenberg para conseguir Apps Windows 10 con 99% ...
Talks4Kids 2015 - Consejos Heisenberg para conseguir Apps Windows 10 con 99% ...Javier Suárez Ruiz
 
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con AzureXamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con AzureJavier Suárez Ruiz
 
Tutorial de eclipse_completo-a
Tutorial de eclipse_completo-aTutorial de eclipse_completo-a
Tutorial de eclipse_completo-aAlan Cárdenas
 
Interfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.FormsInterfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.FormsJavier Suárez Ruiz
 
Apple TV Meet Up Slides
Apple TV Meet Up SlidesApple TV Meet Up Slides
Apple TV Meet Up SlidesGlobant
 
Windows presentation
Windows presentation Windows presentation
Windows presentation Joseph Bros
 
Tutorial de eclipse completo
Tutorial de eclipse completoTutorial de eclipse completo
Tutorial de eclipse completoCAraceliCM
 
Dreamweaver 8
Dreamweaver 8Dreamweaver 8
Dreamweaver 8Jomicast
 
Power Point 4ª
Power Point 4ªPower Point 4ª
Power Point 4ªzteeban
 
Subir una aplicación a google play
Subir una aplicación a google playSubir una aplicación a google play
Subir una aplicación a google playOscar Eduardo
 
Buenas prácticas en el desarrollo Android - Imaginática 2013
Buenas prácticas en el desarrollo Android - Imaginática 2013Buenas prácticas en el desarrollo Android - Imaginática 2013
Buenas prácticas en el desarrollo Android - Imaginática 2013Rafael Vázquez Sánchez
 

Tendances (20)

Creando Aplicaciones UWP para Xbox One
Creando Aplicaciones UWP para Xbox OneCreando Aplicaciones UWP para Xbox One
Creando Aplicaciones UWP para Xbox One
 
Introducción a las Apps Universales
Introducción a las Apps UniversalesIntroducción a las Apps Universales
Introducción a las Apps Universales
 
Novedades de Xamarin 4
Novedades de Xamarin 4Novedades de Xamarin 4
Novedades de Xamarin 4
 
Adaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletasAdaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletas
 
Talks4Kids 2015 - Consejos Heisenberg para conseguir Apps Windows 10 con 99% ...
Talks4Kids 2015 - Consejos Heisenberg para conseguir Apps Windows 10 con 99% ...Talks4Kids 2015 - Consejos Heisenberg para conseguir Apps Windows 10 con 99% ...
Talks4Kids 2015 - Consejos Heisenberg para conseguir Apps Windows 10 con 99% ...
 
Introducción a Xamarin.Forms
Introducción a Xamarin.FormsIntroducción a Xamarin.Forms
Introducción a Xamarin.Forms
 
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con AzureXamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
 
Tutorial de eclipse_completo-a
Tutorial de eclipse_completo-aTutorial de eclipse_completo-a
Tutorial de eclipse_completo-a
 
Interfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.FormsInterfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.Forms
 
Apple TV Meet Up Slides
Apple TV Meet Up SlidesApple TV Meet Up Slides
Apple TV Meet Up Slides
 
Windows presentation
Windows presentation Windows presentation
Windows presentation
 
Tutorial de eclipse completo
Tutorial de eclipse completoTutorial de eclipse completo
Tutorial de eclipse completo
 
Introducción a Windows UI
Introducción a Windows UIIntroducción a Windows UI
Introducción a Windows UI
 
ApplicationBar Remodelado {Windows Phone 8.1}
ApplicationBar Remodelado {Windows Phone 8.1}ApplicationBar Remodelado {Windows Phone 8.1}
ApplicationBar Remodelado {Windows Phone 8.1}
 
Dreamweaver 8
Dreamweaver 8Dreamweaver 8
Dreamweaver 8
 
Colegio venecia i
Colegio venecia iColegio venecia i
Colegio venecia i
 
Power Point 4ª
Power Point 4ªPower Point 4ª
Power Point 4ª
 
Interfaz de flash
Interfaz de flashInterfaz de flash
Interfaz de flash
 
Subir una aplicación a google play
Subir una aplicación a google playSubir una aplicación a google play
Subir una aplicación a google play
 
Buenas prácticas en el desarrollo Android - Imaginática 2013
Buenas prácticas en el desarrollo Android - Imaginática 2013Buenas prácticas en el desarrollo Android - Imaginática 2013
Buenas prácticas en el desarrollo Android - Imaginática 2013
 

En vedette

[Evento WPSUG] Universal Windows Platform Bridges
[Evento WPSUG] Universal Windows Platform Bridges[Evento WPSUG] Universal Windows Platform Bridges
[Evento WPSUG] Universal Windows Platform BridgesJavier Suárez Ruiz
 
Novedades en Visual Studio Online
Novedades en Visual Studio OnlineNovedades en Visual Studio Online
Novedades en Visual Studio OnlineJavier Suárez Ruiz
 
Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4Javier Suárez Ruiz
 
Windows 10 Developer Readiness. Interfaces Adaptativas
Windows 10 Developer Readiness. Interfaces AdaptativasWindows 10 Developer Readiness. Interfaces Adaptativas
Windows 10 Developer Readiness. Interfaces AdaptativasJavier Suárez Ruiz
 
Regreso al futuro, la proposición indecente de Microsoft
Regreso al futuro, la proposición indecente de MicrosoftRegreso al futuro, la proposición indecente de Microsoft
Regreso al futuro, la proposición indecente de MicrosoftJavier Suárez Ruiz
 
Reconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows PlatformReconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows PlatformJavier Suárez Ruiz
 
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con XamarinCrear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con XamarinJavier Suárez Ruiz
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform BridgesJavier Suárez Ruiz
 
Tus aplicaciones en pantalla grande con Xbox One
Tus aplicaciones en pantalla grande con Xbox One Tus aplicaciones en pantalla grande con Xbox One
Tus aplicaciones en pantalla grande con Xbox One Javier Suárez Ruiz
 
WinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSWinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSJavier Suárez Ruiz
 
Microsoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinJavier Suárez Ruiz
 

En vedette (14)

Reconnect(); Sevilla - Keynote
Reconnect(); Sevilla - KeynoteReconnect(); Sevilla - Keynote
Reconnect(); Sevilla - Keynote
 
[Evento WPSUG] Universal Windows Platform Bridges
[Evento WPSUG] Universal Windows Platform Bridges[Evento WPSUG] Universal Windows Platform Bridges
[Evento WPSUG] Universal Windows Platform Bridges
 
Novedades en Visual Studio Online
Novedades en Visual Studio OnlineNovedades en Visual Studio Online
Novedades en Visual Studio Online
 
Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4
 
Windows 10 Developer Readiness. Interfaces Adaptativas
Windows 10 Developer Readiness. Interfaces AdaptativasWindows 10 Developer Readiness. Interfaces Adaptativas
Windows 10 Developer Readiness. Interfaces Adaptativas
 
Regreso al futuro, la proposición indecente de Microsoft
Regreso al futuro, la proposición indecente de MicrosoftRegreso al futuro, la proposición indecente de Microsoft
Regreso al futuro, la proposición indecente de Microsoft
 
Reconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows PlatformReconnect(); Sevilla - Universal Windows Platform
Reconnect(); Sevilla - Universal Windows Platform
 
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con XamarinCrear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform Bridges
 
Tus aplicaciones en pantalla grande con Xbox One
Tus aplicaciones en pantalla grande con Xbox One Tus aplicaciones en pantalla grande con Xbox One
Tus aplicaciones en pantalla grande con Xbox One
 
WinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSWinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOS
 
Microsoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller Xamarin
 
Extendiendo Xamarin.Forms
Extendiendo Xamarin.FormsExtendiendo Xamarin.Forms
Extendiendo Xamarin.Forms
 
Desktop App Converter
Desktop App ConverterDesktop App Converter
Desktop App Converter
 

Similaire à Desarrolla para todos los dispositivos con Windows 10

Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en Windows 10Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en Windows 10Javier Suárez Ruiz
 
"Android de la A a la Z" -- Unidad 10
"Android de la A a la Z" -- Unidad 10"Android de la A a la Z" -- Unidad 10
"Android de la A a la Z" -- Unidad 10Android UNAM
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosMaiira DM
 
windows10-230217173624-488937a2.pptx
windows10-230217173624-488937a2.pptxwindows10-230217173624-488937a2.pptx
windows10-230217173624-488937a2.pptxpedrorojas177
 
Windows 7 Oportunidades De Desarrollo para ISV
Windows 7 Oportunidades De Desarrollo para ISVWindows 7 Oportunidades De Desarrollo para ISV
Windows 7 Oportunidades De Desarrollo para ISVMicrosoft
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3GeneXus
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3GeneXus
 
Introducción al desarrollo Android, Sesión 2
Introducción al desarrollo Android, Sesión 2Introducción al desarrollo Android, Sesión 2
Introducción al desarrollo Android, Sesión 2findemor
 
Android UC3M Sesión 2
Android UC3M Sesión 2Android UC3M Sesión 2
Android UC3M Sesión 2topoos
 
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...Alan Cárdenas
 
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...Alan Cárdenas
 

Similaire à Desarrolla para todos los dispositivos con Windows 10 (20)

Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en Windows 10Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en Windows 10
 
Introducción a Windows 10
Introducción a Windows 10Introducción a Windows 10
Introducción a Windows 10
 
Introducción a los "Pelochos"
Introducción a los "Pelochos"Introducción a los "Pelochos"
Introducción a los "Pelochos"
 
Versiones de windows
Versiones de windowsVersiones de windows
Versiones de windows
 
"Android de la A a la Z" -- Unidad 10
"Android de la A a la Z" -- Unidad 10"Android de la A a la Z" -- Unidad 10
"Android de la A a la Z" -- Unidad 10
 
Introducción a Windows 10
Introducción a Windows 10Introducción a Windows 10
Introducción a Windows 10
 
Windows 10 Dev Readiness - Colombia
Windows 10 Dev Readiness - ColombiaWindows 10 Dev Readiness - Colombia
Windows 10 Dev Readiness - Colombia
 
Desarrollo de aplicaciones con wpf
Desarrollo de aplicaciones con wpfDesarrollo de aplicaciones con wpf
Desarrollo de aplicaciones con wpf
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Productos y Servicios Softrain
Productos y Servicios SoftrainProductos y Servicios Softrain
Productos y Servicios Softrain
 
Cosas sobre Windows Phone 7.5
Cosas sobre Windows Phone 7.5Cosas sobre Windows Phone 7.5
Cosas sobre Windows Phone 7.5
 
windows10-230217173624-488937a2.pptx
windows10-230217173624-488937a2.pptxwindows10-230217173624-488937a2.pptx
windows10-230217173624-488937a2.pptx
 
Windows 7 Oportunidades De Desarrollo para ISV
Windows 7 Oportunidades De Desarrollo para ISVWindows 7 Oportunidades De Desarrollo para ISV
Windows 7 Oportunidades De Desarrollo para ISV
 
CLASEMODELOFINAL2.pptx
CLASEMODELOFINAL2.pptxCLASEMODELOFINAL2.pptx
CLASEMODELOFINAL2.pptx
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3
 
Introducción al desarrollo Android, Sesión 2
Introducción al desarrollo Android, Sesión 2Introducción al desarrollo Android, Sesión 2
Introducción al desarrollo Android, Sesión 2
 
Android UC3M Sesión 2
Android UC3M Sesión 2Android UC3M Sesión 2
Android UC3M Sesión 2
 
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
 
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
A manual de_usuario_de_eclipse_2_2_.pptx;filename_utf-8_manual_de_usuario_de_...
 

Plus de Javier Suárez Ruiz

Cape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community ToolkitCape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community ToolkitJavier Suárez Ruiz
 
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.FormsTech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.FormsJavier Suárez Ruiz
 
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....Javier Suárez Ruiz
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersJavier Suárez Ruiz
 
Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.FormsJavier Suárez Ruiz
 
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.FormsMonkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.FormsJavier Suárez Ruiz
 
Crear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.FormsCrear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.FormsJavier Suárez Ruiz
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsJavier Suárez Ruiz
 
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellMonkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellJavier Suárez Ruiz
 
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.FormsAnalizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.FormsJavier Suárez Ruiz
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinJavier Suárez Ruiz
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!Javier Suárez Ruiz
 
Desarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrolloDesarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrolloJavier Suárez Ruiz
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinJavier Suárez Ruiz
 

Plus de Javier Suárez Ruiz (20)

Cape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community ToolkitCape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community Toolkit
 
DotNetDom: El futuro de Xamarin
DotNetDom: El futuro de XamarinDotNetDom: El futuro de Xamarin
DotNetDom: El futuro de Xamarin
 
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.FormsTech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
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: Xamarin Community Toolkit: More possibilities with Xamarin....Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI Handlers
 
Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.Forms
 
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.FormsMonkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
 
Crear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.FormsCrear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.Forms
 
#XamarinUIJuly Summary
#XamarinUIJuly Summary#XamarinUIJuly Summary
#XamarinUIJuly Summary
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.Forms
 
Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018
 
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellMonkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
 
.Net Conf Sevilla 2018
.Net Conf Sevilla 2018.Net Conf Sevilla 2018
.Net Conf Sevilla 2018
 
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.FormsAnalizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.Forms
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller Xamarin
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!
 
Novedades Xamarin 3.0 Preview
Novedades Xamarin 3.0 PreviewNovedades Xamarin 3.0 Preview
Novedades Xamarin 3.0 Preview
 
Desarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrolloDesarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrollo
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas Xamarin
 

Dernier

SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 
Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++luzgaray6
 
Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024Leonardo J. Caballero G.
 
Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.CeteliInmaculada
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 
Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Leonardo J. Caballero G.
 

Dernier (6)

SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 
Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++
 
Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024
 
Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 
Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024
 

Desarrolla para todos los dispositivos con Windows 10

Notes de l'éditeur

  1. Here’s an example of an app that used adaptive controls on: a Phone -- [click to build slide] a Tablet in portrait -- [click to build slide] and a PC in landscape The same elements are present across all three, but the layout has adapted. – [click to build slide] For example, we can see the command bar across all three screens: On the phone, space is limited and the command pbar is collapsed to a menu icon on the left to show the commands and a search icon on the right. On the tablet, there is enough room to show the commands along with a search icon And on the PC, the coamand bart has enough space to adapt to show all the commands plus a full search box [next slide]
  2. Adaptive controls are great, but we know there will be cases where the app designer wants to do something more custom or more tailored than the adaptive controls will allow. This desire might be motivated by hardware differences. For example, an app that will run on an Xbox might want to create some customizations for navigation using a game controller. Or it might be motivated by screen size and usability. A designer might want to position a menu at the bottom of a phone screen to make it more usable with a single hand. For these cases, we enable developers to create what we call a tailored user experience. In this case, the code is the same, but the developer creates custom XAML to deliver the desired design on the right device or in the right set of conditions. Tailored design goes beyond Adaptive UX Developers can create custom experiences for certain devices The code is the same, but custom XAML can deliver the experience a developer wants