SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
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 Developer
http://www.facebook.com/maurizio.moriconi
http://www.linkedin.com/in/bugman
@bugman79
- Maurizio Moriconi
ROME 11-12 april 2014 - Maurizio Moriconi
Develop an app
Push Notification
Analytics
User management
Social integration
Shared data
Web Hosting
Database hosting
3
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 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
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
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 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

…
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
• Run custom app code in the Parse Cloud
• Background jobs
12
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
ROME 11-12 april 2014 - Maurizio Moriconi
Parse Analytics
• Measure App usage
• Optimize Push Campaign
• Track Custom Analytics
• Powerful Dashboard
14
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+) iOS 5.0 or higher
19
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 schema-less
• Each Parse Object has a class name
!
PFObject in iOS
• ParseObject in Android/Windows
22
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
• 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
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
• username (required)
• password (required on signup)
• email (optional)
• basic functionality:
• sign up
• login
• email verification
29
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)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
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;
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 Secret on Parse settings
• Setup application follow https://developers.facebook.com/docs/ios/getting-
started
• Adding this line on application:didFinishLaunchingWithOptions
!
• Add also:

35
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
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 Twitter/Facebook
• Unlinking existing PFUser to Twitter/Facebook
• After authentication is possible to use:
• Query Graph on Facebook
• Twitter API on Twitter
38
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
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!");
});
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!"
}
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 ACL
Geopoint
File storage
In-app purchase
Web hosting
Query
Email-verification
ROME 11-12 april 2014 - Maurizio Moriconi
Thank You!
45
Backend as a Service:

Mais conteúdo relacionado

Destaque

Client authentication and authorization
Client authentication and authorizationClient authentication and authorization
Client authentication and authorizationMaurizio Moriconi
 
Cocos2d: creare videogiochi con facilità!
Cocos2d: creare videogiochi con facilità!Cocos2d: creare videogiochi con facilità!
Cocos2d: creare videogiochi con facilità!Maurizio Moriconi
 
Box2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaformaBox2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaformaMaurizio Moriconi
 
Welcome to the mobile galaxy!
Welcome to the mobile galaxy!Welcome to the mobile galaxy!
Welcome to the mobile galaxy!Maurizio Moriconi
 
Connected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile AppsConnected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile AppsMaurizio Moriconi
 
How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0Takuya Tejima
 

Destaque (7)

Client authentication and authorization
Client authentication and authorizationClient authentication and authorization
Client authentication and authorization
 
Cocos2d: creare videogiochi con facilità!
Cocos2d: creare videogiochi con facilità!Cocos2d: creare videogiochi con facilità!
Cocos2d: creare videogiochi con facilità!
 
Box2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaformaBox2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaforma
 
Welcome to the mobile galaxy!
Welcome to the mobile galaxy!Welcome to the mobile galaxy!
Welcome to the mobile galaxy!
 
Gestire i pdf con iOS
Gestire i pdf con iOSGestire i pdf con iOS
Gestire i pdf con iOS
 
Connected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile AppsConnected & Disconnected Apps with Azure Mobile Apps
Connected & Disconnected Apps with Azure Mobile Apps
 
How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0
 

Semelhante a Backend as a Service: Parse

Microsoft products 2014
Microsoft products 2014Microsoft products 2014
Microsoft products 2014Ashraf Atef
 
Presentazione Codemotion
Presentazione Codemotion Presentazione Codemotion
Presentazione Codemotion LinkMe Srl
 
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreSviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreENTER S.r.l.
 
PeopleSoft mobile
PeopleSoft mobilePeopleSoft mobile
PeopleSoft mobilehbiroglu
 
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreSviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreCodemotion
 
April 2023 CIAOPS Need to Know Webinar
April 2023 CIAOPS Need to Know WebinarApril 2023 CIAOPS Need to Know Webinar
April 2023 CIAOPS Need to Know WebinarRobert Crane
 
Meetup Mulesoft Buenos Aires Noviembre 2018
Meetup Mulesoft Buenos Aires Noviembre 2018Meetup Mulesoft Buenos Aires Noviembre 2018
Meetup Mulesoft Buenos Aires Noviembre 2018Walter Olivito
 
Achieving Better Business Productivity through Apps for Office
Achieving Better Business Productivity through Apps for Office Achieving Better Business Productivity through Apps for Office
Achieving Better Business Productivity through Apps for Office Jason Himmelstein
 
SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...
SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...
SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...Knut Relbe-Moe [MVP, MCT]
 
Mct Summit 2013 Why SharePoint 2013
Mct Summit 2013   Why SharePoint 2013Mct Summit 2013   Why SharePoint 2013
Mct Summit 2013 Why SharePoint 2013Chris Givens
 
Webinar nov14v2 slideshare
Webinar nov14v2 slideshareWebinar nov14v2 slideshare
Webinar nov14v2 slideshareJan F. Zeuthen
 
Increase Adoption By Building Lightning Pages
Increase Adoption By Building Lightning PagesIncrease Adoption By Building Lightning Pages
Increase Adoption By Building Lightning PagesSalesforce Admins
 
Datapolis Workflow 365: Create your Office 365 workflows easy and fast!
Datapolis Workflow 365: Create your Office 365 workflows easy and fast!Datapolis Workflow 365: Create your Office 365 workflows easy and fast!
Datapolis Workflow 365: Create your Office 365 workflows easy and fast!Datapolis
 
Devportal Information Architecture: A 4-step Method
Devportal Information Architecture: A 4-step MethodDevportal Information Architecture: A 4-step Method
Devportal Information Architecture: A 4-step MethodPronovix
 
MOCA iBeacons SDK for iOS 7
MOCA iBeacons SDK for iOS 7MOCA iBeacons SDK for iOS 7
MOCA iBeacons SDK for iOS 7MOCA Platform
 
Gathering App Intelligence for your Web, Desktop and Mobile apps
Gathering App Intelligence for your Web, Desktop and Mobile appsGathering App Intelligence for your Web, Desktop and Mobile apps
Gathering App Intelligence for your Web, Desktop and Mobile appsAbhishek Kant
 
Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)SPC Adriatics
 
Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)SPC Adriatics
 

Semelhante a Backend as a Service: Parse (20)

Microsoft products 2014
Microsoft products 2014Microsoft products 2014
Microsoft products 2014
 
Presentazione Codemotion
Presentazione Codemotion Presentazione Codemotion
Presentazione Codemotion
 
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreSviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
 
PeopleSoft mobile
PeopleSoft mobilePeopleSoft mobile
PeopleSoft mobile
 
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreSviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
 
cv-lorenzo-speranzoni
cv-lorenzo-speranzonicv-lorenzo-speranzoni
cv-lorenzo-speranzoni
 
April 2023 CIAOPS Need to Know Webinar
April 2023 CIAOPS Need to Know WebinarApril 2023 CIAOPS Need to Know Webinar
April 2023 CIAOPS Need to Know Webinar
 
Meetup Mulesoft Buenos Aires Noviembre 2018
Meetup Mulesoft Buenos Aires Noviembre 2018Meetup Mulesoft Buenos Aires Noviembre 2018
Meetup Mulesoft Buenos Aires Noviembre 2018
 
Achieving Better Business Productivity through Apps for Office
Achieving Better Business Productivity through Apps for Office Achieving Better Business Productivity through Apps for Office
Achieving Better Business Productivity through Apps for Office
 
SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...
SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...
SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...
 
Mct Summit 2013 Why SharePoint 2013
Mct Summit 2013   Why SharePoint 2013Mct Summit 2013   Why SharePoint 2013
Mct Summit 2013 Why SharePoint 2013
 
Webinar nov14v2 slideshare
Webinar nov14v2 slideshareWebinar nov14v2 slideshare
Webinar nov14v2 slideshare
 
Increase Adoption By Building Lightning Pages
Increase Adoption By Building Lightning PagesIncrease Adoption By Building Lightning Pages
Increase Adoption By Building Lightning Pages
 
Datapolis Workflow 365: Create your Office 365 workflows easy and fast!
Datapolis Workflow 365: Create your Office 365 workflows easy and fast!Datapolis Workflow 365: Create your Office 365 workflows easy and fast!
Datapolis Workflow 365: Create your Office 365 workflows easy and fast!
 
Devportal Information Architecture: A 4-step Method
Devportal Information Architecture: A 4-step MethodDevportal Information Architecture: A 4-step Method
Devportal Information Architecture: A 4-step Method
 
Sharepoint Basics
Sharepoint BasicsSharepoint Basics
Sharepoint Basics
 
MOCA iBeacons SDK for iOS 7
MOCA iBeacons SDK for iOS 7MOCA iBeacons SDK for iOS 7
MOCA iBeacons SDK for iOS 7
 
Gathering App Intelligence for your Web, Desktop and Mobile apps
Gathering App Intelligence for your Web, Desktop and Mobile appsGathering App Intelligence for your Web, Desktop and Mobile apps
Gathering App Intelligence for your Web, Desktop and Mobile apps
 
Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)
 
Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)
 

Último

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 

Último (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 

Backend as a Service: Parse

  • 1. ROME 11-12 april 2014ROME 11-12 april 2014 Backend as a Service: Parse maurizio.moriconi@mobilesoft.it Maurizio Moriconi
  • 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. 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. ROME 11-12 april 2014 - Maurizio Moriconi Challenges ! • Time • Skill • Scalability • Cost 4
  • 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. 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. ROME 11-12 april 2014 - Maurizio Moriconi Some examples 7
  • 8. ROME 11-12 april 2014 - Maurizio Moriconi 8
  • 9. ROME 11-12 april 2014 - Maurizio Moriconi One backend to rule them all 9
  • 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. ROME 11-12 april 2014 - Maurizio Moriconi 11 Parse Services
  • 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. 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. ROME 11-12 april 2014 - Maurizio Moriconi Parse Analytics • Measure App usage • Optimize Push Campaign • Track Custom Analytics • Powerful Dashboard 14
  • 15. ROME 11-12 april 2014 - Maurizio Moriconi Let’s start! 15
  • 16. ROME 11-12 april 2014 - Maurizio Moriconi 1 - Sign up for Parse 16
  • 17. ROME 11-12 april 2014 - Maurizio Moriconi 2 - Create your first app 17
  • 18. ROME 11-12 april 2014 - Maurizio Moriconi 3 - Dashboard 18
  • 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. ROME 11-12 april 2014 - Maurizio Moriconi Connect you app to Parse 20
  • 21. ROME 11-12 april 2014 - Maurizio Moriconi Data Browser 21
  • 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. ROME 11-12 april 2014 - Maurizio Moriconi Save an object 23 Auto generate Class!!!
  • 24. ROME 11-12 april 2014 - Maurizio Moriconi Save an object 24
  • 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. ROME 11-12 april 2014 - Maurizio Moriconi Data Types 26
  • 27. ROME 11-12 april 2014 - Maurizio Moriconi Some features ! Saving objects offline ! ! ! ! ! Relational Data 27
  • 28. ROME 11-12 april 2014 - Maurizio Moriconi Some features 28 ! ! ! ! ! ! Queries ! ! ! ! !
  • 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. ROME 11-12 april 2014 - Maurizio Moriconi Signing up 30
  • 31. ROME 11-12 april 2014 - Maurizio Moriconi Loggin in 31
  • 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. 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. ROME 11-12 april 2014 - Maurizio Moriconi Facebook / Twitter integration 34
  • 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. 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. ROME 11-12 april 2014 - Maurizio Moriconi User 37
  • 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. 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. 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. 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. ROME 11-12 april 2014 - Maurizio Moriconi Cloud Code 42
  • 43. ROME 11-12 april 2014 - Maurizio Moriconi Web hosting 43 /public index.html Cloud Parse PRJ
  • 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. ROME 11-12 april 2014 - Maurizio Moriconi Thank You! 45 Backend as a Service: