15

Building iOS and Android Apps with Mobile Services

Embed Size (px)

DESCRIPTION

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

Citation preview

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