26
Microsoft Students On Vacations Xamarin Forms El poder de construir aplicaciones en todas las plataformas.

Xamarin forms Xaml + C#

Embed Size (px)

Citation preview

Page 1: Xamarin forms Xaml + C#

Microsoft Students On Vacations

Xamarin Forms

El poder de construir aplicaciones en todas las plataformas.

Page 2: Xamarin forms Xaml + C#

PresentaciónPresentación

¿Qué es Xaml?

MVVM

Xamarin

Recomendaciones

Más…

Xamarin Forms

Andrés LondoñoDesarrollador Senior Web y Móvil.Miembro Comunidad Avanet.Microsoft Student Partner ColombiaMicrosoft Influencer and Community Specialist.

@andreslon Andreslonblog.blogspot.com

/geeklon@andreslon

Page 3: Xamarin forms Xaml + C#

¿Qué es XAML? Antecedentes

Fue en el transcurso del año 2005 que Microsoft libera Windows Presentation Foundation (WPF) un proyecto anteriormente conocido como Avalon, el cual permitiría generar aplicaciones con una interfaz gráfica mucho más rica gracias a que contaba con un nuevo lenguaje declarativo nombrado XAML (Extended Application Markup Language) basado en XML.

Page 4: Xamarin forms Xaml + C#

¿Qué es XAML? Características

1.-  Los elementos declarados en la interfaz de usuario pueden ser referenciados en el code-behind. Esta característica es posible debido a que el archivo .xaml que escribimos es compilado como una clase parcial y traducido al lenguaje que corresponda dentro de nuestro proyecto (C# o BV como ejemplos).

2.- XAML cuenta con una capacidad conocía como atado de datos, la cual nos permitirá eliminar código excesivo y redundante.

Page 5: Xamarin forms Xaml + C#

MVVMEl patrón MVVM basado en MVC puede ser utilizado hoy en día en cualquier aplicación que involucre XAML

Page 6: Xamarin forms Xaml + C#

MVVM

View

View Model

General Model-View-ViewModel (MVVM)

User Interface

App Logic

Model

Databinds

References

• Animaciones• UX

• Propiedades• Comandos• Lógica

• Datos• Entidades

Page 7: Xamarin forms Xaml + C#

MVVMDatos dinámicos

INotifyPropertyChangedImplementado en view modelSe lanza ante cualquier cambio en una propiedad de una View Model

INotifyCollectionChangedImplementado en ObservableCollection<T> y ReadOnlyObservableCollection<T>Se lanza cuando la colección se modifica(también IObservableVector)

Page 8: Xamarin forms Xaml + C#

MVVMBindings compilados {x:Bind}: como {Binding} <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>• x:Bind esta fuertemente tipado

El context es la página o control de usuario

• Mode=OneTime es el modo por defecto

Page 9: Xamarin forms Xaml + C#

CrossPlatform

Page 10: Xamarin forms Xaml + C#

Mac OS X Android OS

Windows OS

• Xcode• Objetive-C• Swift

• iOS SDK• Apple Tools

En que plataforma desarrollar, no es la elección más importante.

• Eclipse or Android Studio• Java• Swift

• Android SDK• SDK Tools

• Visual Studio• C#• Vb.Net

• .Net Framework

• WTools

CrossPlatform

Page 11: Xamarin forms Xaml + C#

CrossPlatform

XAMARIN GENERA EXPERIENCIAS NATIVAS.

Native User Interfaces

Native API Access

Native Performance

Los usuarios demandan experiencias nativas

Page 12: Xamarin forms Xaml + C#

CrossPlatformUna buena inversión… Xamarin Forms

Page 13: Xamarin forms Xaml + C#

CrossPlatformXamarin vs Xamarin Forms

Page 14: Xamarin forms Xaml + C#

CrossPlatformUnificación

Page 15: Xamarin forms Xaml + C#

CrossPlatformUna buena inversión… Windows 10

Page 16: Xamarin forms Xaml + C#

CrossPlatformPages

Page 17: Xamarin forms Xaml + C#

CrossPlatformLayouts

Page 18: Xamarin forms Xaml + C#

CrossPlatformControls

Page 19: Xamarin forms Xaml + C#

CrossPlatformControlsEn cada plataforma hay un conjunto de Renderers que toman la abstracción y la convierten al control nativo. De tal manera que cuando nosotros usamos un control, por ejemplo digamos Entry (para recibir texto del usuario), estos Renderers lo convertirán en Android a un EditText, en iOS a un UITextView y en Windows a un TextBox

Page 20: Xamarin forms Xaml + C#

CrossPlatformControles de terceros

Page 21: Xamarin forms Xaml + C#

Recomendaciones

¿ Como maximizar el código crossplatform, usando C# ?

Page 22: Xamarin forms Xaml + C#

Share Code: Portable Class LibrariesRecomendaciones

Page 23: Xamarin forms Xaml + C#

Shared ComponentsRecomendaciones

Page 24: Xamarin forms Xaml + C#

Shared ProjectsRecomendaciones

Page 25: Xamarin forms Xaml + C#

Linked FilesRecomendaciones

Linked Files

Compiler Directives

Page 26: Xamarin forms Xaml + C#

¿ Preguntas ?

Gracias.

@andreslon Andreslonblog.blogspot.com

/geeklon

¿ Preguntas ?Presentación

¿Qué es Xaml?

MVVM

Xamarin

Recomendaciones

Más…

@andreslon