facebooklogoL'interesse per Facebook da parte dei media negli ultimi tempi e' cresciuto in maniera esponenziale: il mio account, registrato distrattamente ormai piu' di un anno orsono ultimamente ha avuto un 'boom' di richieste di amicizie (e ovviamente di attivita').

Visto il grande movimento intorno alla piattaforma di socialnetworking, mi e' sembrato naturale iniziare a dare uno sguardo alle API fornite e alla sviluppo di applicazioni che si appoggino su di essa.

Il primo passo da compiere e' visitare il sito ufficiale per gli sviluppatori FaceBook,  http://developers.facebook.com/, dal quale e' possibile sia scaricare le 'client libraries' (in PHP, ma sono state gia' realizzate conversioni in molti altri linguaggi), sia aggiungere al proprio profilo il tool Facebook Developer App, indispensabile per la creazione di (appunto) nuove applicazioni.

E' disponibile anche un indispensabile wiki (http://wiki.developers.facebook.com/index.php/Main_Page), contenente tutta la documentazione sulla piattaforma e le API e una comodissima Getting started guide, e un forum (http://forum.developers.facebook.com/).

La struttura di una applicazione Facebook e' particolare: non viene infatti ospitata dai server di FaceBook, ma si interfaccia con essi tramite un sistema di callback:

facebook-app-servers

da qui deriva una metodologia di sviluppo che utilizza l'accesso a FaceBook solamente per ricevere e inviare informazioni, mentre il 'peso computazionale'  e' esclusivamente a carico dell'hosting che ospita l'applicazione.
Vi rimando quindi all'ottimo Tutorial  presente sul sito ufficiale.

fogm_iphoneLa mia creatura prende il titolo di FriendsOnGmaps, e non fa altro che localizzare su una mappa (realizzata con Google Maps) gli amici collegati al proprio profilo (prendendo come punto di riferimento i dati inseriti dall'utente riguardo la citta' di residenza).

Per velocizzare lo sviluppo ho affidato la compilazione del codice Js di GoogleMaps a una libreria PHP pre-esistente, Phoogle Maps.

E sembra funzionare correttamente anche sull'iPhone!