Building iOS and Android Apps with Mobile Services

15

description

Presentation from TechDays Netherlands 2014 on building iOS and Android apps with Azure Mobile Services.

Transcript of Building iOS and Android Apps with Mobile Services

Page 1: Building iOS and Android Apps with Mobile Services
Page 2: Building iOS and Android Apps with Mobile Services

Laat ons weten wat u vindt van deze sessie! Vul de evaluatie in via www.techdaysapp.nl en maak kans op een van de 20 prijzen*. Prijswinnaars worden bekend gemaakt via Twitter (#TechDaysNL). Gebruik hiervoor de code op uw badge.

Let us know how you feel about this session! Give your feedback via www.techdaysapp.nl and possibly win one of the 20 prizes*. Winners will be announced via Twitter (#TechDaysNL). Use your personal code on your badge.

* Over de uitslag kan niet worden gecorrespondeerd, prijzen zijn voorbeelden – All results are final, prizes are examples

Page 3: Building iOS and Android Apps with Mobile Services

Building iOS and Android Apps with Mobile ServicesSasha GoldshteinCTO, Sela GroupMicrosoft C# MVP, Azure MRS, Azure Insiderblog.sashag.net@goldshtn

Page 4: Building iOS and Android Apps with Mobile Services

Who are we?App developers

What do we hate?Backends

Page 5: Building iOS and Android Apps with Mobile Services

Azure Mobile Services is a backend for your mobile apps

… that has a free tier… and cloud scale… and support for all mobile platforms

Page 6: Building iOS and Android Apps with Mobile Services

Platforms and FeaturesPlatforms (client libraries)• iOS• Android•Windows Phone•Windows 8• HTML/JavaScript• PhoneGap• Xamarin

Features• Data and queries• Push notifications• Authentication• Server-side scripts• Custom API• Offline sync• Mass push• Git integration

Page 7: Building iOS and Android Apps with Mobile Services

System Diagram

Microsoft Azure

SQL Databas

e

Node + Express backend

Apple Push Notification

Service

Facebook Auth

ProviderServer scripts

Google Cloud

Messaging

Twitter Auth

Provider

Custom API

Page 8: Building iOS and Android Apps with Mobile Services

Data Query, iOSMSTable *table = [client tableForName:@”apartment”];NSPredicate *predicate = [NSPredicate predicateWithFormat:@”rented == NO”];[table readWithPredicate:predicate completion:^(NSArray *items, NSInteger count, NSError* error) { for (NSDictionary *apartment in items) { NSLog(@”%@ %d”, apartment[@”address”], apartment[@”bedrooms”]; }}];

Page 9: Building iOS and Android Apps with Mobile Services

Data Query, AndroidMobileServiceTable<Apartment> table = client.getTable(Apartment.class);table.where().field(“rented”).eq(false) .execute(new TableQueryCallback<Apartment>() { public void onCompleted(List<Apartment> items, int count, Exception e, ServiceFilterResponse response) { if (e != null) for (Apartment apt : items) ... }});

Page 10: Building iOS and Android Apps with Mobile Services

Server Scriptfunction delete(item, user, request) { if (item.userId != user.userId) { request.respond( 403, ‘You may only delete your own items’); } else { request.execute(); }}

Page 11: Building iOS and Android Apps with Mobile Services

Authentication[client loginWithProvider:@”facebook” controller:self animated:YES completion:^(MSUser *user, ...) { ... }];

client.login( MobileServiceAuthenticationProvider.Facebook, new UserAuthenticationCallback() { public void onCompleted(MobileServiceUser user, ...) { ... } });

Page 12: Building iOS and Android Apps with Mobile Services

DemoBuilding the “Rent a Home”iOS and Android Apps

Page 13: Building iOS and Android Apps with Mobile Services

Questions?Sasha Goldshteinblog.sashag.net@goldshtn

Page 14: Building iOS and Android Apps with Mobile Services

Laat ons weten wat u vindt van deze sessie! Vul de evaluatie in via www.techdaysapp.nl en maak kans op een van de 20 prijzen*. Prijswinnaars worden bekend gemaakt via Twitter (#TechDaysNL). Gebruik hiervoor de code op uw badge.

Let us know how you feel about this session! Give your feedback via www.techdaysapp.nl and possibly win one of the 20 prizes*. Winners will be announced via Twitter (#TechDaysNL). Use your personal code on your badge.

* Over de uitslag kan niet worden gecorrespondeerd, prijzen zijn voorbeelden – All results are final, prizes are examples

Page 15: Building iOS and Android Apps with Mobile Services