Abdullah Önden

Academician Dr. Faculty Member

Facebook Application Yapmak?

19 Ekim 2007

Her yerde facebook, herkeste facebook

Hatırlıyorum da bir sıralar yonja.com diye bir şey vardı aynen facebook gibi. Fakat bu örnek biraz daha farklı. En azından limitler var (esasında oldukça limit var), en azından İngilizce bilmeyenler pek etkin olamıyor. Bu da (en azından Türk kullanıcıları için) bir eleme demek. Bunun sonucunda da daha farklı bir kullanıcı kitlesi ortaya çıkıyor. Fakat neden bu facebook denen hadise bu kadar popüler oldu? Benzer pek çok komünite hali hazırda vardı? Ama o uygulama (applicationlara uygulama diyeceğim bundan sonra) hazinesi yoktu hiç birinde değil mi?

Evet, facebook garip bir hızla büyüdü. Kulaktan kulağa denebilir belki ama yaratıcıları şahane bir altyapı ile karşılıyorlardı misafirlerini. Uygulamalar ise en çok dikkat çeken şeyler oldu, zira pek çok komünite sisteminde bu denli kullanıcıya panelini yönetebilme imkanı sunan bir platform yoktu.

Peki ya Facebook için uygulama geliştirme?



Nasıl oluyor da bu denli kalabalık bir uygulama arşivi inşaa edilebilmiş demişsinizdir belki siz de içinizden. Ortaya çıkalı ne kadar oldu da 6000 den fazla uygulama geliştirilebildi?

Elbette bu ortak bir inşaanın sonucu. Paylaşımcı içerikten sonra popüler bir sistem de paylaşımcı inşaa olacak gibi gözüküyor. Elbette daha evvelden denenen bu sistemler Facebook'ta zirve yapmış durumda. Dikkat ederseniz ekstra uygulamaları olmadan Facebook klasik bir arkadaşlık sisteminden farksız.

Facebook'un Anatomisi



Alıyoruz neşterimizi elimize ve başlıyoruz Facebook yapısını incelemeye.

Facebook, Left Bar (Sol Menü) ve FaceBook Canvas Pages'ten oluşuyor esasında.



Sol menü eklediğimiz uygulamaların listelendiği güçlü bir menü uygulamasıdır. Facebook Ajax altyapısı kullandığından bu menüde drag and drop özelliği mevcuttur, yani menünüzü kolayca tasarlayabilirsiniz.

Canvas Page kısmı ise uygulamaların koştuğu içerik alanıdır. Bu kısımda bir uygulamaya bağlı tüm işlemler gerçekleştirilir.

Hali hazırda profilinizin detayların listelendiği sayfa da bir canvas sayfadır.

Bunun yanında her uygulamanın bir ana sayfası vardır. Bu kısım sol menüden tıklandığında gelen alandır.



Çoğu uygulama facebook kullanıcılarının profillerinde gözükür. Bu kısım belki de uygulama geliştiricilerinin en fazla üstünde yoğunlaşması gereken alanlardan biridir. Zira bir uygulamanın hızla yayılması profiller vasıtası ile olur. Bu sebeple bu alan tasarlanırken karışık olmayan fakat ilgi çekici uygulamalar düşünülmelidir.

Elbette bunların yanında pek çok özellik de mevcut. Fakat şimdilik bunları biliyor olmamız yeterli.

Şimdi geçelim uygulamamızın içine dalmaya.

Bir Uygulama Geliştirelim



Öncelikle http://developers.facebook.com/ adresinden Get Started kısmına ulaşıp Add Facebook Developer Application diyerek uygulama geliştiricileri için tasarlanan uygulamayı profilimize yüklemeliyiz. Bundan sonra developer uygulamamıza girip Setup New Application diyerek ilk uygulamamızı listemize alabiliriz.

Bu adımdan sonra yapılacak şeyler hayalimizdeki uygulamanın bilgilerini içermektedir. En önemlileri olan Application Name uygulamamızın ismi, Callback Url uygulamamızın yer alacağı dizinimizdir. Unutulmamalıdır ki facebook kullanıcılarına bir alan vermemektedir. Bu sebeple çalışmalarımızı kendi hostingimiz üzerinden yapmalıyız. Canvas Page URL ise uygulamamızın kısa yolu olacaktır. Akılda kaılıcı ve uygulamamızın ismi ile alakalı bir kısayol olmasına dikkat edilebilir, edilmeyebilir de.

Bir şekilde bu aşamaları geçtikten sonra uygulamanızı listenize ekleyebileceksiniz. Fakat elbette iş çok daha farklı.

Facebook bildiğimiz mantıkların ötesine geçmiş durumda. Bizlere FBML (Facebook Markup Language), FQL gibi alışık olmadığımız bir çalışma örneği sunuyor. Hatta "oha adamlar kendi dillerini yazmışlar" diyorsunuzdur içinizden sanırım.

Bu denli derin bir konuya girip darmadağın olmak istemediğimden kısa kısa özetliyorum. Belki ileride daha ayrıntılı bir döküman hazırlayabiliriz.

Şimdi bu facebook ile çalışabilmek için iki önemli anahtara ihtiyacımız var. İlki API Key, diğeri ise Secret Key. Bunlar API geçişlerinde Facebook'un uygulamanızı güvenli bir şekilde tanımasına olanak sağlayan köprü anahtarcıklarıdır. Uygulamanızın config dosyasında muhakkak tanımlanmalıdırlar.
$appapikey = '[your api_key]';


$appsecret = '[your secret]';

$facebook = new Facebook($appapikey, $appsecret);

$user = $facebook->require_login();

Şeklinde facebook uygulamamızı çalıştırabiliriz.

Fakat öncelikle bu classları tanıyacak altyapıyı elde etmemiz gerekli. Eğer ki PHP kullanıcısı iseniz Client Library'niz hazır. http://developers.facebook.com/resources.php adresinden edinebilirsiniz. Bundan sonra tek yapmanız gereken ilgili dosyaları include ederek tasarımınızı yapmanız.

http://developers.facebook.com/step_by_step.php#downloads adresinden facebook'un developer adaylarına yardım olması amacı ile sunduğu örnek uygulamayı keşfedebilirsiniz.

Şimdilik bu kadar.
Not: Facebook Applcation projesi olup yazdırmak isteyenler detayları konuşmak üzere iletişim kısmından ulaşabilirler.