SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
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:

Weitere ähnliche Inhalte

Ähnlich wie Backend as a Service: Parse - Moriconi

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
 

Ähnlich wie Backend as a Service: Parse - Moriconi (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)
 

Mehr von Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Mehr von Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Kürzlich hochgeladen

Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Paige Cruz
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTopCSSGallery
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideStefan Dietze
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 

Kürzlich hochgeladen (20)

Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 

Backend as a Service: Parse - Moriconi

  • 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: