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
prijz...
Building iOS and
Android Apps with
Mobile Services
Sasha Goldshtein
CTO, Sela Group
Microsoft C# MVP, Azure MRS, Azure Ins...
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 mob...
Platforms and Features
Platforms (client libraries)
• iOS
• Android
• Windows Phone
• Windows 8
• HTML/JavaScript
• PhoneG...
System Diagram
Microsoft Azure
SQL
Database
Node +
Express
backend
Apple Push
Notification
Service
Facebook
Auth
Provider
...
Data Query, iOS
MSTable *table = [client tableForName:@‛apartment‛];
NSPredicate *predicate =
[NSPredicate predicateWithFo...
Data Query, Android
MobileServiceTable<Apartment> table =
client.getTable(Apartment.class);
table.where().field(‚rented‛)....
Server Script
function delete(item, user, request) {
if (item.userId != user.userId) {
request.respond(
403,
‘You may only...
Authentication
[client loginWithProvider:@‛facebook‛
controller:self animated:YES
completion:^(MSUser *user, ...) { ... }
...
Demo
Building the “Rent a Home”
iOS and Android Apps
Questions?
Sasha Goldshtein
blog.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
prijz...
Building iOS and Android Apps with Mobile Services
Building iOS and Android Apps with Mobile Services
Upcoming SlideShare
Loading in …5
×

Building iOS and Android Apps with Mobile Services

1,392
-1

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,392
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Building iOS and Android Apps with Mobile Services

  1. 1. 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
  2. 2. Building iOS and Android Apps with Mobile Services Sasha Goldshtein CTO, Sela Group Microsoft C# MVP, Azure MRS, Azure Insider blog.sashag.net @goldshtn
  3. 3. Who are we? App developers What do we hate? Backends
  4. 4. Azure Mobile Services is a backend for your mobile apps … that has a free tier … and cloud scale … and support for all mobile platforms
  5. 5. Platforms and Features Platforms (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
  6. 6. System Diagram Microsoft Azure SQL Database Node + Express backend Apple Push Notification Service Facebook Auth Provider Server scripts Google Cloud Messaging Twitter Auth Provider Custo m API
  7. 7. Data Query, iOS MSTable *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‛]; } }];
  8. 8. Data Query, Android MobileServiceTable<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) ... } });
  9. 9. Server Script function delete(item, user, request) { if (item.userId != user.userId) { request.respond( 403, ‘You may only delete your own items’); } else { request.execute(); } }
  10. 10. Authentication [client loginWithProvider:@‛facebook‛ controller:self animated:YES completion:^(MSUser *user, ...) { ... } ]; client.login( MobileServiceAuthenticationProvider.Facebook, new UserAuthenticationCallback() { public void onCompleted(MobileServiceUser user, ...) { ... } } );
  11. 11. Demo Building the “Rent a Home” iOS and Android Apps
  12. 12. Questions? Sasha Goldshtein blog.sashag.net @goldshtn
  13. 13. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×