xamarin forms xaml + c#
Post on 06-Apr-2017
158 Views
Preview:
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