SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Social Network
Application Programming



        Barcamp Stuttgart 2
      Katrin Mathis (@kanyma)
Facebook
                > 250 Millionen aktive Benutzer

                API seit Mai 2007
                > 1.000.000 Entwickler aus 180 Ländern
                > 350.000 aktive Anwendungen


Katrin Mathis | 13.09.2009                               2
Facebook




Katrin Mathis | 13.09.2009   3
Facebook




Katrin Mathis | 13.09.2009   4
Facebook API: Scope
                Canvas
                Profile
                Feed
                Requests




Katrin Mathis | 13.09.2009          5
Facebook API: API, FQL
         $friends = $facebook->api_client->friends_get();


                ReST
                Rückgabeformate XML oder JSON
         $query = "SELECT first_name, last_name, pic FROM user WHERE uid
         IN (SELECT uid2 FROM friend WHERE uid1 = $user_id)";
         $results= $facebook->api_client->fql_query($query);


              direkter Zugriff
Katrin Mathis | 13.09.2009                                                6
Facebook API: FBML
         echo "<fb:profile-pic uid="$friend" /> <fb:name uid="$friend" />";


                HTML und spezielle Facebook-Tags
                Custom Tags
                komplette Funktionalität, z.B.
                 <fb:board xid="1"></fb:board>


                CSS mit Einschränkungen

Katrin Mathis | 13.09.2009                                                       7
Facebook API: FBJS
                getters/setters
                eingeschränkte Nutzbarkeit Libraries
                Mock Ajax
                 <a clickrewriteurl='...' clickrewriteform='dummy_form' [...]


                Animation
                 <a href="#" onclick="Animation(this).to('background', '#fff').from
                 ('background', '#ff0').go(); return false;">Flash</a>


Katrin Mathis | 13.09.2009                                                            8
Facebook API: Links
                Developer Application
                Client Libraries
                Developer Wiki
                Test Console
                Forum


Katrin Mathis | 13.09.2009              9
OpenSocial
                ca. 800 Millionen registrierte Nutzer
                ca. 27 Live Container

                API seit November 2007
                7.500 Anwendungen


Katrin Mathis | 13.09.2009                              10
OpenSocial: Container




Katrin Mathis | 13.09.2009            11
OpenSocial: Container
                Implementierung und Bedingungen
                Sache der Container
                XRDS, um dynamisch zu ermitteln,
                was unterstützt wird
                Applikation muss bei jedem
                Container angemeldet werden


Katrin Mathis | 13.09.2009                         12
OpenSocial




Katrin Mathis | 13.09.2009   13
OpenSocial: 1. Client-side
         <?xml version="1.0" encoding="UTF-8" ?>
         <Module>
          <ModulePrefs title="Standard gadget structure">       XML Struktur
           <Require feature=”opensocial-0.8” />
            <Require feature=”views” />
          </ModulePrefs>
                                                                JavaScript
          <Content type="html" view=”profile”>
          <![CDATA[                                         function onLoadFriends
            This section contains the profile content        (data) {
          ]]>
          </Content>                                         var viewer = data.get
          <Content type="html" view=”canvas”>               ('viewer').getData(); [...]
          <![CDATA[
            This section contains the canvas content
           ]]>
           </Content>
         </Module>

Katrin Mathis | 13.09.2009                                                                14
OpenSocial: 2. Server-side
                Library in vielen Programmiersprachen
                entfernte Aufrufe mit RPC/REST
                 gadgets.io.makeRequest(url, callback, opt_params)


                Rückgabe in JSON, AtomPub oder XML
                Authentifizierung über OAuth


Katrin Mathis | 13.09.2009                                           15
OpenSocial
                Seit Version 0.9 OSML
                 Welcome, <os:Name person="${Viewer}"/>




Katrin Mathis | 13.09.2009                                16
OpenSocial: Links
                OpenSocial Containers
                Google Gadgets Editor
                Client Libraries
                Developer Wiki
                Forum


Katrin Mathis | 13.09.2009              17
Facebook vs. OpenSocial
                Proprietäre vs. offene Standards
                OpenSocial mehr Netzwerke =
                mehr Benutzer
                Open Social Apps weniger spezifisch,
                Facebook Apps tiefer integriert,
                mehr virale Effekte


Katrin Mathis | 13.09.2009                             18

Weitere ähnliche Inhalte

Ähnlich wie Social Network Application Programming

OpenSocial und Apache Shindig
OpenSocial und Apache ShindigOpenSocial und Apache Shindig
OpenSocial und Apache ShindigMayflower GmbH
 
Anwendungsbeispiele von Enterprise Mashups
Anwendungsbeispiele von Enterprise MashupsAnwendungsbeispiele von Enterprise Mashups
Anwendungsbeispiele von Enterprise Mashupstischmid
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresMatthias Jauernig
 
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...e-dialog GmbH
 
Attribute in SAML und Attribut-Handling am Shibboleth Identity Provider
Attribute in SAML und Attribut-Handling am Shibboleth Identity ProviderAttribute in SAML und Attribut-Handling am Shibboleth Identity Provider
Attribute in SAML und Attribut-Handling am Shibboleth Identity ProviderWolfgangPempe
 
2019 DNUG #46: Mobil bis Desktop auf einen Schlag – Web-Anwendungen zu Progre...
2019 DNUG #46: Mobil bis Desktop auf einen Schlag – Web-Anwendungen zu Progre...2019 DNUG #46: Mobil bis Desktop auf einen Schlag – Web-Anwendungen zu Progre...
2019 DNUG #46: Mobil bis Desktop auf einen Schlag – Web-Anwendungen zu Progre...Knut Herrmann
 
Vaadin - Thinking of U and I (JUG KA 2013)
Vaadin - Thinking of U and I (JUG KA 2013)Vaadin - Thinking of U and I (JUG KA 2013)
Vaadin - Thinking of U and I (JUG KA 2013)Christian Janz
 
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenDBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenGunther Pippèrr
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinVerein FM Konferenz
 
DACHNUG50 CNX2 Troubleshooting hcl connections.pdf
DACHNUG50 CNX2 Troubleshooting hcl connections.pdfDACHNUG50 CNX2 Troubleshooting hcl connections.pdf
DACHNUG50 CNX2 Troubleshooting hcl connections.pdfDNUG e.V.
 
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...Verein FM Konferenz
 
2006 - Basta!: Web 2.0 mit asp.net 2.0
2006 - Basta!: Web 2.0 mit asp.net 2.02006 - Basta!: Web 2.0 mit asp.net 2.0
2006 - Basta!: Web 2.0 mit asp.net 2.0Daniel Fisher
 
Vorstellung Open Social Ipc 2009
Vorstellung Open Social Ipc 2009Vorstellung Open Social Ipc 2009
Vorstellung Open Social Ipc 2009fruske
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien DNUG e.V.
 
FMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
FMK2017 - Das iOS FileMaker URL Schema by Alexis GehrtFMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
FMK2017 - Das iOS FileMaker URL Schema by Alexis GehrtVerein FM Konferenz
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als CacheDaniel Fisher
 

Ähnlich wie Social Network Application Programming (20)

OpenSocial und Apache Shindig
OpenSocial und Apache ShindigOpenSocial und Apache Shindig
OpenSocial und Apache Shindig
 
Anwendungsbeispiele von Enterprise Mashups
Anwendungsbeispiele von Enterprise MashupsAnwendungsbeispiele von Enterprise Mashups
Anwendungsbeispiele von Enterprise Mashups
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core Middlewares
 
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
 
Attribute in SAML und Attribut-Handling am Shibboleth Identity Provider
Attribute in SAML und Attribut-Handling am Shibboleth Identity ProviderAttribute in SAML und Attribut-Handling am Shibboleth Identity Provider
Attribute in SAML und Attribut-Handling am Shibboleth Identity Provider
 
2019 DNUG #46: Mobil bis Desktop auf einen Schlag – Web-Anwendungen zu Progre...
2019 DNUG #46: Mobil bis Desktop auf einen Schlag – Web-Anwendungen zu Progre...2019 DNUG #46: Mobil bis Desktop auf einen Schlag – Web-Anwendungen zu Progre...
2019 DNUG #46: Mobil bis Desktop auf einen Schlag – Web-Anwendungen zu Progre...
 
Vaadin - Thinking of U and I (JUG KA 2013)
Vaadin - Thinking of U and I (JUG KA 2013)Vaadin - Thinking of U and I (JUG KA 2013)
Vaadin - Thinking of U and I (JUG KA 2013)
 
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenDBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
 
DACHNUG50 CNX2 Troubleshooting hcl connections.pdf
DACHNUG50 CNX2 Troubleshooting hcl connections.pdfDACHNUG50 CNX2 Troubleshooting hcl connections.pdf
DACHNUG50 CNX2 Troubleshooting hcl connections.pdf
 
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
 
2006 - Basta!: Web 2.0 mit asp.net 2.0
2006 - Basta!: Web 2.0 mit asp.net 2.02006 - Basta!: Web 2.0 mit asp.net 2.0
2006 - Basta!: Web 2.0 mit asp.net 2.0
 
Vorstellung Open Social Ipc 2009
Vorstellung Open Social Ipc 2009Vorstellung Open Social Ipc 2009
Vorstellung Open Social Ipc 2009
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
 
GWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der PraxisGWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der Praxis
 
Chatbot Hackathon Slidedeck
Chatbot Hackathon SlidedeckChatbot Hackathon Slidedeck
Chatbot Hackathon Slidedeck
 
FMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
FMK2017 - Das iOS FileMaker URL Schema by Alexis GehrtFMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
FMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
 
Enterprise APEX
Enterprise APEXEnterprise APEX
Enterprise APEX
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache
 

Social Network Application Programming

  • 1. Social Network Application Programming Barcamp Stuttgart 2 Katrin Mathis (@kanyma)
  • 2. Facebook > 250 Millionen aktive Benutzer API seit Mai 2007 > 1.000.000 Entwickler aus 180 Ländern > 350.000 aktive Anwendungen Katrin Mathis | 13.09.2009 2
  • 5. Facebook API: Scope Canvas Profile Feed Requests Katrin Mathis | 13.09.2009 5
  • 6. Facebook API: API, FQL $friends = $facebook->api_client->friends_get(); ReST Rückgabeformate XML oder JSON $query = "SELECT first_name, last_name, pic FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $user_id)"; $results= $facebook->api_client->fql_query($query); direkter Zugriff Katrin Mathis | 13.09.2009 6
  • 7. Facebook API: FBML echo "<fb:profile-pic uid="$friend" /> <fb:name uid="$friend" />"; HTML und spezielle Facebook-Tags Custom Tags komplette Funktionalität, z.B. <fb:board xid="1"></fb:board> CSS mit Einschränkungen Katrin Mathis | 13.09.2009 7
  • 8. Facebook API: FBJS getters/setters eingeschränkte Nutzbarkeit Libraries Mock Ajax <a clickrewriteurl='...' clickrewriteform='dummy_form' [...] Animation <a href="#" onclick="Animation(this).to('background', '#fff').from ('background', '#ff0').go(); return false;">Flash</a> Katrin Mathis | 13.09.2009 8
  • 9. Facebook API: Links Developer Application Client Libraries Developer Wiki Test Console Forum Katrin Mathis | 13.09.2009 9
  • 10. OpenSocial ca. 800 Millionen registrierte Nutzer ca. 27 Live Container API seit November 2007 7.500 Anwendungen Katrin Mathis | 13.09.2009 10
  • 12. OpenSocial: Container Implementierung und Bedingungen Sache der Container XRDS, um dynamisch zu ermitteln, was unterstützt wird Applikation muss bei jedem Container angemeldet werden Katrin Mathis | 13.09.2009 12
  • 13. OpenSocial Katrin Mathis | 13.09.2009 13
  • 14. OpenSocial: 1. Client-side <?xml version="1.0" encoding="UTF-8" ?> <Module> <ModulePrefs title="Standard gadget structure"> XML Struktur <Require feature=”opensocial-0.8” /> <Require feature=”views” /> </ModulePrefs> JavaScript <Content type="html" view=”profile”> <![CDATA[ function onLoadFriends This section contains the profile content (data) { ]]> </Content> var viewer = data.get <Content type="html" view=”canvas”> ('viewer').getData(); [...] <![CDATA[ This section contains the canvas content ]]> </Content> </Module> Katrin Mathis | 13.09.2009 14
  • 15. OpenSocial: 2. Server-side Library in vielen Programmiersprachen entfernte Aufrufe mit RPC/REST gadgets.io.makeRequest(url, callback, opt_params) Rückgabe in JSON, AtomPub oder XML Authentifizierung über OAuth Katrin Mathis | 13.09.2009 15
  • 16. OpenSocial Seit Version 0.9 OSML Welcome, <os:Name person="${Viewer}"/> Katrin Mathis | 13.09.2009 16
  • 17. OpenSocial: Links OpenSocial Containers Google Gadgets Editor Client Libraries Developer Wiki Forum Katrin Mathis | 13.09.2009 17
  • 18. Facebook vs. OpenSocial Proprietäre vs. offene Standards OpenSocial mehr Netzwerke = mehr Benutzer Open Social Apps weniger spezifisch, Facebook Apps tiefer integriert, mehr virale Effekte Katrin Mathis | 13.09.2009 18