The King is dead! RIP 2006-2012

Ένα μεγάλο ευχαριστώ σε όλη την παρέα
Περισσότερα στο lexx.gr

H πλατφόρμα του Facebook

17 Sep 2008 by PanosJee

Αναμφίβολα το Facebook είτε μας αρέσει είτε όχι είναι πανίσχυρο. Το χρησιμοποιούν όλοι οι φίλοι μας και δε μιλάω για αυτούς που διαβάζουν Webz, μιλάω για τη Μαρία, τον Αντώνη, τους συναδέλφους, τα παιδιά από το σχολείο και λοιπά. Είτε το θέλουμε είτε όχι η κοινωνική διάσταση των εφαρμογών είναι διαρκώς αυξανόμενη. Δείτε πχ. τα Google Docs, Basecamp και λοιπά όπου πολλοί χρήστες συνεργάζονται online.

Υπάρχουν όμως και χρήσιμες εφαρμογές για Facebook όπως το Zoho Office και σίγουρα θα δούμε κι άλλες αν και πιστεύω ότι το πιο σημαντικό όλων είναι το Facebook Connect. Σταδιακά πολλές εφαρμογές θα διαθέτουν και ένα Facebook interface πέρα από το κανονικό έτσι ώστε να εκμεταλλεύονται το virality που προσφέρεται. Αυτό όμως θα το παρουσιάσουμε λίγο αργότερα με εκτενή αναφορά στο πώς να το ενσωματώσουμε στις εφαρμογές μας. Προς το παρών θα κάνουμε μια μικρή ανάλυση των nuts and bolts της πλατφόρμας του Facebook.

Ας δούμε αρχικά που τρέχει μια εφαρμογή του Facebook - οι οποίες πλέον μοιάζουν με εφαμοργές windows κατά κάποιο τρόπο αφού τις εγκαθιστούμε και τις ξεκινάμε όποτε θέλουμε χωρίς να βαραίνουν το προφίλ μας - σημειώστε το αυτό.

[caption id="attachment_1373" align="alignnone" width="500" caption="Facebook App Cycle"][/caption]

Μια εφαρμογή στο Facebook έχει ως πυρήνα της το facebook session. Δηλαδή ο κώδικας σας μοιράζεται το ίδιο session με το Facebook. Δηλαδή ξέρουμε ποιος χρήστης βρίσκεται στην εφαρμογή μας. Το Facebook κάθε φορά που εκτελείται η εφαρμογή μας στέλνει δεδομένα στο διακομιστή μας, εκεί εμείς εφαρμόζουμε τη λογική μας, δημιουργούμε τη διεπαφή μας (προσοχή, το Facebook είναι πολύ αυστηρό και στρυφνό ώρες ώρες με το css, javascript) και τα αποτελέσματα τα περικλείει με το κλασσικό layout του.

Ομως δεν παίρνουμε απλά το session. Υπάρχει ένα σύνολο άλλων λειτουργιών και δυνατοτήτων:

  • FBML - Facebook Markup Language ή αλλιώς χρησιμοποιείστε ελάχιστο κώδικα για τετριμμένες διαδικασίες που αφορούν την εμφάνιση όπως το όνομα, η φωτογραφία ενός χρήστη ή τα defaults tabs ή διάλογοι κλπ του Facebook
  • FQL - Facebook Query Language, αναζητείστε φίλους με διάφορες παραμέτρους με μία γλώσσα όμοια της SQL
  • API - REST-like Web Service, μιλείστε με το Facebook. Στείλτε μια ειδοποίηση, γράψτε στο feed ενός χρήστη είτε δηλώστε συμμετοχή σε ένα event.
  • FBJS - Facebook Javascript, ναι javascript αλλά περιορισμένο έτσι ώστε να μην μπλέκεται με τα υπόλοιπα και μη δημιουργεί προβλήματα ασφάλειας
  • Mobile - Facebook Platform for Mobile, βάλτε την εφαρμογή σας σε κινητές συσκευές

Υπάρχουν διάφορες βιβλιοθήκες για τις περισσότερες γλώσσες οπότε η ενσωμάτωση με το Facebook είναι πολύ εύκολη. Όντας Rails developer έχω δουλέψει με το rFacebook αλλά υπάρχουν και ports για php, java, .net, python.

Υπάρχει Facebook development στην Ελλάδα; Η απάντηση είναι ναι και μάλιστα έχουν φτιαχτεί κάποιες από τα πιο δυνατά apps - σημειώστε τις απαιτήσεις σε scalability που απαιτούν οι εφαρμογές αυτές. Αν θα σας ενδιέφερε να δουλέψετε για το ελληνικό γραφείο της Grebooca - Sillicon Valley based ακολουθείστε το σύνδεσμο