we apps! - files.meetup.comfiles.meetup.com/16095872/dev days 3 - connected & disconnected...
TRANSCRIPT
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/1.jpg)
#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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/2.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/7.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/8.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/10.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/11.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/12.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/13.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/14.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/23.jpg)
![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](https://reader034.vdocuments.us/reader034/viewer/2022050718/5e180aa602d9290cee73a5ee/html5/thumbnails/24.jpg)