[bdotnet] cloud connected mobile apps

28
Architecting Cloud Connected Mobile Apps

Upload: nish-anil

Post on 16-Jul-2015

165 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: [Bdotnet] Cloud connected mobile apps

Architecting Cloud Connected Mobile Apps

Page 2: [Bdotnet] Cloud connected mobile apps

Nish Anil

Microsoft MVP .NET & a Xamarin Evangelist! @nishanil | [email protected]

Page 3: [Bdotnet] Cloud connected mobile apps

Mobile Apps• Target 3 platforms (iOS, Android, Windows Phone)

• Create Native User Interface (iOS != Android != Windows Phone)

• Provide Platform specific User Experience

• High Performance

• Scalable

Page 4: [Bdotnet] Cloud connected mobile apps

Xamarin

Page 5: [Bdotnet] Cloud connected mobile apps

Xamarin.Forms

Shared UI Code!

traditional ui code sharing with all native

Page 6: [Bdotnet] Cloud connected mobile apps

Code Sharing?

Page 7: [Bdotnet] Cloud connected mobile apps

Platform Divergence• Platforms differ, even in subtle ways

• File locations for DBs, etc.

• Some shared code needs to be platform-aware

• Devices differ widely, even within a platform

• Hardware Features: camera, compass, NFC

• Form Factor: Screen size, ratio, density

Page 8: [Bdotnet] Cloud connected mobile apps

So?

Page 9: [Bdotnet] Cloud connected mobile apps

X-Plat Architecture

Page 10: [Bdotnet] Cloud connected mobile apps

What’s a Pattern?

Page 11: [Bdotnet] Cloud connected mobile apps

Patterns Vocabulary• Singleton

• Façade (or Manager)

• Provider (also, Simple Dependency)

• Model View ViewModel (MVVM)

• Model View Controller (MVC)

Page 12: [Bdotnet] Cloud connected mobile apps

Singleton

Page 13: [Bdotnet] Cloud connected mobile apps

Facade´

Page 14: [Bdotnet] Cloud connected mobile apps

Provider

Page 15: [Bdotnet] Cloud connected mobile apps

MVC

Page 16: [Bdotnet] Cloud connected mobile apps

MVVM

Page 17: [Bdotnet] Cloud connected mobile apps

Project Structure

Page 18: [Bdotnet] Cloud connected mobile apps

Demo!

Page 19: [Bdotnet] Cloud connected mobile apps

       public  class  ExpenseItem          {                  [PrimaryKey,  AutoIncrement]                  public  int  ID  {  get;  set;  }                  public  string  Name  {  get;  set;  }                  public  double  Amount  {  get;  set;  }  

         }

Model

public  List<ExpenseItem>  Expenses

Page 20: [Bdotnet] Cloud connected mobile apps

Scale!

Page 21: [Bdotnet] Cloud connected mobile apps

Cloud Connected Apps

Azure

Parse

Page 22: [Bdotnet] Cloud connected mobile apps
Page 23: [Bdotnet] Cloud connected mobile apps
Page 24: [Bdotnet] Cloud connected mobile apps

Initialize

await a list of data

await inserting a new object

Page 25: [Bdotnet] Cloud connected mobile apps

Demo!

Page 26: [Bdotnet] Cloud connected mobile apps

http://xhackers.co/xhacknight/

Page 27: [Bdotnet] Cloud connected mobile apps

Questions?@nishanil | [email protected]

Page 28: [Bdotnet] Cloud connected mobile apps

Thanks!