mobile development strategies with mvvm

Post on 19-Aug-2014

480 Views

Category:

Engineering

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Take an in-depth look at mobile development architecture patterns including MVC and MVVM. Explore what you get out of the box, and what you get with frameworks such as Bind, Mvvm Light, and MvvmCross. Code is all with C# and xamarin on android, ios, and windows phone

TRANSCRIPT

Data Bind Everything!

Mobile Development Strategies with MVVMJames MontemagnoDeveloper Evangelist, Xamarin Tweet: @JamesMontemagno, @XamarinHQ #Xamarinwww.MotzCod.es, www.Xamarin.com

“MVVM is awesome and will revolutionize your application

development process.”-James Montemagno

Let’s talk architecture(because that is fun)

Well First…. What is Xamarin?

Mobile Development Approaches

Single App

OR OR

Silo Approach

Write Once, Run Anywhere Approach

Lowest common denominator

App Generation

Write Once, Run Anywhere Approach

Lowest common denominator

App Generation

Xamarin’s Unique Approach

C# on 2.6 Billion Devices

100% API Coverage

Anything you can do in Objective-C or Java can be done in C# and Visual Studio with

Xamarin!

Xamarin.iOS does full Ahead Of Time (AOT) compilation to produce an ARM binary for Apple’s App Store.

Native Performance

Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device.

Code Sharing: Accelerate Development

Android

iOS

Mac

WP

For real, let’s talk architecture

Why do we use them?•Organize & Maintain Code•Abstract away all business logic

•Re-use a high percent of our code

•Make our views dumb!•Our architect told us to

What is MVC?

Model-View-Controller

Model

View Controller

Updates

Sees Uses

Manipulates

What is MVVM?

Model-View-ViewModel

ModelView ViewModel

How to display information

What to displayFlow of interaction

Business LogicData objects

Events

DataData

MVVM != Data Binding

MVVM Framework == Data Binding

Model-View-ViewModel

ModelView ViewModel

Magic Binding Framework Here

Live Coding Adventure 1

Microsoft World• Built into:

Windows PhoneWindows StoreWPF

• Does not:NavigationIoCFun Stuff

• Provides:Data BindingCommands

What about….

Enter Frank Krueger & Bind!• https://github.com/praeclarum/Bind

• Easy two-way data binding

Live Coding Adventure 2

How about even more?

== AWESOME

How about even more?

MvvmCross•Super MVVM framework for all•Data Binding•Commands•Navigation•IoC•Plugins•So Much More…

Live Coding Adventure 3

Xamarin Evolve 2013Sold

Out!

650Conference Attendees

8,400Live stream

hours viewed

#1Trending on Twitter

during keynote

Watch Sessions & Highlights: http://xamarin.com/evolve/2013

www.xamarin.com/evolve

• Sign up at xamarin.com/university• Learn to build native iOS, Android, and Windows

apps with C#.• Live online, interactive classes with live coding.• Labs with full source code solutions.• Access to Xamarin Certified Developer exam.• Unlimited Annual Access: Enjoy unlimited, live

mobile development training from mobile experts, on your schedule, and as often as you'd like.

Where Do I Start?Xamarin.com

GET YOUR C# SHIRT TODAY!

Find Me:@JamesMontemagnowww.MotzCod.esGitHub.com/JamesMontemagno

Xamarin:@XamarinHQwww.Xamarin.com

MvvmCrosshttp://mvvmcross.wordpress.comGitHub.com/MvvmCrossNuGet: MvvmCross

Latest AppMy StepCounter for Android & iOS

www.MyStepCounterApp.com100% Open Source Starter Compatible

top related