aumentando reaproveitamento de código com mvvmcross

20
www.lambda3.com. br Aumentando reaproveitamento de código no Xamarin com MvvmCross Mahmoud Ali – Desenvolvedor @akamud

Upload: akamud

Post on 08-Jan-2017

335 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Aumentando reaproveitamento de código com MvvmCross

w w w. l a m b d a 3 . c o m .b r

Aumentando reaproveitamento de código no Xamarin com MvvmCross

Mahmoud Ali – Desenvolvedor@akamud

Page 2: Aumentando reaproveitamento de código com MvvmCross

Xamarin’s Unique Approach

Shared C# codebase • 100% native API access • High performance

iOS C# UI

Windows C# UIAndroid C# UI

Shared C# Mobile

Page 3: Aumentando reaproveitamento de código com MvvmCross

Windows APIs

Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

Page 4: Aumentando reaproveitamento de código com MvvmCross

iOS – 100% API Coverage

MapKit UIKit iBeacon CoreGraphics CoreMotion

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

Page 5: Aumentando reaproveitamento de código com MvvmCross

Android – 100% API Coverage

Text-to-speech ActionBar Printing Framework Renderscript NFC

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

Page 6: Aumentando reaproveitamento de código com MvvmCross

Native Performance

• Xamarin.iOS faz compilação Ahead of Time (AOT) em todo o código para produzir um binário ARM para a App Store da Apple.

• Xamarin.Android se aproveita dos benefícios da compilação Just In Time (JIT) no Android.

Page 7: Aumentando reaproveitamento de código com MvvmCross

Tudo que você consegue fazer com Objective-C, Swift, ou Javapode ser feito em C# e Visual Studio com Xamarin

Page 8: Aumentando reaproveitamento de código com MvvmCross

C# Backend Compartilhado

Page 9: Aumentando reaproveitamento de código com MvvmCross

PlatformSpecific Code

UI+APIs UI + APIsUI + APIs

BatteryGPSLightsNotificationsSettingsText To Speech

BatteryGPSLightsNotificationsSettingsText To Speech

BatteryGPSLightsNotificationsSettingsText To Speech

Page 10: Aumentando reaproveitamento de código com MvvmCross

Dem

oAplicativo Xamarin

Page 11: Aumentando reaproveitamento de código com MvvmCross

Padrão Mvvm

Page 12: Aumentando reaproveitamento de código com MvvmCross

Mvvm no Xamarin

Page 13: Aumentando reaproveitamento de código com MvvmCross

MvvmCross• Cross-platform• Suporte para todas as grandes plataformas (iOS, Android, UWP, etc.)• Open Source• Comunidade forte• “Convention over configuration”• Usado pos grandes empresas: Microsoft, Xamarin, Nokia, Olo

Page 14: Aumentando reaproveitamento de código com MvvmCross

Plataformas suportadas• iOS• Android• UWP• tvOS• Google Wear• Mac• iWatchE mais...

Page 15: Aumentando reaproveitamento de código com MvvmCross

Recursos• Arquitetura flexível• PCL• Inversão de Controle• Injeção de dependência• Bindings• Converters• Testável• Plugins

Page 16: Aumentando reaproveitamento de código com MvvmCross

Padrão Mvvm para Xamarin• Binding One-way e Two-way• Amarração das Views com ViewModels por convenção• FirstView <-> FirstViewModel

• Navegação entre telas automaticamente feita pela ViewModel• ShowViewModel<ViewModelType>()• Close()• Funciona com parâmetros!

Page 17: Aumentando reaproveitamento de código com MvvmCross

Plugins• Accelerometer• DownloadCache• Email• File• Localization• Location• SQLite

https://github.com/MvvmCross/MvvmCross-Plugins

Page 18: Aumentando reaproveitamento de código com MvvmCross

Dem

oMvvmCrossMenos código repetido

Page 20: Aumentando reaproveitamento de código com MvvmCross

w w w. l a m b d a 3 . c o m .b r

Dúvidas?

@[email protected]