Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Yeray Julián
jyeray@devsdna.com
4
The future of apps
@josueyeray
Make it fast, easy, and fun to
create great mobile apps.
Xamarin’s Mission
Traditional Xamarin
Approach
With Xamarin.Forms:
More code-sharing, all native
iOS C# UI Windows C# UIAndroid C# UI
Shared...
What’s new in Xamarin Platform?
Enhanced VS Integration Xamarin.Forms 2.0 iOS 9 & Android M Preview
Technologies
Xamarin.Forms 2.0
Ya estaba disponible en 1.4.3-pre1 en modo preview
Se desactivo en 1.4.3-pre3 por problemas de renderizado
Vuelve en 2.0 d...
Podemos establecer la compilación:
A nivel de ensamblado, para todas las páginas XAML:
A nivel de página:
XAMLC (Xaml Comp...
Soporte previo, no definitivo, para Windows 10 Universal Apps
Se inicializa como cualquier otra plataforma.
Usamos Xamarin...
Este gesto nos permite añadir funcionalidad de Zoom facilmente en nuestros
controles
Añadimos el PinchGestureRecognizer a ...
Ahora ListView tiene dos modos de funcionamiento:
RetainElement
RecycleElement
El modo tradicional es RetainElement, prese...
Se recomienda usar RecycleElement si:
El contexto de datos de cada celda define todas las propiedades de la
vista.
El tama...
Con Xamarin.Forms 2 se libera una nueva optimización de layout ”experimental”.
Impacta en los LayoutUpdates.
Para obtener ...
Efectos
Plantillas
Selector de plantillas
Más… Xamarin.Forms 2.1 pre
Nos permiten modificar la apariencia nativa de un control sin necesidad de crear
un CustomRender desde 0
Podemos crear efe...
Tenemos que crear los efectos en cada proyecto de plataforma.
Para que funcione, debemos marcar el ensamblado de cada plat...
Se introduce el concepto de plantillas para los controles.
Podemos cambiar el aspecto de un control, directamente en XAML ...
Se incluye por primera vez el selector de plantillas.
Podemos crear una clase que herede de la clase DataTemplateSelector ...
Están disponibles en GitHub:
http://www.github.com/josueyeray/xamarinforms2
Estos ejemplos…
Get Started Today
xamarin.com
Free 30 Day Trial - xamarin.com/university
Unrivaled Mobile
Development
Training
Live unlimited mobile development trainin...
evolve.xamarin.com
Thank You! Questions?
Yeray Julián
Tech lead & founder @
jyeray@devsdna.com Devsdna.com/blog @josueyeray
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
Arquitectura xamarin - Nuestra primera app
Next
Download to read offline and view in fullscreen.

4

Share

Download to read offline

Novedades Xamarin.Forms 2

Download to read offline

Segunda charla de la Xamarin4Party de Sevilla, en la que hablo de las novedades de Xamarin.Forms 2.0 y 2.1 pre
Las demos de todos los puntos se pueden descargar en:
http://www.github.com/josueyeray/xamarinforms2

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Novedades Xamarin.Forms 2

  1. 1. Yeray Julián jyeray@devsdna.com 4 The future of apps @josueyeray
  2. 2. Make it fast, easy, and fun to create great mobile apps. Xamarin’s Mission
  3. 3. Traditional Xamarin Approach With Xamarin.Forms: More code-sharing, all native iOS C# UI Windows C# UIAndroid C# UI Shared C# Backend Shared UI Code Shared C# Backend
  4. 4. What’s new in Xamarin Platform? Enhanced VS Integration Xamarin.Forms 2.0 iOS 9 & Android M Preview Technologies
  5. 5. Xamarin.Forms 2.0
  6. 6. Ya estaba disponible en 1.4.3-pre1 en modo preview Se desactivo en 1.4.3-pre3 por problemas de renderizado Vuelve en 2.0 de forma final En tiempo de compilación, se realiza el parsing del XAML y se crean archivos compilados Mejora del rendimiento de carga de las páginas Analisis del XAML a nivel sintáctico. Para depuración puede interferir, por lo que es mejor desactivarlo y usarlo solo en modo release XAMLC (Xaml Compilado)
  7. 7. Podemos establecer la compilación: A nivel de ensamblado, para todas las páginas XAML: A nivel de página: XAMLC (Xaml Compilado) [assembly: XamlCompilation (XamlCompilationOptions.Compile)] [XamlCompilation (XamlCompilationOptions.Compile)] public class MyCustomView : ContentView { ... }
  8. 8. Soporte previo, no definitivo, para Windows 10 Universal Apps Se inicializa como cualquier otra plataforma. Usamos Xamarin.Forms.Platform.UWP para obtener una clase base de página Problemas conocidos actualmente: Look/feel de algunos controles no es definitivo. Problemas y fallos en la navegación. Problemas de alineamiento de texto. Sin soporte para mapas. Existen problemas para cargar tipos usando .NET native tool chain para compilar nuestra app. Es usable, pero no está listo para poner en producción como app crítica, por el Soporte UWP (Windows 10) 10
  9. 9. Este gesto nos permite añadir funcionalidad de Zoom facilmente en nuestros controles Añadimos el PinchGestureRecognizer a la colección de reconocedores y manejamos el evento PinchUpdated Tres estados: Started, Running, Completed nos permiten adecuar nuestro código. Gesto Pinch <Image Source="waterfront.jpg"> <Image.GestureRecognizers> <PinchGestureRecognizer PinchUpdated="OnPinchUpdated" /> </Image.GestureRecognizers> </Image>
  10. 10. Ahora ListView tiene dos modos de funcionamiento: RetainElement RecycleElement El modo tradicional es RetainElement, presente en todas las versiones de Xamarin.Forms RecycleElement: solo funciona en iOS/Android. En Windows, aunque se especifique, se sigue usando el modo antiguo. Durante la virtualización, el contexto de cada celda se actualiza. Se realiza un inflate de cada DataTemplate por cada render nativo. Retain/Recycle en ListView
  11. 11. Se recomienda usar RecycleElement si: El contexto de datos de cada celda define todas las propiedades de la vista. El tamaño de la celda no cambia y su contenido es muy parecido. La celda tiene un bajo número de bindings. Se recomienda usar RetainElement si: Las celdas cambian frequentemente (tamaño, elementos…) Las celdas tienen muchos bindings (20 o más) Si al probar RecycleElement, baja el rendimiento. El futuro será RecycleElement y se tiende a hacer RetainElement obsoleto, pero no hasta que RecycleElement cubra todos los casos posibles. Retain/Recycle en ListView
  12. 12. Con Xamarin.Forms 2 se libera una nueva optimización de layout ”experimental”. Impacta en los LayoutUpdates. Para obtener el mejor resultado posible: Intentar no especificar VerticalOptions ni HorizontalOptions. Con StackLayout, solo tener un hijo como Expand. Evitar RelativeLayout siempre que se pueda. Evitar columnas y filas Auto en la Grid. En AbsoluteLayout evitar AutoSize si es posible. Siempre que se pueda, evitar usar wrapping multilinea en labels. Usar la opción NoWrap Optimización de layout
  13. 13. Efectos Plantillas Selector de plantillas Más… Xamarin.Forms 2.1 pre
  14. 14. Nos permiten modificar la apariencia nativa de un control sin necesidad de crear un CustomRender desde 0 Podemos crear efectos de sombras, bordes o lo que necesitemos. Ahora, todo elemento en Xamarin.Forms, contiene una colección de efectos que se le pueden aplicar. Por ejemplo, podemos añadir un borde facilmente a un elemento: Efectos public class BorderEffect : PlatformEffect { protected override void OnAttached () { Control.Layer.BorderColor = UIColor.Purple.CGColor; Control.Layer.BorderWidth = 2; } protected override void OnDetached () { Control.Layer.BorderWidth = 0; } }
  15. 15. Tenemos que crear los efectos en cada proyecto de plataforma. Para que funcione, debemos marcar el ensamblado de cada plataforma con dos atributos: Luego, para añadirlo al elemento en el proyecto compartido, usaremos la resolución de efectos que nos provee la clase Effect: Si no implementamos un efecto en alguna plataforma, Resolve devolverá un valor no nulo, por lo que no pasará nada. Efectos [assembly: ResolutionGroupName("DevsDNA")] [assembly: ExportEffect(typeof(FocusEffect), "FocusEffect")] entryText.Effects.Add(Effect.Resolve("DevsDNA.FocusEffect"));
  16. 16. Se introduce el concepto de plantillas para los controles. Podemos cambiar el aspecto de un control, directamente en XAML y para todas las plataformas. Para que funcione, el control tiene que soportar templating. En la versión actual se soporta para: ContentView – TemplateView ContentPage – TemplatePage Plantillas
  17. 17. Se incluye por primera vez el selector de plantillas. Podemos crear una clase que herede de la clase DataTemplateSelector y sobreescribir el método OnSelectTemplate para devolver la plantilla que queramos en cada momento. Como parámetro de OnSelectTemplate, recibimos cada elemento de la lista. Debemos devolver un DataTemplate Es importante que no creemos un nuevo DataTemplate por cada elemento, en su lugar, reusamos uno existente. Actualmente, no podemos usar más de 20 templates distintas en un ListView Selector de plantillas
  18. 18. Están disponibles en GitHub: http://www.github.com/josueyeray/xamarinforms2 Estos ejemplos…
  19. 19. Get Started Today xamarin.com
  20. 20. Free 30 Day Trial - xamarin.com/university Unrivaled Mobile Development Training Live unlimited mobile development training from mobile experts, in your time-zone, on your schedule, and as often as you'd like.
  21. 21. evolve.xamarin.com
  22. 22. Thank You! Questions? Yeray Julián Tech lead & founder @ jyeray@devsdna.com Devsdna.com/blog @josueyeray
  • PauloJorgeMorgado

    Jan. 29, 2016
  • powerirs

    Jan. 28, 2016
  • elbruno

    Jan. 28, 2016
  • SergioCM2010

    Jan. 27, 2016

Segunda charla de la Xamarin4Party de Sevilla, en la que hablo de las novedades de Xamarin.Forms 2.0 y 2.1 pre Las demos de todos los puntos se pueden descargar en: http://www.github.com/josueyeray/xamarinforms2

Views

Total views

980

On Slideshare

0

From embeds

0

Number of embeds

32

Actions

Downloads

10

Shares

0

Comments

0

Likes

4

×