0
ROME 11-12 april 2014ROME 11-12 april 2014
Backend as a Service: Parse
maurizio.moriconi@mobilesoft.it
Maurizio Moriconi
ROME 11-12 april 2014 - Maurizio Moriconi
Maurizio Moriconi
2
• CTO @ Mobilesoft
• Mobile Developer
• Co-founder
• Main De...
ROME 11-12 april 2014 - Maurizio Moriconi
Develop an app
Push Notification
Analytics
User management
Social integration
Sh...
ROME 11-12 april 2014 - Maurizio Moriconi
Challenges
!
• Time
• Skill
• Scalability
• Cost
4
ROME 11-12 april 2014 - Maurizio Moriconi
Backend as a Service (Baas)
• MBaaS (mobile backend as a service)
!
• Link appli...
ROME 11-12 april 2014 - Maurizio Moriconi
Baas Service
• Custom objects
• model, relationships and store/retrieve from cen...
ROME 11-12 april 2014 - Maurizio Moriconi
Some examples
7
ROME 11-12 april 2014 - Maurizio Moriconi
8
ROME 11-12 april 2014 - Maurizio Moriconi
One backend to rule them all
9
ROME 11-12 april 2014 - Maurizio Moriconi
Parse pricing
10
BASIC PRO ENTERPRISE
free $199 per month ask
Requests

1 Millio...
ROME 11-12 april 2014 - Maurizio Moriconi
11
Parse Services
ROME 11-12 april 2014 - Maurizio Moriconi
Parse Core
!
• Parse Dashboard
• Save data in the cloud
• Make your app social
•...
ROME 11-12 april 2014 - Maurizio Moriconi
Parse Push
!
• Push for:
• iOS, Android, Windows, Windows Phone
• Send notificat...
ROME 11-12 april 2014 - Maurizio Moriconi
Parse Analytics
• Measure App usage
• Optimize Push Campaign
• Track Custom Anal...
ROME 11-12 april 2014 - Maurizio Moriconi
Let’s start!
15
ROME 11-12 april 2014 - Maurizio Moriconi
1 - Sign up for Parse
16
ROME 11-12 april 2014 - Maurizio Moriconi
2 - Create your first app
17
ROME 11-12 april 2014 - Maurizio Moriconi
3 - Dashboard
18
ROME 11-12 april 2014 - Maurizio Moriconi
Setup SDK on iOS
• Download SDK
• Latest version 1.2.18
• Support Xcode (5.0+) i...
ROME 11-12 april 2014 - Maurizio Moriconi
Connect you app to Parse
20
ROME 11-12 april 2014 - Maurizio Moriconi
Data Browser
21
ROME 11-12 april 2014 - Maurizio Moriconi
Parse Object
• Contains key-valued pairs of JSON-compatible
data
• This data is ...
ROME 11-12 april 2014 - Maurizio Moriconi
Save an object
23
Auto generate Class!!!
ROME 11-12 april 2014 - Maurizio Moriconi
Save an object
24
ROME 11-12 april 2014 - Maurizio Moriconi
Special Class Name
• User
• for authentication, log in, sign up and more
• Insta...
ROME 11-12 april 2014 - Maurizio Moriconi
Data Types
26
ROME 11-12 april 2014 - Maurizio Moriconi
Some features
!
Saving objects offline
!
!
!
!
!
Relational Data
27
ROME 11-12 april 2014 - Maurizio Moriconi
Some features
28
!
!
!
!
!
!
Queries
!
!
!
!
!
ROME 11-12 april 2014 - Maurizio Moriconi
User
• specialized user class called PFUser in iOS
• several properties
• userna...
ROME 11-12 april 2014 - Maurizio Moriconi
Signing up
30
ROME 11-12 april 2014 - Maurizio Moriconi
Loggin in
31
ROME 11-12 april 2014 - Maurizio Moriconi
PFLogInViewController
• Manage Login via
PFLogInViewControllerDelegate
!
- (BOOL...
ROME 11-12 april 2014 - Maurizio Moriconi
PFSignUpViewController
33
• Manage Sign up via
PFSignUpViewControllerDelegate
!
...
ROME 11-12 april 2014 - Maurizio Moriconi
Facebook / Twitter integration
34
ROME 11-12 april 2014 - Maurizio Moriconi
Facebook
• Setup FB application on developer.facebook.com
• Add App ID and App S...
ROME 11-12 april 2014 - Maurizio Moriconi
Facebook
// Create the log in view controller
PFLogInViewController *logInViewCo...
ROME 11-12 april 2014 - Maurizio Moriconi
User
37
ROME 11-12 april 2014 - Maurizio Moriconi
Facebook / Twitter integration
• Login
• Sign up
• Linking existing PFUser to Tw...
ROME 11-12 april 2014 - Maurizio Moriconi
• A bit of logic that running in the Cloud
• Javascript SDK (same for apps)
• Yo...
ROME 11-12 april 2014 - Maurizio Moriconi
Cloud Code
curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sud...
ROME 11-12 april 2014 - Maurizio Moriconi
Cloud Code
41
$ parse deploy
• Deploy
• Run function on iOS
[PFCloud callFunctio...
ROME 11-12 april 2014 - Maurizio Moriconi
Cloud Code
42
ROME 11-12 april 2014 - Maurizio Moriconi
Web hosting
43
/public
index.html
Cloud Parse PRJ
ROME 11-12 april 2014 - Maurizio Moriconi
and now?
44
Parse Analytics
File storage
Push notifications Data relations
Users...
ROME 11-12 april 2014 - Maurizio Moriconi
Thank You!
45
Backend as a Service:
Upcoming SlideShare
Loading in...5
×

Backend as a Service: Parse

680

Published on

Sviluppare la parte server di un'applicazione mobile in maniera veloce e semplice attraverso uno dei servizi BaaS più popolari: Parse. Acquisito da Facebook lo scorso anno, supporta le maggiori piattaforme mobili offrendo i servizi di: - gestione utenti (login, registrazione) - gestione social (facebook, twitter) - push notification (iOS, Android, Windows 8, Windows Phone) - persistenza dei dati - file storage Il talk vuole presentare il servizio con un esempio completo di utilizzo in ambiente iOS.

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

No Downloads
Views
Total Views
680
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Backend as a Service: Parse"

  1. 1. ROME 11-12 april 2014ROME 11-12 april 2014 Backend as a Service: Parse maurizio.moriconi@mobilesoft.it Maurizio Moriconi
  2. 2. ROME 11-12 april 2014 - Maurizio Moriconi Maurizio Moriconi 2 • CTO @ Mobilesoft • Mobile Developer • Co-founder • Main Developer http://www.facebook.com/maurizio.moriconi http://www.linkedin.com/in/bugman @bugman79 - Maurizio Moriconi
  3. 3. ROME 11-12 april 2014 - Maurizio Moriconi Develop an app Push Notification Analytics User management Social integration Shared data Web Hosting Database hosting 3
  4. 4. ROME 11-12 april 2014 - Maurizio Moriconi Challenges ! • Time • Skill • Scalability • Cost 4
  5. 5. ROME 11-12 april 2014 - Maurizio Moriconi Backend as a Service (Baas) • MBaaS (mobile backend as a service) ! • Link application to backend cloud storage • Custom software development kit (SDK) • Custom application programming interfaces (APIs) ! Global Market • $216.5 million in 2012 • $7.7 billion by 2017 5
  6. 6. ROME 11-12 april 2014 - Maurizio Moriconi Baas Service • Custom objects • model, relationships and store/retrieve from central databases • File storage • images, large documents, association with a custom object • Geolocation • query object near a certain location • Users • creation, integration with Facebook/Twitter, ACL for objects • Push notifications • single way to push many platforms 6
  7. 7. ROME 11-12 april 2014 - Maurizio Moriconi Some examples 7
  8. 8. ROME 11-12 april 2014 - Maurizio Moriconi 8
  9. 9. ROME 11-12 april 2014 - Maurizio Moriconi One backend to rule them all 9
  10. 10. ROME 11-12 april 2014 - Maurizio Moriconi Parse pricing 10 BASIC PRO ENTERPRISE free $199 per month ask Requests
 1 Million/month Requests
 15 Million/month Custom Pushes
 1 Million/month Pushes
 5 Million/month Custom File Storage
 1 GB File Storage
 10 GB Custom App open metrics 1 concurrent background jobs ! 2 App collaborator
 Advanced Push Targeting
 Push Scheduling
 … Phone support
 Enterprise SLA Individual Push opens metrics
 …
  11. 11. ROME 11-12 april 2014 - Maurizio Moriconi 11 Parse Services
  12. 12. ROME 11-12 april 2014 - Maurizio Moriconi Parse Core ! • Parse Dashboard • Save data in the cloud • Make your app social • Run custom app code in the Parse Cloud • Background jobs 12
  13. 13. ROME 11-12 april 2014 - Maurizio Moriconi Parse Push ! • Push for: • iOS, Android, Windows, Windows Phone • Send notification via: • web console, REST API, client SDKs !!! • Advanced targeting (PRO, ENTERPRISE) • Advanced scheduling (PRO, ENTERPRISE) ! ! 13
  14. 14. ROME 11-12 april 2014 - Maurizio Moriconi Parse Analytics • Measure App usage • Optimize Push Campaign • Track Custom Analytics • Powerful Dashboard 14
  15. 15. ROME 11-12 april 2014 - Maurizio Moriconi Let’s start! 15
  16. 16. ROME 11-12 april 2014 - Maurizio Moriconi 1 - Sign up for Parse 16
  17. 17. ROME 11-12 april 2014 - Maurizio Moriconi 2 - Create your first app 17
  18. 18. ROME 11-12 april 2014 - Maurizio Moriconi 3 - Dashboard 18
  19. 19. ROME 11-12 april 2014 - Maurizio Moriconi Setup SDK on iOS • Download SDK • Latest version 1.2.18 • Support Xcode (5.0+) iOS 5.0 or higher 19
  20. 20. ROME 11-12 april 2014 - Maurizio Moriconi Connect you app to Parse 20
  21. 21. ROME 11-12 april 2014 - Maurizio Moriconi Data Browser 21
  22. 22. ROME 11-12 april 2014 - Maurizio Moriconi Parse Object • Contains key-valued pairs of JSON-compatible data • This data is schema-less • Each Parse Object has a class name ! PFObject in iOS • ParseObject in Android/Windows 22
  23. 23. ROME 11-12 april 2014 - Maurizio Moriconi Save an object 23 Auto generate Class!!!
  24. 24. ROME 11-12 april 2014 - Maurizio Moriconi Save an object 24
  25. 25. ROME 11-12 april 2014 - Maurizio Moriconi Special Class Name • User • for authentication, log in, sign up and more • Installation • store push notification subscriptions for each device • Role • to specify groups of users with shared permissions • Product • stores your in-app product data 25
  26. 26. ROME 11-12 april 2014 - Maurizio Moriconi Data Types 26
  27. 27. ROME 11-12 april 2014 - Maurizio Moriconi Some features ! Saving objects offline ! ! ! ! ! Relational Data 27
  28. 28. ROME 11-12 april 2014 - Maurizio Moriconi Some features 28 ! ! ! ! ! ! Queries ! ! ! ! !
  29. 29. ROME 11-12 april 2014 - Maurizio Moriconi User • specialized user class called PFUser in iOS • several properties • username (required) • password (required on signup) • email (optional) • basic functionality: • sign up • login • email verification 29
  30. 30. ROME 11-12 april 2014 - Maurizio Moriconi Signing up 30
  31. 31. ROME 11-12 april 2014 - Maurizio Moriconi Loggin in 31
  32. 32. ROME 11-12 april 2014 - Maurizio Moriconi PFLogInViewController • Manage Login via PFLogInViewControllerDelegate ! - (BOOL)logInViewController:(PFLogInViewController *)logInController shouldBeginLogInWithUsername: (NSString *)username password:(NSString *)password; ! - (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user; ! - (void)logInViewController:(PFLogInViewController *)logInController didFailToLogInWithError:(NSError *)error; ! - (void)logInViewControllerDidCancelLogIn: (PFLogInViewController *)logInController; 32
  33. 33. ROME 11-12 april 2014 - Maurizio Moriconi PFSignUpViewController 33 • Manage Sign up via PFSignUpViewControllerDelegate ! - (BOOL)signUpViewController: (PFSignUpViewController *)signUpController shouldBeginSignUp:(NSDictionary *)info; ! - (void)signUpViewController: (PFSignUpViewController *)signUpController didSignUpUser:(PFUser *)user; ! - (void)signUpViewController: (PFSignUpViewController *)signUpController didFailToSignUpWithError:(NSError *)error; ! - (void)signUpViewControllerDidCancelSignUp: (PFSignUpViewController *)signUpController;
  34. 34. ROME 11-12 april 2014 - Maurizio Moriconi Facebook / Twitter integration 34
  35. 35. ROME 11-12 april 2014 - Maurizio Moriconi Facebook • Setup FB application on developer.facebook.com • Add App ID and App Secret on Parse settings • Setup application follow https://developers.facebook.com/docs/ios/getting- started • Adding this line on application:didFinishLaunchingWithOptions ! • Add also:
 35
  36. 36. ROME 11-12 april 2014 - Maurizio Moriconi Facebook // Create the log in view controller PFLogInViewController *logInViewController = [[PFLogInViewController alloc] init]; [logInViewController setFacebookPermissions:[NSArray arrayWithObjects:@"friends_about_me", nil]]; ! [logInViewController setFields: PFLogInFieldsTwitter | PFLogInFieldsFacebook | PFLogInFieldsDismissButton]; 36
  37. 37. ROME 11-12 april 2014 - Maurizio Moriconi User 37
  38. 38. ROME 11-12 april 2014 - Maurizio Moriconi Facebook / Twitter integration • Login • Sign up • Linking existing PFUser to Twitter/Facebook • Unlinking existing PFUser to Twitter/Facebook • After authentication is possible to use: • Query Graph on Facebook • Twitter API on Twitter 38
  39. 39. ROME 11-12 april 2014 - Maurizio Moriconi • A bit of logic that running in the Cloud • Javascript SDK (same for apps) • You don't have to wait for a new release of your application • Schedule jobs • Cloud Modules for integrate your Parse app with third-party services and libraries 39
  40. 40. ROME 11-12 april 2014 - Maurizio Moriconi Cloud Code curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sudo /bin/bash 40 • Install the command line tool • Create new project $ parse new MyCloudCode Email: ninja@gmail.com Password: 1:MyApp Select an App: 1 $ cd MyCloudCode • A simple function in cloud/main.js Parse.Cloud.define("hello", function(request, response) { response.success("Hello world!"); });
  41. 41. ROME 11-12 april 2014 - Maurizio Moriconi Cloud Code 41 $ parse deploy • Deploy • Run function on iOS [PFCloud callFunctionInBackground:@"hello" withParameters:@{} block:^(NSString *result, NSError *error) { if (!error) { // result is @"Hello world!" } }]; • Response { "result": "Hello world!" }
  42. 42. ROME 11-12 april 2014 - Maurizio Moriconi Cloud Code 42
  43. 43. ROME 11-12 april 2014 - Maurizio Moriconi Web hosting 43 /public index.html Cloud Parse PRJ
  44. 44. ROME 11-12 april 2014 - Maurizio Moriconi and now? 44 Parse Analytics File storage Push notifications Data relations Users ACL Geopoint File storage In-app purchase Web hosting Query Email-verification
  45. 45. ROME 11-12 april 2014 - Maurizio Moriconi Thank You! 45 Backend as a Service:
  1. A particular slide catching your eye?

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

×