Dev days 2 Xamarin Forms

Post on 21-Jan-2018

64 views 0 download

transcript

Enfoque tradicional Xamarin Con Xamarin.Forms

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Backend

Shared UI Code

Shared C# Backend

✓ 40+ Pages, layouts, y controles

(desde code behind o XAML)

✓ Two-way data binding

✓ Navegación

✓ Animation API

✓ DependencyService

✓ MessagingCenter

Shared C# Backend

Shared UI Code

Layouts

Pages

Stack Absolute Relative Grid ContentView ScrollView Frame

Content MasterDetail Navigation Tabbed Carousel

ActivityIndicator BoxView Button DatePicker Editor

Entry Image Label ListView Map

OpenGLView Picker ProgressBar SearchBar Slider

Stepper TableView TimePicker WebView EntryCell

ImageCell SwitchCell TextCell ViewCell

Permite la extensión de controles visuales añadiendo la

funcionalidad inexistente.

Se debe realizar cada extensión especifica por cada

plataforma, con lo cual, se trabaja con código nativo

Puedes reutilizar controles existentes de Xamarin Forms

para no empezar desde 0.

Xamarin.Forms Ecosystem

Nos abstraemos de la plataforma nativa para la

navegación

Navegación de pila como cualquier aplicación móvil

Abstraídos también de la plataforma

Todos los gestos “normales” dentro de una app móvil (Tap, Pinch,

Pan)

Se puede incluir dentro del XAML

Puedes crear tus propios contenedores de gestos.

Integrado nativamente en Xamarin Forms

Dependency Service propio

<?xml version="1.0" encoding="UTF-8"?>

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"x:Class="MyApp.MainPage">

<TabbedPage.Children>

<ContentPage Title="Profile" Icon="Profile.png">

<StackLayout Spacing="20" Padding="20"

VerticalOptions="Center">

<Entry Placeholder="Username"

Text="{Binding Username}"/>

<Entry Placeholder="Password"

Text="{Binding Password}"

IsPassword="true"/>

<Button Text="Login" TextColor="White"

BackgroundColor="#77D065"

Command="{Binding LoginCommand}"/>

</StackLayout>

</ContentPage>

<ContentPage Title="Settings" Icon="Settings.png">

<!-- Settings -->

</ContentPage>

</TabbedPage.Children>

</TabbedPage>

macOS Preview

Mejoras en GestureRecognizers

Android Support Libraries

PlatformSpecifics

Fast Scroll

NavigationPage Translucency

Blur Behind

Partial Collapse MasterPage

Native Control Binding

Map Extensibility

Fast Renderers Preview

Startup Time

ListView Scrolling

Memory Improvements

XAMLC

Bindable Picker

Frame Corners

Tizen

Forms Previewer

FlexLayout Preview

Xamarin.Forms Embedding

DataPages

Source: Matthew Robbins - MFractor

¿Preguntas?

Marco Antonio

Blanco

@marcoablanco