Building iOS and Android Apps with Mobile Services
-
Upload
sasha-goldshtein -
Category
Technology
-
view
1.279 -
download
7
description
Transcript of 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
Building iOS and Android Apps with Mobile ServicesSasha GoldshteinCTO, Sela GroupMicrosoft C# MVP, Azure MRS, Azure Insiderblog.sashag.net@goldshtn
Who are we?App developers
What do we hate?Backends
Azure Mobile Services is a backend for your mobile apps
… that has a free tier… and cloud scale… and support for all mobile platforms
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
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
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”]; }}];
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) ... }});
Server Scriptfunction delete(item, user, request) { if (item.userId != user.userId) { request.respond( 403, ‘You may only delete your own items’); } else { request.execute(); }}
Authentication[client loginWithProvider:@”facebook” controller:self animated:YES completion:^(MSUser *user, ...) { ... }];
client.login( MobileServiceAuthenticationProvider.Facebook, new UserAuthenticationCallback() { public void onCompleted(MobileServiceUser user, ...) { ... } });
DemoBuilding the “Rent a Home”iOS and Android Apps
Questions?Sasha Goldshteinblog.sashag.net@goldshtn
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