27
Xamarin.For ms en el mundo real Yeray Julián Founder & Tech Leader @ DevsDNA [email protected] @josueyeray @devsdna

Xamarin forms en el mundo real

Embed Size (px)

Citation preview

Page 1: Xamarin forms en el mundo real

Xamarin.Forms en el mundo

realYeray JuliánFounder & Tech Leader @ DevsDNA

[email protected]@josueyeray@devsdna

Page 2: Xamarin forms en el mundo real

Xamarin Forms es un Framework que nos permite crear apps nativas para iOS, Android y Windows desde Visual Studio y con C#

¿Por que es distinto al resto de frameworks?

¿Que es Xamarin Forms?

Page 3: Xamarin forms en el mundo real

V1.5 estableAndroid 4.0+iOS 6.0+Windows Phone 8

SilverlightWindows Phone 8.1 WinRTWindows 8.1 WinRT

¿Que es Xamarin Forms?

Page 4: Xamarin forms en el mundo real

Private beta (vNext)Android 4.0+iOS 6.0+Windows Phone 8 SilverlightWindows Phone 8.1 WinRTWindows 8.1 WinRTWindows 10 UWP

¿Que es Xamarin Forms?

Page 5: Xamarin forms en el mundo real

Enfoque actual para el desarrollo de apps móviles nativas

Page 6: Xamarin forms en el mundo real

Objective-CSwift

JavaC++

C#C++

REPETIR EL TRABAJO

Page 7: Xamarin forms en el mundo real

XAMARIN

Compartir código......pero sin abandonar las

peculiaridades

Page 8: Xamarin forms en el mundo real

XAMARIN CLASSIC

Page 9: Xamarin forms en el mundo real

XAMARIN FORMS

Shared UI Code C#/XAML

Page 10: Xamarin forms en el mundo real

Stack Absolute Relative Grid ContentView ScrollView Frame

Layouts

Page 11: Xamarin forms en el mundo real

Controles

ActivityIndicator BoxView Button DatePicker Editor

Entry Image Label ListView Map

OpenGLView Picker ProgressBar SearchBar Slider

Stepper TableView TimePicker WebView EntryCell

ImageCell SwitchCell TextCell ViewCell

Page 12: Xamarin forms en el mundo real

Ejemplo, DatePicker

Page 13: Xamarin forms en el mundo real

¿Como funciona Xamarin.Forms?

Shared View XAML/C#

Real time rendering engine

Shared Logic C#

Page 14: Xamarin forms en el mundo real

Xamarin Inspector

Page 15: Xamarin forms en el mundo real

¿Dónde usar Xamarin Forms?

Page 16: Xamarin forms en el mundo real

¿La función principal de tu aplicación es la entrada de datos?

¿Estas construyendo un prototipo o una prueba de concepto?

¿La reutilización de código es mas importante que el diseño al pixel o el rendimiento?

Diseño que se aparta del standardMuy personalizadoGuias de diseño muy estrictasRendimiento muy ajustado

NO

NO

NO

Xamarin Forms

Xamarin Classics

¿Dónde usar Xamarin Forms?

Page 17: Xamarin forms en el mundo real

¿Donde no usar Xamarin.Forms?

Foto: Santiago Porras tras un día de desarrollo con Xamarin.Forms

Page 18: Xamarin forms en el mundo real

Donde no usar Xamarin.Forms

No es una bala de plata.Interfaz muy compleja = Custom RendersXAML interpretado en runtimeControles limitados en funcionalidad (maps)

Xforms tiene sentido si nos ahorramos trabajoCustom Renders, Behaviors, Custom controls hacen que pierda su efectividad

Page 19: Xamarin forms en el mundo real

Donde no usar Xamarin.Forms¿Necesitas modificar la apariencia de los controles?¿Necesitas usar degradados muy a menudo?¿Necesitas poder atacar a los controles de forma nativa?¿Quieres incluir muchas animaciones en tu UI?¿El rendimiento es una preocupación?¿Tu TTM es menos importante que la exactitud gráfica?

Si la respuesta a estas preguntas es SI, no uses Xamarin.Forms

Page 20: Xamarin forms en el mundo real

Ejemplo real – MyEncamina

Page 21: Xamarin forms en el mundo real

Ejemplo real – Usando Xamarin.FormsApp interna de control de incidenciasiOS/AndroidMantenimiento rápidoPoco evolutivo funcional

Page 22: Xamarin forms en el mundo real

Ejemplo real – Usando Xamarin.Forms

Page 23: Xamarin forms en el mundo real

Ejemplo real – Usando Xamarin.Forms

Page 24: Xamarin forms en el mundo real

Ejemplo real – Usando Xamarin.Forms <ListView x:Name="userListView"

ItemsSource="{Binding FilteredUserList}" SelectedItem="{Binding SelectedUser,Mode=TwoWay}" SeparatorColor="Black" Grid.Row="1"> <ListView.ItemTemplate> <DataTemplate> <ViewCell> <StackLayout Orientation="Horizontal" HorizontalOptions="StartAndExpand"> <Label x:Name="labelCellFirstName“ Text="{Binding FirstName}"></Label> <Label x:Name="labelCellLastName“ Text="{Binding LastName}"></Label> <Image VerticalOptions="Center“ Source="Edit.png"/> </StackLayout> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView>

Page 25: Xamarin forms en el mundo real

Ejemplo real – No usando Xamarin.FormsApp pública de video sharingiOS, Android, WindowsBranding muy potente en todas las plataformasControles muy personalizadosCasi nada tiene apariencia por defectoMantenimiento muy planificadoGran evolutivo funcional

Page 26: Xamarin forms en el mundo real

Ejemplo real – No usando Xamarin.Forms

Page 27: Xamarin forms en el mundo real

Muchas gracias por asistir.

¿preguntas?Yeray JuliánFounder & Tech Leader @ DevsDNA

[email protected]@josueyeray@devsdna