Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cross-Platform Native User Interfaces with Xama...

Cross-Platform Native User Interfaces with Xamarin.Forms

Mauricio Contreras

December 06, 2016
Tweet

More Decks by Mauricio Contreras

Other Decks in Programming

Transcript

  1. Enfoque tradicional de Xamarin Con Xamarin.Forms: compartes más código, todo

    nativo ☺ iOS C# UI Windows C# UI Android C# UI Backend C# Compartido Código UI Compartido Backend C# Compartido
  2. ✓ 40+ Páginas, layouts, y controles (Constrúyelos desde code behind

    o con XAML) ✓ Two-way data binding ✓ Navegación ✓ API de animaciones ✓ Dependency Service ✓ Messaging Center Backend C# Compartido Código UI compartido
  3. ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map

    OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
  4. Windows Xamarin.Forms StackPanel StackLayout TextBox Entry ListBox ListView CheckBox Switch

    ProgressBar ActivityIndicator Grid Grid Label Label Button Button Image Image Date/TimePicker Date/TimePicker
  5. <?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>
  6. ✓ Mejora el rendimiento al hacer scrolling ✓ El comportamiento

    antiguo está por defecto (pero cambiará en un futuro cercano)
  7. ✓ Carga más rápido ✓ Disminuye el peso de la

    app ✓ Ver errores XAML en tiempo de compilación (build-time)
  8. ✓ Custom renderer “lite” ✓ Cambia propiedades en los controles

    nativos ✓ Opcional ✓ “stringly-typed” X Sin métodos o eventos X Sin reemplazar el control