Es wird mal wieder Zeit für eine Rezension von einem interessanten Buch. Diesmal ist das Thema Facebook. Ich beschäftige mich seit einiger Zeit mit Facebook aus der Sicht eines Softwareentwicklers. Vor allem die Graph API ist ein spannendes Thema. Es gibt viele Aspekte, die einem Anfänger Steine in den Weg legen. Diese Steine wegzuräumen ist ganz wichtig und ich fand es daher einfach mal interessant, wie außerhalb von Foren, StackOverflow etc damit umgegangen wird.
Das Buch „Praxishandbuch Facebook-Programmierung“ von Stephan Alber, Klaus Breyer und Kornelius Nägele habe ich daher unter den oben genannten Gesichtspunkten gelesen.
Im ersten Kapitel gibt es eine kurze Einführung warum es sinnvoll ist sich mit der Facebook Programmierung zu beschäftigen und welche Software für die Beispiele im Buch verwendet werden. Es wird vor allem auf PHP und Javascript gesetzt. Dies sagt einerseits der Untertitel des Buch, andererseits ist das auch die Basis auf die Facebook selbst setzt.
Weiter geht es mit Grundlagen auf Facebook Seite. Wie kommt man an einen Entwickler Account, was für Facebook Apps gibt es und wie lege ich diese an. Alles wichtige Punkte für den Anfänger. Und wirklich schön zusammen gefasst. So sollte man die ersten Schritte gehen können.
Und schon kommen wir bei dem Thema Graph API an. Hier ist das Buch etwas schwach. Weil ein paar Grundlagen vermittelt werden, aber vom Benutzer erwartet wird sich die Infos auf Facebook durchzulesen. Wichtige Informationen wie „signed requests“ werden aber dennoch genauer erklärt. Das Kapitel ist für mich dennoch okay, weil Facebook die APIs häufiger aktualisiert und ein Buch eigentlich für genau diese Information der falsche Platz ist. Dennoch hätte ich ein paar Tipps und Tricks erwartet.
Nach einem kurzen Ausflug zu Open Graph geht es auch schon über die Beschreibung von einigen Entwicklungstools zu dem Facebook Login. Das Facebook Login ist für die Nutzung der Facebook API ein essentieller Bestandteil und als solcher auch nicht ganz einfach. Viele Möglichkeiten zur Einstellung sind zu meistern, um dem Benutzer ein ordentliches „Erlebnis“ zu ermöglichen. Neben der Darstellung gibt es auch Tipps zum Testen, dem Login Callback und – ganz wichtig – der Rechteverwaltung. Die Rechte sind ganz spannend und in einige Kategorien einsortiert. Weiter sollte man sich hier auch genau anschauen für welche Aktion in einer Applikation welches Recht benötigt wird. Dies wird in einem späteren Kapitel wieder wichtig. Das Zurücknehmen von Berechtigungen und das Aktualisieren wird ebenfalls behandelt. Alles wird wieder mit Praxisbeispielen und Quellcodes hinterlegt. Auch wird hier Parse zu Hilfe genommen, sodass man verschiedene Möglichkeiten der Login-Nutzung sieht.
Mit dem Login alleine kann man einen Benutzer noch nicht richtig begeistern und darum gibt im Anschluss gleich ein umfangreiches Kapitel mit Anwendungsbeispielen. Es gibt eine Voting App, bei der man für ein Foto des Monats abstimmen kann. Hier wird dann auch mit Parse gearbeitet. Die Anwendung wird dann in eine „Open Graph“ Anwendung umgebaut und die Nutzung von „Custom Open Graph“ Objekten wird aufgezeigt. Eine Profilbild App, die Avairy nutzt, wird entwickelt und das Thema „Maps und Location“ kommt auch nicht zu kurz. Zum Schluss wird noch auf die Nutzung der Social Context API eingegangen und auch noch gezeigt wie man Seitenbeiträge erstellt. Hier ist dann vor allem der Umgang mit Page Access Tokens wichtig und wird auch passend erklärt. Alle Themen sind wieder mit Quellcode versehen und sehr praxisnah. Im Prinzip werden alle wichtigen Konzepte angesprochen und man sollte als Entwickler den Transfer zur eigenen App-Idee schnell hinbekommen.
Außen vor war bisher die Kategorie Spiele. Facebook lebt sehr von den ganzen Spielen und Farmville war ja früher in aller Munde (um das ganz wertungsfrei zu sagen 🙂 ). Bei Spielen ist es vor allem wichtig das Spiel bekannt zu machen und neue Spieler zu finden. Hierbei wird dann von Facebook auch einiges bereitgestellt. So gibt es neben der Achievement-API auch eine Scores-API und Spieler können Requests an Freunde senden und Freunde finden und einladen ist auch möglich. Es wird wieder mit Parse gearbeitet und die verschiedenen Möglichkeiten aufzuzeigen.
Auch wenn man eine tolle App hat (sei es ein Spiel oder etwas „Seriöses“) so steht man noch vor einer Schwierigkeit, die im Kapitel 9 des Buchs gut behandelt wird. Wie bekommt man eine App in den App Store und vor allem wie übersteht man den Review Prozess. Dieser ist nicht ganz trivial und es hilft hier sehr, wenn man im Vorfeld genügend Informationen zu dem Prozess hat. Sodass man gleich von Beginn an alle notwendigen Informationen an Facebook übermitteln kann. Fallbeispiele und Best Practices runden das Kapitel ab und auch eine kurze Erklärung was man im Falle einer Ablehnung tun kann ist vorhanden. Für jeden App Entwickler ohne Review Erfahrung ein sehr wichtiges Kapitel und äußerst lesenswert.
Nachdem man nun eine Facebook App entwickelt hat und diese erfolgreich zu Facebook publizieren konnte, möchte man auch wissen wie erfolgreich die Applikation ist. Hier wird man auch wieder von Facebook unterstützt. Die Facebook Insights sind ein sehr hilfreiches Tool, damit man sehen kann ob man Optimierungen in den Anfragen durch führen sollte und wie häufig die App benutzt wird. Für die Seitenreiter gibt es einen extra Abschnitt. Also insgesamt sollte man hier den Erfolg ganz gut erkennen können.
Fazit:
Das „Praxishandbuch Facebook-Programmierung“ hatte mich beim ersten durchblättern nicht sehr überzeugt, nach einem genaueren durchlesen und durcharbeiten bin ich nun begeistert. Vor allem da es noch relativ aktuell ist, kann man damit zum jetzigen Zeitpunkt noch relativ viel anfangen. Einige ältere Bücher der Konkurrenz, die auf der Graph API 1.0 oder noch vor der Versionierung ansetzen, kann man heute wegen der erheblichen Änderungen und dem stetigen Fortschritt der Graph API nicht mehr benutzen.
Neben der Aktualität hat mich vor allem die Vielfalt der Tools und Dienste begeistert. Auch wenn man sich schon länger mit dem Thema Facebook beschäftigt, kann man hier noch einiges außen rum (kennen)lernen.
Mit Parse, PHP und Javascript wird auf die von Facebook präferierten Technologien gesetzt und ist an dieser Stelle für mich sehr schlüssig. Möchte man andere Programmiersprachen nutzen, so sollte man die Code Beispiele durchaus verstehen, muss den Transfer aber selbst leisten. Insgesamt also okay.
Ein kleiner Minuspunkt ist für mich die Graph API Beschreibung. Hier gibt es einige Details, die man beachten sollte und die das Leben einfacher machen. Diese Informationen findet man nicht im Buch, muss aber die angegebenen weiterführende Dokumentation bei Facebook bemühen. Da es aber bei Facebook selbst eine sehr gute Gruppe, bei Stackoverflow ein Facebook Bereich gibt, ist das für mich okay.