Upload
xamarin
View
440
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
ParseDavid Poll @depoll
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Building Great Experiences With Scalable Cloud Services
• What is Parse?• Saving data• Managing users• Rich querying• Going beyond the client
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
About Me
• Software Engineer, Parse• In a past life, I was...
• Program Manager, Microsoft Silverlight• Software Engineer, Google
• Avid a cappella enthusiast• I have app!
Thursday, May 9, 13
mobile apps are
HARDThursday, May 9, 13
Database
Thursday, May 9, 13
Database REST API
ZZZ
+
Thursday, May 9, 13
Database REST API
ZZZ
Server++
+ users+ security
Thursday, May 9, 13
Database REST API
ZZZ
Server++
+ users+ security
Networking
Thursday, May 9, 13
Database REST API
ZZZ
Server++
+ users+ security
CachingNetworking
+
Thursday, May 9, 13
Database REST API
ZZZ
Server++
+ users+ security
CachingNetworking
+ +
The fun stuff!
Thursday, May 9, 13
Database REST API
ZZZ
Server++
+ users+ security
CachingNetworking
+ +
The fun stuff!
Thursday, May 9, 13
Database REST API
ZZZ
Server++
+ users+ security
CachingNetworking
+ +
The fun stuff!
nono no
no
no
yes!
Thursday, May 9, 13
Database REST API
ZZZ
Server++
+ users+ security
Networking+ +
The fun stuff!
nono no
no
no
yes!
+
REST API
Z ZZ
Server++
no
noParseThursday, May 9, 13
Database REST API
ZZZ
Server++
+ users+ security
Networking+ +
The fun stuff!
nono no
no
no
yes!ParseFiles
Objects
GeoPoints
Queries
Queries
Cloud Code
ACLs
UI Components
Security
Data Browser
REST API
Images
Users
JavaScript
Android
Emails
AndroidRoles
SDKs
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Thursday, May 9, 13
iOS Android
JavaScript REST API
OS X
Windows 8Windows Phone 8
Thursday, May 9, 13
DATASaving stuff in the
Thursday, May 9, 13
var comment = new ParseObject ("Comment");comment ["text"] = "Great pic!";comment ["user"] = ParseUser.CurrentUser;await comment.SaveAsync ();
Thursday, May 9, 13
var comment = new ParseObject ("Comment");comment ["text"] = "Great pic!";comment ["user"] = ParseUser.CurrentUser;await comment.SaveAsync ();
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Demo: Saving your first ParseObject
Thursday, May 9, 13
So what about locations?
Thursday, May 9, 13
var comment = new ParseObject ("Comment");comment ["text"] = "Great pic!";
comment ["user"] = ParseUser.CurrentUser;await comment.SaveAsync ();
var evolve = new ParseGeoPoint (30.265348, -97.738613);comment ["location"] = evolve;
Thursday, May 9, 13
And ?
Pictures
Thursday, May 9, 13
var picture = new ParseObject ("Picture");picture ["title"] = "What?! Parse is Evolving!";
picture ["image"] = imageFile;await picture.SaveAsync ();
var imageData = GetStreamForImage (image);var imageFile = new ParseFile ("evolving.png", imageData);await imageFile.SaveAsync ();
Thursday, May 9, 13
THE DATA BROWSERWorking with your data is
easy!
Thursday, May 9, 13
Thursday, May 9, 13
USERSThe in your app
Thursday, May 9, 13
Sign up a user
Thursday, May 9, 13
Sign up a uservar user = new ParseUser { Username = "Apps", Password = "r0ck"};
await user.SignUpAsync ();
Thursday, May 9, 13
Sign up a user
Login a user
var user = new ParseUser { Username = "Apps", Password = "r0ck"};
await user.SignUpAsync ();
Thursday, May 9, 13
Sign up a user
Login a user
var user = new ParseUser { Username = "Apps", Password = "r0ck"};
await user.SignUpAsync ();
await ParseUser.LogInAsync ("Apps", "r0ck");var current = ParseUser.CurrentUser;
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Demo: User Signup/Login
Thursday, May 9, 13
What about sharing on Facebook?
Thursday, May 9, 13
Facebook Usersawait ParseFacebookUtils.LinkAsync (ParseUser.CurrentUser, facebookId, accessToken, expiration);
await ParseFacebookUtils.LogInAsync (facebookId, accessToken, expiration);
Thursday, May 9, 13
Facebook Usersawait ParseFacebookUtils.LinkAsync (ParseUser.CurrentUser, facebookId, accessToken, expiration);
await ParseFacebookUtils.LogInAsync (facebookId, accessToken, expiration);
Thursday, May 9, 13
QUERIESGetting stuff from the
Thursday, May 9, 13
var query = ParseObject.GetQuery("Picture") .WhereEqualTo("user", ParseUser.CurrentUser) .WhereGreaterThan("createdAt", DateTime.Now - TimeSpan.FromDays(7));
IEnumerable<ParseObject> pictures = await query.FindAsync();
Thursday, May 9, 13
var query = ParseObject.GetQuery("Picture") .WhereEqualTo("user", ParseUser.CurrentUser) .WhereGreaterThan("createdAt", DateTime.Now - TimeSpan.FromDays(7));
IEnumerable<ParseObject> pictures = await query.FindAsync();
Or, if you’re using Xamarin.Android...
Thursday, May 9, 13
var query = ParseObject.GetQuery("Picture") .WhereEqualTo("user", ParseUser.CurrentUser) .WhereGreaterThan("createdAt", DateTime.Now - TimeSpan.FromDays(7));
IEnumerable<ParseObject> pictures = await query.FindAsync();
Or, if you’re using Xamarin.Android...
var query = from pic in ParseObject.GetQuery ("Picture") where pic ["user"] == ParseUser.CurrentUser where pic.CreatedAt > DateTime.Now - TimeSpan.FromDays (7) select pic;
IEnumerable<ParseObject> pictures = await query.FindAsync ();
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Demo: Rich Queries
Thursday, May 9, 13
RELATIONSIt’s better together
Thursday, May 9, 13
var comment = new ParseObject("Comment");
comment["user"] = ParseUser.CurrentUser;
Thursday, May 9, 13
var user = ParseUser.CurrentUser;
var relation = user.GetRelation<ParseUser>("following");
relation.Add(newFriend);relation.Add(anotherFriend);
await user.SaveAsync();
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
It’s code in the
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
It’s JavaScript in the Cloud
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.define("averageLikes", function(request, response) {
});
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.define("averageLikes", function(request, response) {
});
var query = new Parse.Query("Photo"); query.equalTo("user", Parse.User.current());
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.define("averageLikes", function(request, response) {
});
var query = new Parse.Query("Photo"); query.equalTo("user", Parse.User.current()); query.find({
});
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.define("averageLikes", function(request, response) {
});
var query = new Parse.Query("Photo"); query.equalTo("user", Parse.User.current()); query.find({
});
success: function(results) { var sum = 0; for (var i = 0; i < results.length; ++i) { sum += results[i].get("likes"); } response.success(sum / results.length); },
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.define("averageLikes", function(request, response) {
});
var query = new Parse.Query("Photo"); query.equalTo("user", Parse.User.current()); query.find({
});
error: function() { response.error("Oops, something went wrong."); }
success: function(results) { var sum = 0; for (var i = 0; i < results.length; ++i) { sum += results[i].get("likes"); } response.success(sum / results.length); },
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Is that it...?
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.beforeSave("Comment", function(request, response) {
});
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.beforeSave("Comment", function(request, response) {
});
var text = request.object.get("text");
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.beforeSave("Comment", function(request, response) {
});
var text = request.object.get("text");
if (text.length > 140) { request.object.set("text",text.substring(0,137 + "..."); }
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.beforeSave("Comment", function(request, response) {
});
var text = request.object.get("text");
if (text.length > 140) { request.object.set("text",text.substring(0,137 + "..."); } response.success();
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Demo: Cloud Code
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
What about 3rd party APIs?
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Parse.Cloud.httpRequest({ url: 'http://www.parse.com/', success: function(httpResponse) { console.log(httpResponse.text); }, error: function(httpResponse) { console.error('Request failed: ' + httpResponse.status); }});
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Building Great Experiences With Scalable Cloud Services
• What is Parse?• Saving data• Managing users• Rich querying• Going beyond the client
Thursday, May 9, 13
1000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110011000101010101000101100011001110001001100101001111000111001010111000111000101010101101000101010010101010101010101111001010011011011010101100100100010011010101010111010110110000100100101010101110010101011101011011000010010010101010111001100010101010100010110001100111000100110010100111100011100101011100011100010101010110100010101001010101010101010111100101001101101101010110010010001001101010101011101011011000010010010101010111001
Resources
• Parse Xamarin Platform Page: http://www.parse.com/xamarin• .NET Guide: http://www.parse.com/docs/dotnet_guide• API docs: http://www.parse.com/docs/dotnet/api• Twitter: @depoll or @ParseIt
Thursday, May 9, 13
ParseDavid Poll @depoll
Thursday, May 9, 13