Introducción a MvvmCross

  • 433 views
Uploaded on

Presentación sobre MvvmCross en Universidad de La Laguna con el grupo TenerifeDev.

Presentación sobre MvvmCross en Universidad de La Laguna con el grupo TenerifeDev.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
433
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. MvvmCrossJuan M GómezContractor Software Engineer
  • 2. ¿Quién soy? www.jmgomez.me geeks.ms/blogs/jmgomez @_jmgomez_
  • 3. El problema: Código de aplicación Maximizar la cantidad de código que podemos compartir Unificar nuestras aplicaciones bajo un patrón arquitectónico Desacoplar la vista lo máximo posible.
  • 4. ¿De dónde viene? Stuart Lodge @slodge http://slodge.blogspot.com.es/ https://github.com/slodge/MvvmCross Fork de MonoCross Algunas ideas de OpenNetCF
  • 5. MVVM El protagonista Bindings Commands
  • 6. Testing
  • 7. Views
  • 8. Windows Phone y Windows RT<TextBox x:Name="NameTask" Text="{Binding NewTaskText, Mode=TwoWay}"Width="300"></TextBox><Button Content="Add" Command="{Binding AddTaskCommand}" /><Button Content="Todas" Command="{Binding ShowAllTasksCommand}" />
  • 9. Android<EditTextandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:id="@+id/editText1"local:MvxBind="Text NewTaskText, Mode=TwoWay" /><Buttonandroid:text="Add"android:layout_width="fill_parent"android:layout_height="wrap_content"android:id="@+id/button1"local:MvxBind="Click AddTaskCommand" />
  • 10. iOSvar set = this.CreateBindingSet<TaskListView, TaskListViewModel>();set.Bind(TextFieldAdd).To(vm => vm.NewTaskText).TwoWay();set.Bind(ButtonAdd).To(vm => vm.AddTaskCommand);
  • 11. Navegación Abstracción de la navegación de cada plataforma Paso de parámetrosShowViewModel<TaskListViewModel>(new {idTask = 2});public void Init(int idTask){ }
  • 12. IoC: Inyección de dependencias Desacopla nuestras clases Facilita el Unit Testing
  • 13. Sistema de plugins Geolocalización Acceso a la cámara Mucho más
  • 14. Sample: Task Manager
  • 15. Preguntas
  • 16. ¡Gracias!