xamarin forms xaml + c#

Post on 06-Apr-2017

158 Views

Category:

Engineering

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Microsoft Students On Vacations

Xamarin Forms

El poder de construir aplicaciones en todas las plataformas.

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

¿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.

¿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.

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

MVVM

View

View Model

General Model-View-ViewModel (MVVM)

User Interface

App Logic

Model

Databinds

References

• Animaciones• UX

• Propiedades• Comandos• Lógica

• Datos• Entidades

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)

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

CrossPlatform

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

CrossPlatform

XAMARIN GENERA EXPERIENCIAS NATIVAS.

Native User Interfaces

Native API Access

Native Performance

Los usuarios demandan experiencias nativas

CrossPlatformUna buena inversión… Xamarin Forms

CrossPlatformXamarin vs Xamarin Forms

CrossPlatformUnificación

CrossPlatformUna buena inversión… Windows 10

CrossPlatformPages

CrossPlatformLayouts

CrossPlatformControls

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

CrossPlatformControles de terceros

Recomendaciones

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

Share Code: Portable Class LibrariesRecomendaciones

Shared ComponentsRecomendaciones

Shared ProjectsRecomendaciones

Linked FilesRecomendaciones

Linked Files

Compiler Directives

¿ Preguntas ?

Gracias.

@andreslon Andreslonblog.blogspot.com

/geeklon

¿ Preguntas ?Presentación

¿Qué es Xaml?

MVVM

Xamarin

Recomendaciones

Más…

@andreslon

top related