MOBILE WEB APP
DEVELOPMENT
(BUILDING YOUR API)
DMD12 BSc
10th March 2011
Syd Lawrence SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
slideshare.net/sydlawrence
DATA MODEL
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/scarygami/4176834293/
JSON
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/sabeth718/4975388271/
DATA RETREIVAL
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/jf1/2178810029/
GET
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/29503348@N03/4915763648/
HTTP://API.COM/
GET.PHP?USER=2
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/29503348@N03/4915763648/
http://api.com/get.php?user=2
<code/>
___
$user = array(
"id" => 2,
"first_name" => "Syd",
"last_name" => "Lawrence"
);
echo json_encode($user);
/****** RESPONSE ******/
{"id":2,"first_name":"Syd","last_name":”Lawrence”}
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
MORE INFO: http://sydl.me/gcI2iQ
DATA MODIFICATION
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/frogdna/4010739111/
SET
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/deniscollette/5454729294/
http://api.com/set.php?user=2&first_name=Bob
<code/>
___
$user = array(
"id" => 2,
"first_name" => "Syd",
"last_name" => "Lawrence"
);
$user["first_name"] = $_GET["first_name"];
echo json_encode($user);
/****** RESPONSE ******/
{"id":2,"first_name":"Bob","last_name":”Lawrence”}
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
MORE INFO: http://sydl.me/gcI2iQ
ERROR CHECKING
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/celebdu/10200825/
HTTP://API.COM/
GET.PHP?USER=A
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/29503348@N03/4915763648/
http://api.com/get?user=a
<code/>
___
if (!is_int($_GET["user"])) {
$return = array(
"error" => "FAIL! ‘a’ isn’t an integer stooopid!"
);
echo json_encode($return);
}
/****** RESPONSE ******/
{"error":"FAIL! ‘a’ isn’t an integer stooopid!"}
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
MORE INFO: http://sydl.me/gcI2iQ
MORE ADVANCED
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/albertyinyang/292241075/
SEMANTIC URLS
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/dharmasphere/2277286846/
HTTP://API.COM/
USER/2
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/29503348@N03/4915763648/
AUTHENTICATION
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
http://www.flickr.com/photos/mexicanwave/3772804/
A LITTLE
TASK DUE
TODAY
(OPTIONAL BUT PRETTY MUCH ESSENTIAL)
With regards to your project.
SIT BACK /
SIT BACK
Plan what API methods you need. LISTEN UP
LISTEN UP
Plan your database for the server side of the application
MY PLANNING
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
MY PLANNING
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
MY PLANNING
SIT BACK /
SIT BACK
LISTEN UP
LISTEN UP
HOW DID
YOU DO?
SIT BACK /
SIT BACK
LISTENUP
LISTEN UP
http://www.flickr.com/photos/annagaycoan/3750144703/
A LITTLE
TASK DUE
NEXT WEEK
(NOT REALLY THAT OPTIONAL, BUT UP TO YOU IF YOU WANT TO DO IT)
Create your API
Setup your database
Populate with sample data
SIT BACK /
SIT BACK
Create your getters and setters LISTEN UP
LISTEN UP
Test
CODE SAMPLES
AND CONCEPTS
Mobile websites tips & tricks (@fakedarren)
Cache Manifest
localStorage
SIT BACK /
SIT BACK
Online / Offline Events LISTEN UP
LISTEN UP
JSONP