Die Quartalszahlen von Facebook beweisen es jedes Mal aufs Neue: Immer mehr Menschen nutzen Facebook. Wäre Facebook ein Land, wäre es das drittgrößte Land der Welt.
Aber nicht nur das: Immer mehr Menschen nutzen Facebook ausschließlich mobil. Ob als native App oder im mobilen Web, Facebook hat seine Stellung als digitaler Begleiter unseres Alltags gefestigt. Und allen Unkenrufen zum Trotz, Facebook wäre jedoch nur ein etwas längerer Hype, bevor das nächste Social-Network von sich reden macht, wenn Mark Zuckerberg nicht allen Unkenrufen zum Trotz massiv in Facebook investiert und mit seiner Initiative »internet.org« sogar komplett unerschlossenen Zielgruppen in Entwicklungsländern Zugang zum Internet zu verschafft.
Aber es ist nicht nur Facebook selbst. Das soziale Netzwerk hat über die Jahre hinweg ein eigenes Ökosystem geschaffen. Auf der einen Seite gibt es die Marketing-Partner, die mit ihren mächtigen Services im Bereich des Programmatic Buyings Werbemittel verkaufen, praktische Community-Management-Tools anbieten oder aus Communitys mit Millionen Fans Insights generieren.
Auf der anderen Seite, mehr dem Konsumenten zugewandt, gibt es aber auch mächtige Social Games, die ohne Facebook und die Freundesliste gar nicht ihre Verbreitung in dieser Form erfahren hätten. Die mobile Gaming-Industrie macht eine Menge Geld durch Facebook – und steckt auch eine Menge wieder hinein, in Form von Werbeanzeigen. Und natürlich steht es auch jedem selbst offen, Teil dieses Kosmos zu werden.
Facebook ist sich bewusst, wie wichtig ein solches Ökosystem ist. Deshalb pflegen und nähren sie es so gut wie eben möglich. Als Teil dieser Initiative wurde die Entwicklerkonferenz F8 zu einer jährlichen Konferenz ausgebaut. Und jedes Jahr werden damit unsere Stable-Implementierungen aufs Neue herausgefordert, um mit immer neuen Features und »Breaking Changes« des sozialen Netzwerks Schritt zu halten.
Klar, schön ist anders. Aber die Zeit, in der eine Software einmal implementiert wird und anschließend über Jahre ohne grundlegende Änderungen eingesetzt werden kann, neigt sich dem Ende zu. Facebook versucht, mit hohem Innovationstempo die Mitbewerber auf Abstand zu halten und gleichzeitig über Zukäufe die wichtigsten Trends in sich aufzunehmen. Gleichermaßen sind aber auch die Firmen und Apps im Ökosystem immer wieder aufs Neue herausgefordert, sich weiterzuentwickeln und anzupassen.
Dieses Buch zeigt, dass man keine besonderen Hürden nehmen muss, um Teil dieses Ökosystems zu werden. Eigentlich unterscheiden sich die Anforderungen nicht großartig von den gängigen Web-Techniken. Wir nutzen hier die am weitesten verbreiteten Web-Skriptsprachen JavaScript und PHP.
Wir springen direkt ins kalte Wasser. Denn los geht es in Kapitel 2 mit deiner ersten Facebook-Anwendung. Wir begleiten dich, wenn du deinen Entwickler-Account erstellst, deine erste Anwendungsinstanz einrichtest, erklären dir, welche unterschiedlichen Typen von Facebook-Anwendungen es gibt, und schaffen es sogar, dass am Ende ein »Hallo Welt« erscheint!
Ans Eingemachte geht es erst im darauffolgenden Kapitel 3. Hier lernst du erst einmal, wie die API von Facebook grundsätzlich aufgebaut ist, welche Endpunkte es gibt und mit welchen SDKs du sie ansprechen kannst.
Spezialisieren werden wir uns in diesem Buch auf die Graph-API in Kapitel 4, denn die Graph-API bildet den größten Teil der Funktionalität ab, die man für »Social Apps« benötigt. Ein Teil davon sind auch die »Like«-Buttons, mit denen Facebook das gesamte Internet überzogen hat.
Als letzte theoretische Station vor dem praktischen Teil befassen wir uns in Kapitel 5 mit allgemeinen Entwicklungstools, die uns bei der Anwendungsentwicklung behilflich sein werden. Dazu gehören JavaScript-Templates mittels Handlebars, das CSS-Framework Twitter Bootstrap und auch Parse, ein Dienst zur Datenspeicherung, der von Facebook im Jahr 2013 akquiriert wurde.
Fast genauso bekannt und beliebt wie die »Like«-Buttons ist der »Login with Facebook«. In Kapitel 6 lernst du die Grundlagen dieser Autorisierung mit Facebook und worauf es dabei ankommt. Auch wenn es erstaunlich einfach ist, einen solchen Login zu implementieren, liegt der Teufel später im Detail, wenn du mehr als nur eine ID und den Namen eines Nutzers wissen möchtest.
Richtig knietief in Code begeben wir uns in Kapitel 7 mit den Anwendungsbeispielen: Du lernst in diesem Kapitel, eine der beliebesten Marketing-Anwendungen der letzten Jahre zu implementieren, nämlich ein Foto-Voting. Als besonderes Schmankerl werden die Votings sogar per Open-Graph-Actions im Newsfeed der teilnehmenden Freunde dargestellt. Aber wir werden uns auch sehr viel mit dem Lesen von Daten aus dem sozialen Graphen beschäftigen – eine wichtige Lektion, um auch etwas über die Nutzer deiner Anwendung zu lernen. Als Krönung wirst du schließlich lernen, wie du über die Graph-API auch als Facebook-Fanpage agieren kann. Du wirst programmatisch Beiträge auf einer solchen Fanpage hinterlassen.
Die eingangs schon erwähnten Spiele werden in Kapitel 8 behandelt. Doch da sich ein Spiel nicht von alleine verbreitet, wirst du lernen, wie man Highscores und Achievements veröffentlicht. Und um den Spielern direkt ein Tool zum Einladen von Freunden in die Hand zu geben, werden wir die Implementierung eines solchen Tools vorstellen.
Da die von Facebook gebotenen Features ziemlich mächtig sind, ist vor Funktionen, die einen Entwickler besonders viele Nutzerdaten auslesen lassen oder die besonders reichweitenstark sind, ein Freigabeprozess geschaltet. Mit einigen unserer Tipps wirst du in Kapitel 9 erfahren, wie dieser Prozess gemeistert werden kann.
Hast du eine erfolgreiche Anwendung bereits programmiert (oder läuft sie bereits), wird dich sicherlich auch interessieren, wie d...