25
#XamarinDevDays

We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

#XamarinDevDays

Page 2: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android
Page 3: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

We Apps!

189Mdownloads

a day

200mins on

phone

127mins in

apps

Page 4: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

The average app user has 36 apps installed on his or her phone.

Page 5: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

Only 1/4 are used daily:

Page 6: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

1/4 of apps are never used!

Page 7: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android
Page 8: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android
Page 9: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

http://opensignal.com/coverage-maps

Page 10: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android
Page 11: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android
Page 12: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android
Page 13: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android
Page 14: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android
Page 15: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

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

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Mobile C# Server

Linux/Mono

CoreCLRAzure

Shared C# Client/Server

Page 16: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

REST A

PI

Offline sync

Facebook Twitter Microsoft Google Azure Active Directory

Azure Mobile Apps

WindowsAndroidChrome

iOS OSX

In-AppKindle

Backend code

SQL MongoTables O365 API Apps

Offline Sync

Page 17: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

Create a Mobile Service

MobileService = new MobileServiceClient(

"https://myapp.azurewebsites.net");

Page 18: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

Create TablesIMobileServiceSyncTable<Store> table;

public async Task Init()

{

const string path = "syncstore.db";

var db = new MobileServiceSQLiteStore(path);

db.DefineTable<Store>();

}

var handler = new MobileServiceSyncHandler();

await MobileService.SyncContext.InitializeAsync(db, h);

table = MobileService.GetSyncTable<Store>();

Page 19: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

Get and Modify Datapublic async Task<IEnumerable<Store>> GetStoresAsync()

{

await table.PullAsync("allStores", table.CreateQuery());

return await table.ToEnumerableAsync();

}

public async Task<Store> AddStoreAsync (Store store){

await table.InsertAsync (store);await table.PullAsync("allStores", table.CreateQuery());await MobileService.SyncContext.PushAsync();return store;

}

Page 20: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

Let’s add a backend

Page 21: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

So Much More

Page 22: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android

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

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Mobile C# Server

Linux/Mono

CoreCLRAzure

Shared C# Client/Server

Page 23: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android
Page 24: We Apps! - files.meetup.comfiles.meetup.com/16095872/Dev Days 3 - Connected & Disconnected Apps.pdf · Shared C# codebase •100% native API access •High performance iOS C# UI Android