SlideShare una empresa de Scribd logo
Analizando interfaces de usuario avanzadas con
Xamarin.Forms
Visual Studio Technologies MVP
Xamarin MVP
Software Developer at Plain Concepts
• Blog: http://geeks.ms/blogs/jsuarez
• Email: javiersuarezruiz@hotmail.com
• Twitter: @jsuarezruiz
¿Qué vamos a ver?
• Pulse Music
• My Trip Countdown
• Netflix
• Walktrough
• Movies
Las claves
Xamarin.Forms- Cross Platform UI
• Interfaz de usuario nativa
compartida
• Lógica compartida
Shared C# Logic
Shared UI Code
$ dotnet new classlib -o My.Class.Library
.NET Standard
.NET Core
.NET Framework
Xamarin
~
~
Especificación HTML
Browsers
.NET Standard en contexto
.NET Standard
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Xamarin.Forms utiliza
abstracciones para definir los
elementos. Posteriormente se
transforma cada abstracción
ofreciendo una implementación y
mecanismos en cada plataforma.
Abstracciones
Si no nos gusta como se renderiza un control en una plataforma,
podemos cambiarlo
Element describe la apariencia
del control
Button
Text
TextColor
…
Renderer crea una visualización
específica para cada plataforma
ButtonRenderer
ButtonRenderer
ButtonRenderer
UIButton
Button
Button
MyButtonRenderer
UIImage
Custom Renderers
Siempre tendremos DOS PARTES: El Elemento y el Renderer
Element describe la apariencia
del control
Button
Text
TextColor
…
Renderer crea una visualización
específica para cada plataforma
ButtonRenderer
ButtonRenderer
ButtonRenderer
Button
Button
MyButtonRenderer UIImage
Custom Renderers
https://blog.xamarin.com/adaptive-mobile-designs-with-flexlayout/
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Xamarin.Forms
Shared C# Logic
Windows C#Android C#iOS C#
Características de Xamarin.Forms
• XAML Compilation
• Bindings
• MessagingCenter
• DependencyService
• Crear
• UIViewController
• Activity
• Fragment
• FrameworkElement
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Xamarin.Essentials
aka.ms/xamarinessentials
Linterna
Geolocalización
Preferencias
Info del dispositivo
Display Info
Secure Settings
Acelerómetro
Batería
Clipboard
Compass
Conectividad
Data Transfer
Email
File SystemGeocoding
Giroscopio
Magnetómetro
Teléfono
Bloqueo pantalla
Sms
Text to Speech
Vibración
Xamarin Essentials
Un ki de APIs cross platform esencial para apps móviles –Android, iOS o Forms
My Trip Countdown
My Trip Countdown
My Trip Countdown
https://github.com/jsuarezruiz/MyTripCountdown
DEMODEMODEMO
My Trip Countdown
Pulse Music
Pulse Music
https://github.com/jsuarezruiz/PulseMusic
DEMODEMODEMO
Pulse Music
Netflix
Netflix
https://github.com/jsuarezruiz/xamarin-forms-netflix-sample
DEMODEMODEMO
Netflix
Walkthrough
Walkthrough
https://github.com/jsuarezruiz/xamarin-forms-walkthrough
DEMODEMODEMO
Walkthrough
Movies
Movies
https://github.com/jsuarezruiz/xamarin-forms-gtk-movies-sample
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.Forms
https://github.com/xamarin/Xamarin.Forms/wiki/Platform-Support
• Aun queda un
volumen de
usuarios
considerable en
Windows 7 o
inferior.
Analizando interfaces de usuario avanzadas con Xamarin.Forms
https://github.com/xamarin/Xamarin.Forms/wiki/Platform-Support
DEMODEMODEMO
Movies
Un vistazo hacia el
futuro
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Project Board
1
2
3
4
5
6
7
8
9
<TabbedPage …
BarBackgroundColor="#F1F1F1"
xmlns:android="clr-
namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly
=Xamarin.Forms.Core"
android:TabbedPage.ToolbarPlacement="Bottom"
android:TabbedPage.BarItemColor="#666666"
android:TabbedPage.BarSelectedItemColor="Black">
Bindable Span
<Label>
<Label.FormattedText>
<FormattedString>
<Span Text="Welcome " />
<Span Text="{Binding YourName}" FontAttributes="Bold"/>
<Span Text=" to the Xamarin.Forms 3.1.0 playground!" />
</FormattedString>
</Label.FormattedText>
</Label>
https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/data-binding/compiled-bindings/
[assembly: XamlCompilation (XamlCompilationOptions.Compile)]
Namespace MyApp { ….
<ListView x:Name="colorListView"
Grid.Row="0"
ItemsSource="{x:Static local:NamedColor.All}"
RowHeight="40">
<ListView.ItemTemplate>
<DataTemplate x:DataType="{x:Type local:NamedColor}"
<ViewCell>
<StackLayout Orientation="Horizontal">
<BoxView Color="{Binding Color}"
HeightRequest="32"
WidthRequest="32"
VerticalOptions="Center" />
ContentPage 2
3
4
5
6
7
<StackLayout
Spacing="0"
CompressedLayout.IsHeadless="true"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand">
<Grid
CompressedLayout.IsHeadless="true”>
...
</Grid>
...
</StackLayout>
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Xamarin.Forms Shell
• Rendimiento!
• Mismo diseño para iOS y
Android via MaterialShell
• Flyout y Tabbed navigation
• Navegación por URL, deep
linking
• Gestión de navegación atrás
• Búsqueda
• Snackbar
• Bottom Sheet
• Floating Action Button
• Left Bar Button
• Screen segues
• Transiciones de páginas
• Se añade a todo lo que ya
existe en Xamarin.Forms
Preguntas y respuestas.
¿Dudas?
&

Más contenido relacionado

PPTX
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
PPTX
Taller Xamarin Monkey Conf 2018
PPTX
Monkey Conf 2020: .NET MAUI Handlers
PPTX
Creando controles para Xamarin.Forms
PPTX
DotNet2018: Xamarin.Forms Everywhere!
PPTX
.Net Conf Sevilla 2018
PPTX
DotNetDom: El futuro de Xamarin
PPTX
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Taller Xamarin Monkey Conf 2018
Monkey Conf 2020: .NET MAUI Handlers
Creando controles para Xamarin.Forms
DotNet2018: Xamarin.Forms Everywhere!
.Net Conf Sevilla 2018
DotNetDom: El futuro de Xamarin
Monkey Conf 2019: Presente y futuro de Xamarin.Forms

La actualidad más candente (20)

PPTX
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
PPTX
OpenSouthCode 2018: Taller Xamarin
PPTX
DotNet 2019: Optimizando Apps con Xamarin.Forms
PPTX
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
PPTX
Extendiendo Xamarin.Forms
PPTX
WinObjC: Windows Bridge para iOS
PPTX
Introducción a Xamarin.Forms
PPTX
Xamarin REvolve 2016
PPTX
Desktop App Converter
PPTX
Reconnect(); Sevilla - Introducción a Xamarin 4
PPTX
10 razones para elegir WPF
PPTX
Ppt workshop ie9
PPTX
Xamarin Dev Days Madrid - Taller Xamarin
PPTX
Microsoft Tech Summit - Taller Xamarin
PPTX
Desarrollo para Microsoft Band con Xamarin
PPTX
Custom Renderers Made Simple
PPTX
.NET Day Guatemala
PPTX
Presentacion wpf
PPTX
patron de diseño MVVMo.pptx
PPTX
Introduccion a xamarin
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
OpenSouthCode 2018: Taller Xamarin
DotNet 2019: Optimizando Apps con Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Extendiendo Xamarin.Forms
WinObjC: Windows Bridge para iOS
Introducción a Xamarin.Forms
Xamarin REvolve 2016
Desktop App Converter
Reconnect(); Sevilla - Introducción a Xamarin 4
10 razones para elegir WPF
Ppt workshop ie9
Xamarin Dev Days Madrid - Taller Xamarin
Microsoft Tech Summit - Taller Xamarin
Desarrollo para Microsoft Band con Xamarin
Custom Renderers Made Simple
.NET Day Guatemala
Presentacion wpf
patron de diseño MVVMo.pptx
Introduccion a xamarin
Publicidad

Similar a Analizando interfaces de usuario avanzadas con Xamarin.Forms (20)

PPTX
primera aplicacion Xamarin.pptx
PPTX
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
PPTX
Codemotion 2017 - Taller Xamarin
PPTX
Semana Lambda - Fundamentos de Xamarin - Desarrollo de apps moviles multiplat...
PPTX
Introducción a Xamarin.Forms
PPTX
Intro to xamarin forms: converters, animations, behaviors and triggers
PPTX
Semanahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
PPTX
Xamarin forms en el mundo real
PPTX
Xamarin Dev Days Madrid - Xamarin.Forms
PDF
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
PPTX
Semana 02 Aplicacion Movil.pptx
PPTX
Desarrollando apps multi plataformas con xamarin forms
PPTX
Novedades de Xamarin 4
PDF
Getting started with xamarin forms
PPTX
Dev days 2 Xamarin Forms
PPTX
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
PPTX
Explorando los controles de Xamarin.Forms
PPTX
DotNet 2019 | Javier Suarez - Optimizando Apps con Xamarin Forms
PDF
Paginas, Diseño y Vistas - Xamarin.Forms
primera aplicacion Xamarin.pptx
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Codemotion 2017 - Taller Xamarin
Semana Lambda - Fundamentos de Xamarin - Desarrollo de apps moviles multiplat...
Introducción a Xamarin.Forms
Intro to xamarin forms: converters, animations, behaviors and triggers
Semanahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Xamarin forms en el mundo real
Xamarin Dev Days Madrid - Xamarin.Forms
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
Semana 02 Aplicacion Movil.pptx
Desarrollando apps multi plataformas con xamarin forms
Novedades de Xamarin 4
Getting started with xamarin forms
Dev days 2 Xamarin Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Explorando los controles de Xamarin.Forms
DotNet 2019 | Javier Suarez - Optimizando Apps con Xamarin Forms
Paginas, Diseño y Vistas - Xamarin.Forms
Publicidad

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

PPTX
Cape Town MS Developer User Group: Xamarin Community Toolkit
PPTX
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
PPTX
Crear interfaces de usuario atractivas con Xamarin.Forms
PPTX
#XamarinUIJuly Summary
PPTX
Novedades Xamarin 3.0 Preview
PPTX
Desarrollo Xamarin, más allá del desarrollo
PPTX
Introducción a Xamarin
PPTX
Aumento de productividad, herramientas Xamarin
PPTX
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
PPTX
Novedades Xamarin Connect(); 2017
PPTX
SVQXDG - Introducción a Embeddinator-4000
PPTX
dotNetMálaga 2017 - Taller Hololens con Wave Engine
PPTX
Embeddinator-4000
PPTX
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
PPTX
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
PPTX
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
Cape Town MS Developer User Group: Xamarin Community Toolkit
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Crear interfaces de usuario atractivas con Xamarin.Forms
#XamarinUIJuly Summary
Novedades Xamarin 3.0 Preview
Desarrollo Xamarin, más allá del desarrollo
Introducción a Xamarin
Aumento de productividad, herramientas Xamarin
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Novedades Xamarin Connect(); 2017
SVQXDG - Introducción a Embeddinator-4000
dotNetMálaga 2017 - Taller Hololens con Wave Engine
Embeddinator-4000
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Dev Days Madrid 2017 - Xamarin.Forms

Último (8)

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

Analizando interfaces de usuario avanzadas con Xamarin.Forms

Notas del editor

  • #17: https://github.com/airbnb/lottie https://github.com/martijn00/LottieXamarin
  • #42: Thanks to David Ortinau for this slides!