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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

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