Facebook Developer Garage Venice 2 parte

2,135 views

Published on

Presentazione al Facebook Developer Garage di Venezia
VeneziaCamp 2009
barCamp Venice 2009

Published in: Education, Technology
2 Comments
4 Likes
Statistics
Notes
  • ... per problemi di diritti dell'editore non posso renderla scaricabile :-(( Sorry! Ricordo, comunque, il titolo del nostro libro 'Creare applicazioni per Facebook', edizioni FAG Milano, acquistabile online su vari siti (Hoepli, Rizzoli, Mondadori etc.) e nelle migliori librerie italiane!

    Saluti!

    Angelo
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Ciao ,

    bellisima slide , volevo sapere se era possibile scaircarla ,visto che aveva gia' la prima e la terza parte di questo evento , perche' non visto il tasto download sopra la presentazione .

    Ciao e ancora complimenti

    Michele
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
2,135
On SlideShare
0
From Embeds
0
Number of Embeds
98
Actions
Shares
0
Downloads
0
Comments
2
Likes
4
Embeds 0
No embeds

No notes for slide

Facebook Developer Garage Venice 2 parte

  1. 1. Programmazione avanzata di Facebook Angelo Iacubino Dipartimento Informatica - Università dell’Insubria - Como www.disinformatica.com email: webmaster@disinformatica.com www.facebook.com/disinformatica Roberto Marmo Facoltà di Ingegneria Università di Pavia, Facoltà di Scienze MM.FF.NN. Università dellʼInsubria-Como www.robertomarmo.net email: info@robertomarmo.net www.facebook.com/robertomarmo
  2. 2. Application Programming Interfaces ▪ metodologia standard di chiamate alle funzioni ▪ PHP come linguaggio ufficialmente supportato ▪ Client Library
  3. 3. Come effettuare le chiamate alle funzioni di FB
  4. 4. Un primo esempio.....
  5. 5. Amici & Eventi un esempio con utilizzo della chiamata events_get consente di ottenere i seguenti risultati: • recupera la lista di amici dell’utente corrente; • memorizza lo user_id del secondo amico della lista; • cerca tutti gli eventi associati al suddetto user_id; • visualizza la lista dei partecipanti al terzo evento presente nella lista degli eventi, suddivisa per “partecipanti”, “insicuri” o “in forse”
  6. 6. Amici & Eventi (2) $eventi = $Facebook->api_client->events_get($secondoamico, null, null, null, null); echo "<ul>"; $i = 1; if ($eventi) { foreach ($eventi as $evento) { if ($i == 3) $terzoevento=$evento['eid']; echo "<li>{$evento['name']} - luogo {$evento['location']}</li>"; $i++; } $i--; echo "Questo tuo amico ha ben " . $i . " eventi!<br>"; $ev1 = $Facebook->api_client->events_get(null, $terzoevento, null, null, null); echo "Gli utenti che partecipano al terzo evento con id " . $terzoevento . " e nome {$ev1[0]['name']} sono:<br><br>"; $membri = $Facebook->api_client->events_getMembers($terzoevento); echo "<p>Attesi</p>"; echo "<ul>"; if ($membri['attending'][0]) { foreach ($membri['attending'] as $membro) { echo "<li><fb:name uid="$membro" useyou="false" /></li>"; } } else { echo "....non ce ne sono"; } echo "</ul>"; echo "<p>... in forse:</p>"; echo "<ul>"; if ($membri['unsure'][0]) { foreach ($membri['unsure'] as $membro) { echo "<li><fb:name uid="$membro" useyou="false" /></li>"; } } else { echo ....non " ce ne sono"; } echo "</ul>"; echo "<p>Insicuri:</p>"; echo "<ul>"; if ($membri['not_replied'][0]) { foreach ($membri['not_replied'] as $membro) { echo "<li><fb:name uid="$membro" useyou="false" /></li>"; } } else { echo ....non " ce ne sono"; } echo "</ul>"; } else { echo "<li>non ci sono eventi per questo tuo amico</li>"; } echo "</ul>";
  7. 7. groups.getMembers
  8. 8. users.getInfo
  9. 9. friends.getAppUsers
  10. 10. SQL vs FQL
  11. 11. Alcuni esempi...
  12. 12. Alcuni esempi...(2): tabelle di FB
  13. 13. indexable field
  14. 14. FQL
  15. 15. FQL
  16. 16. FQL
  17. 17. FQL
  18. 18. FQL
  19. 19. Oltre il PHP...
  20. 20. Oltre il PHP...
  21. 21. Tempi di attesa e Server Tuning (1) • ridurre il numero di chiamate al server usando FQL al posto di API; • nel caso occorrano molte chiamate API allo stesso momento, usare metodi batch.run per combinare al massimo 20 operazioni in una singola richiesta, come specificato nella wiki ufficiale; • usare canvas realizzati con FBML, visualizzati più velocemente delle pagine iframe; • spostare pezzi di codice scritti in JavaScript o CSS in file esterni, da importare nella pagina per velocizzarne il caricamento. la piattaforma memorizza i file alla prima occasione d’uso e li conserva per richieste successive con un meccanismo chiamato cache; • usare il tag fb:ref per pubblicare lo stesso codice FBML verso tantissimi profili senza dover ripubblicare il codice per ogni utente. Come nel caso precedente, la piattaforma usa il meccanismo di cache; • friends.get restituisce lo user_id dell’utente attuale. In genere la funzione viene chiamata in varie parti del codice; conviene invece chiamarla durante il processo iniziale di caricamento; • dovendo caricare numerose immagini o righe di dati molto lunghe, conviene dividere le informazioni in pagine successive più leggere; • se si decide di usare AJAX per aggiornare il contenuto delle pagine senza doverle ricaricare per intero, limitare l’azione di aggiornamento solo a porzioni piccole della pagina.
  22. 22. Tempi di attesa e Server Tuning (2)
  23. 23. Tempi di attesa e Server Tuning (3)
  24. 24. Tempi di attesa e Server Tuning (4)
  25. 25. La Conoscenza (1)
  26. 26. La Conoscenza (2)
  27. 27. La Conoscenza (3)
  28. 28. Grazie per l’attenzione Domande? Angelo Iacubino www.disinformatica.com webmaster@disinformatica.com www.facebook.com/disinformatica Roberto Marmo www.robertomarmo.net info@robertomarmo.net www.facebook.com/robertomarmo
  29. 29. (c) 2009 Facebook, Inc. or its licensors.  "Facebook" is a registered trademark of Facebook, Inc.. All rights reserved. 1.0

×