facebook开发之我的感受

   在公司里,做了大半年facebook的工作。用php编码,偶尔也会编flash ActionScript或者C#。做的都是些web开发及相关的。倒是对facebook这个SNS(Social Network Service)老大有了很深的了解。这里就从技术架构、商业模式及运营现状上简单的解析一下。    

facebook平台是一个标 准的web service,提供了很多访问和产生数据的方法。在此平台上的开发者可以是个人,也可以是公司。凭借facebook提供给的平台,开发者可以开发出自 己的模块,这个模块在facebook上叫做facebook apps。凡是facebook的用户,都可能成为你的apps的用户。    

facebook 的开发平台包括了facebook developers wiki(facebook开发者威客)、facebook API、FBML(Facebook Markup Language标记语言)、FQL(Facebook Query Language查询语言)。这四者基本上是独立的,但是开发起来又息息相关。    

facebook developers wiki是开发者的威客,供开发者交流经验、提供意见,也是facebook自己的语言标准发布的地方。   

facebook API是一种基于REST(REpresentational State Transfer表述性状态转移)的接口。这意味着无状态通信,你可以随时通过HTTP POST/GET请求来获取或者更新数据。   

FQL是一种类似于SQL风格的查询语言,开发者可以通过FQL的接口查询数据。与通过facebook API查询到的数据相同。   

FBML的目的是为了统一用户的facebook体验。FBML实际上是HTML的再包装,不过并非全部,它只是包装了HTML的一部分标签。但这些足以够用。    

facebook apps有两种类型:web apps和desktop apps。两种类型的结构不相同,因此我们分开来说。   

对于web apps,也是我最熟悉的类型,它的facebook构架如下:    

第一步:用户向facebook web server发出请求,与一般的web请求无异。   

第二步:facebook web server根据分析得这个请求是属于哪个app的,查找这个app的callback url,并组成新的callback请求,向开发者的app服务器发出请求。   

第三步:开发者的web服务器接收到请求后,进行处理。若需要调用facebook的api或数据,则与facebook api server交互。   

第四步:开发者的web服务器向facebook api server交互,获取需要的数据,进行更新操作或者存储数据。  

第五步:开发者的web服务器向facebook web server返回请求。返回的页面采用的是FBML语法。facebook web server会将这种FBML语法经过处理,解析转换成HTML语法。   

第六步:facebook web server向用户browser返回页面,此页面为纯HTML(javascript、css)语法。用户浏览器解析并展现在用户面前。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值