D r u p a l Mo b i l e # d r u p a l mo b i l e - - PowerPoint PPT Presentation

d r u p a l mo b i l e
SMART_READER_LITE
LIVE PREVIEW

D r u p a l Mo b i l e # d r u p a l mo b i l e - - PowerPoint PPT Presentation

D r u p a l Mo b i l e # d r u p a l mo b i l e T h e mi n g D r u p a l f o r Mo b i l e A p p s D r u p a l a s R E S T S e r v e r C o n c e p t s J S O N J S O N X


slide-1
SLIDE 1

D r u p a l Mo b i l e

# d r u p a l mo b i l e

slide-2
SLIDE 2

T h e mi n g

slide-3
SLIDE 3

D r u p a l a s R E S T S e r v e r D r u p a l f

  • r

Mo b i l e A p p s

slide-4
SLIDE 4

C

  • n

c e p t s

slide-5
SLIDE 5

J S O N

slide-6
SLIDE 6

J S O N X ML

slide-7
SLIDE 7

{ "firstName": "Hommer", "lastName": "Simpson", "age": 36, "address": { "streetAddress": "742 Evergreen Terrace", "city": "Springfield", "state": "Unknown", "postalCode": "80085" }, "phoneNumber": [ { "type": "home", "number": "555 123-4567" }, { "type": "mobile", "number": "555 987-6543" } ] }

J S O N F

  • r

ma t

slide-8
SLIDE 8

R E S T

slide-9
SLIDE 9

R E S T V e r b s

G E T P O S T P U T D E L E T E H E A D O P T I O N S P A T C H

slide-10
SLIDE 10

R E S T U R L s h t t p : / / h

  • s

t / s e r v e r / r e s

  • u

r c e / p a r a me t e r 2 O K 4 B a d R e q u e s t

slide-11
SLIDE 11

S e r v e r A p p

slide-12
SLIDE 12

V i e w s D a t a s

  • u

r c e S e r v i c e s V i e w s

slide-13
SLIDE 13

A p p S t r u c t u r e

V i e w s V i e w s D a t a s

  • u

r c e S e r v i c e s

slide-14
SLIDE 14

V i e w s D a t a s

  • u

r c e

slide-15
SLIDE 15

V i e w s D a t a s

  • u

r c e

slide-16
SLIDE 16

Businesses { "nodes" : [ { "node" : { "title" : "Luigi's Restaurant", "field_logo" : "sites/default/files/luigis.jpg", "field_latitude" : "38.100259", "field_longitude" : "-8.037359", "field_address" : "Little Italy" } }, { "node" : { "title" : "The Android's Dungeon", "field_logo" : "sites/default/files/android.jpg", "field_latitude" : "38.133792", "field_longitude" : "-6.284128", "field_address" : "Springfield", } } }

J S O N F

  • r

ma t

slide-17
SLIDE 17

S e r v i c e s

slide-18
SLIDE 18

R E S T S e r v e r

slide-19
SLIDE 19

/** * Implements hook_services_resources() */ function twittalicious_services_resources() { return array( 'chart' => array( 'retrieve' => array( 'help' => 'Demo chart with random data in JSON', 'file' => array( 'file' => 'twittalicious.inc', 'module' => 'twittalicious', 'type' => 'inc', ), 'callback' => '_twittalicious_chart_json', 'access callback' => '_twittalicious_resource_access', 'access arguments' => array('demo'), 'args' => array( array( 'name' => 'name', 'type' => 'string', 'description' => 'The name of the chart', 'source' => array('path' => '0'), 'optional' => TRUE, ),

h

  • k

_ s e r v i c e s _ r e s

  • u

r c e s

slide-20
SLIDE 20

R E S T R e s

  • u

r c e s

slide-21
SLIDE 21

Mo b i l e A p p

slide-22
SLIDE 22

j Q u e r y Mo b i l e P h

  • n

e G a p

slide-23
SLIDE 23

j Q u e r y Mo b i l e

slide-24
SLIDE 24

$.getJSON("http://twittalicious.com/rest/graph/reputation", function(data) { data.chart.chart.renderTo = "reputation-container-portrait"; data.chart.chart.width = chart_width_portrait; data.chart.chart.height = chart_height_portrait; var portraitChart = new Highcharts.Chart(data.chart); }); });

j Q u e r y . g e t J S O N

slide-25
SLIDE 25

j Q u e r y . p

  • s

t

var user = $('#username').val(); var pass = $('#password').val(); $.post("http://twittalicious.com/rest/user/login", { “username”: user, “password”: pass}, function(data){ console.log(“Login successful”); }, "json");

slide-26
SLIDE 26

P h

  • n

e G a p

slide-27
SLIDE 27

= C

  • r

d

  • v

a P h

  • n

e G a p

slide-28
SLIDE 28

S

  • u

r c e : b u i l d . p h

  • n

e g a p . c

  • m

A p p B u i l d

slide-29
SLIDE 29

I P h

  • n

e A p p l i c a t i

  • n
slide-30
SLIDE 30

r

t e i j e i r

  • @

d r e w p u l l . c

  • m

R u b e n T e i j e i r

  • @

r t e i j e i r

  • Q

u e s t i

  • n

s ?

P h

  • t
  • :

D r i e s B u y t a e r t