SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
ParseDavid
Poll
@depoll
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Building Great Experiences With Scalable Cloud
Services
• What is Parse?
• Saving data
• Managing users
• Rich querying
• Going beyond the client
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
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
HARD
Thursday, May 9, 13
Database
Thursday, May 9, 13
Database REST API
Z
Z
Z
+
Thursday, May 9, 13
Database REST API
Z
Z
Z
Server
++
+ users
+ security
Thursday, May 9, 13
Database REST API
Z
Z
Z
Server
++
+ users
+ security
Networking
Thursday, May 9, 13
Database REST API
Z
Z
Z
Server
++
+ users
+ security
CachingNetworking
+
Thursday, May 9, 13
Database REST API
Z
Z
Z
Server
++
+ users
+ security
CachingNetworking
+ +
The fun stuff!
Thursday, May 9, 13
Database REST API
Z
Z
Z
Server
++
+ users
+ security
CachingNetworking
+ +
The fun stuff!
Thursday, May 9, 13
Database REST API
Z
Z
Z
Server
++
+ users
+ security
CachingNetworking
+ +
The fun stuff!
no
no no
no
no
yes!
Thursday, May 9, 13
Database REST API
Z
Z
Z
Server
++
+ users
+ security
Networking
+ +
The fun stuff!
no
no no
no
no
yes!
+
REST API
Z
Z
Z
Server
++
no
no
Parse
Thursday, May 9, 13
Database REST API
Z
Z
Z
Server
++
+ users
+ security
Networking
+ +
The fun stuff!
no
no no
no
no
yes!
Parse
Files
Objects
GeoPoints
Facebook
Queries
Queries
Cloud Code
ACLs
UI Components
Security
Data Browser
REST API
Images
Users
JavaScript
Android
Emails
AndroidRoles
SDKs
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
iOS Android
JavaScript REST API
OS X
Windows 8
Windows 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
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Demo: Saving your first ParseObject
Thursday, May 9, 13
So what about loca
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
?
Pictur
es
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
USER
SThe in your app
Thursday, May 9, 13
Sign up a user
Thursday, May 9, 13
Sign up 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 ();
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
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Demo: User Signup/Login
Thursday, May 9, 13
What about sharing on F
Thursday, May 9, 13
Facebook Users
await ParseFacebookUtils.LinkAsync (ParseUser.CurrentUser,
facebookId, accessToken, expiration);
await ParseFacebookUtils.LogInAsync (facebookId, accessToken, expiration);
Thursday, May 9, 13
Facebook Users
await ParseFacebookUtils.LinkAsync (ParseUser.CurrentUser,
facebookId, accessToken, expiration);
await ParseFacebookUtils.LogInAsync (facebookId, accessToken, expiration);
Thursday, May 9, 13
QUERIE
SGetting 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
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Demo: Rich Queries
Thursday, May 9, 13
RELATIO
NSIt’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
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
It’s code in the
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
It’s JavaScript in the Cloud
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Parse.Cloud.define("averageLikes", function(request, response) {
});
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Parse.Cloud.define("averageLikes", function(request, response) {
});
  var query = new Parse.Query("Photo");
  query.equalTo("user", Parse.User.current());
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
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
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
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
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
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
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Is that it...?
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Parse.Cloud.beforeSave("Comment", function(request, response) {
});
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Parse.Cloud.beforeSave("Comment", function(request, response) {
});
  var text = request.object.get("text");
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
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
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
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
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Demo: Cloud Code
Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
What about 3rd party APIs?
Thursday, May 9, 13
01010111010110110000100100101010101110011000101010101000101100011001
01100101001111000111001010111000111000101010101101000101010010101010
01111001010011011011010101100100100010011010101010111010110110000100
10101110011000101010101000101100011001110001001100101001111000111001
00111000101010101101000101010010101010101010101111001010011011011010
00100010011010101010111010110110000100100101010101110011000101010101
00011001110001001100101001111000111001010111000111000101010101101000
10101010101010101111001010011011011010101100100100010011010101010111
10000100100101010101110011000101010101000101100011001110001001100101
00111001010111000111000101010101101000101010010101010101010101111001
11011010101100100100010011010101010111010110110000100100101010101110
01010101000101100011001110001001100101001111000111001010111000111000
01101000101010010101010101010101111001010011011011010101100100100010
01010111010110110000100100101010101110010101011101011011000010010010
11001100010101010100010110001100111000100110010100111100011100101011
00010101010110100010101001010101010101010111100101001101101101010110
01001101010101011101011011000010010010101010111001
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
01010111010110110000100100101010101110011000101010101000101100011001
01100101001111000111001010111000111000101010101101000101010010101010
01111001010011011011010101100100100010011010101010111010110110000100
10101110011000101010101000101100011001110001001100101001111000111001
00111000101010101101000101010010101010101010101111001010011011011010
00100010011010101010111010110110000100100101010101110011000101010101
00011001110001001100101001111000111001010111000111000101010101101000
10101010101010101111001010011011011010101100100100010011010101010111
10000100100101010101110011000101010101000101100011001110001001100101
00111001010111000111000101010101101000101010010101010101010101111001
11011010101100100100010011010101010111010110110000100100101010101110
01010101000101100011001110001001100101001111000111001010111000111000
01101000101010010101010101010101111001010011011011010101100100100010
01010111010110110000100100101010101110010101011101011011000010010010
11001100010101010100010110001100111000100110010100111100011100101011
00010101010110100010101001010101010101010111100101001101101101010110
01001101010101011101011011000010010010101010111001Thursday, May 9, 13
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100110001010101010001011000110
10011001010011110001110010101110001110001010101011010001010100101010
01011110010100110110110101011001001000100110101010101110101101100001
10101011100110001010101010001011000110011100010011001010011110001110
10001110001010101011010001010100101010101010101011110010100110110110
01001000100110101010101110101101100001001001010101011100110001010101
11000110011100010011001010011110001110010101110001110001010101011010
00101010101010101011110010100110110110101011001001000100110101010101
01100001001001010101011100110001010101010001011000110011100010011001
10001110010101110001110001010101011010001010100101010101010101011110
10110110101011001001000100110101010101110101101100001001001010101011
01010101010001011000110011100010011001010011110001110010101110001110
01011010001010100101010101010101011110010100110110110101011001001000
01010101110101101100001001001010101011100101010111010110110000100100
01110011000101010101000101100011001110001001100101001111000111001010
11000101010101101000101010010101010101010101111001010011011011010101
Building Great Experiences With Scalable Cloud
Services
• What is Parse?
• Saving data
• Managing users
• Rich querying
• Going beyond the client
Thursday, May 9, 13
01010111010110110000100100101010101110011000101010101000101100011001
01100101001111000111001010111000111000101010101101000101010010101010
01111001010011011011010101100100100010011010101010111010110110000100
10101110011000101010101000101100011001110001001100101001111000111001
00111000101010101101000101010010101010101010101111001010011011011010
00100010011010101010111010110110000100100101010101110011000101010101
00011001110001001100101001111000111001010111000111000101010101101000
10101010101010101111001010011011011010101100100100010011010101010111
10000100100101010101110011000101010101000101100011001110001001100101
00111001010111000111000101010101101000101010010101010101010101111001
11011010101100100100010011010101010111010110110000100100101010101110
01010101000101100011001110001001100101001111000111001010111000111000
01101000101010010101010101010101111001010011011011010101100100100010
01010111010110110000100100101010101110010101011101011011000010010010
11001100010101010100010110001100111000100110010100111100011100101011
00010101010110100010101001010101010101010111100101001101101101010110
01001101010101011101011011000010010010101010111001
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

Mais conteúdo relacionado

Mais de Xamarin

Mais de Xamarin (20)

Xamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App Center
 
Get the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for XamarinGet the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for Xamarin
 
Get the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for XamarinGet the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
 
Creative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePushCreative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePush
 
Build Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureBuild Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft Azure
 
Exploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin WorkbooksExploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin Workbooks
 
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
 
Developer’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine LearningDeveloper’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine Learning
 
Customizing Xamarin.Forms UI
Customizing Xamarin.Forms UICustomizing Xamarin.Forms UI
Customizing Xamarin.Forms UI
 
Session 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and ResourcesSession 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and Resources
 
Session 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and ProfitabilitySession 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and Profitability
 
Session 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile PracticeSession 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile Practice
 
Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud
 
SkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.FormsSkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.Forms
 
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureBuilding Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017
 
Connected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft AzureConnected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft Azure
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017
 
Building Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioBuilding Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual Studio
 
Building Your First Android App with Xamarin
Building Your First Android App with XamarinBuilding Your First Android App with Xamarin
Building Your First Android App with Xamarin
 

Último

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
FIDO Alliance
 

Último (20)

Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
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...
 
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
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
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
 
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
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 

Building great app experiences by with scalable cloud services - David Poll