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)语法。用户浏览器解析并展现在用户面前。
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)语法。用户浏览器解析并展现在用户面前。