微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > Servlet/JSP >

Facebook 平台详解

时间:2016-09-20 04:01  浏览:努力统计中...
全球第二大社交网站的facebook推出的开发平台在几个月之内迅速走红。在拒绝了 yahoo,google等的收购后,它的狼子野心也暴露无遗,它要做基于web的OS,在它的开放发台上可以搭建集成任
全球第二大社交网站的facebook推出的开发平台在几个月之内迅速走红。在拒绝了 yahoo,google等的收购后,它的狼子野心也暴露无遗,它要做基于web的OS,在它的开放发台上可以搭建集成任何应用。游戏、工作、理财一切都在facebook中了,浏览器+facebook,会成为以后人们的生活方式吗?

然而不得不说facebook的官方文档既乱且差, 很多刚开发facebook应用的人可能都会丈二和尚摸不着头脑。这篇日志算是八卦+tutorial吧。



一、facebook简介

这段纯属废话,给那些不解facebook, 又不愿意点链接的人看。

Facebook发源于哈佛大学,是目前社会化网络和web2.0的风向标。这个网站目前全球排名第8位,估值可能超过100亿美元。而Facebook开放平台的推出,更是让互联网业内认为它是最有可能和Google比肩的公司。 Facebook创建于2004年2月。这样的高速增长和短短三年多取得的成就,成为当今互联网发展的一个奇迹。



(Facebook创始人兼CEO Mark Zuckerberg)



这里的介绍更详细:

http://www.yeeyan.com/articles/view/thunder/2346



二、facebook platform

2007年5月24日,Facebook推出应用编程接口(API)。通过这个API,第三方软件开发者可以开发在Facebook网站运行的应用程序。这被称为Facebook开放平台(Facebook Platform)。

没有什么比facebook创始人mark Zackerberg的总结更好了:

"We want to make Facebook into something of an operating system so you can run full applications," Zuckerberg told me, saying it would be analogous to the platform that Microsoft Windows provides for developers.

去 http://www.facebook.com/apps/ 看看吧, 那里的应用真是应用尽有。

读写网总结的top 10 facebook apps也相当的棒:

http://www.readwriteweb.com/archives/top_10_facebook_apps_work.php

http://www.readwriteweb.com/archives/top_10_facebook_apps_play.php



三、facebook 应用概述

1、平台开发环境

Facebook的开发环境是LAMP, 这套传统的linux+apache+mysql+php的架构尽管被很多java程序员和ruby程序员所不屑,但它却仍然以绝对的优势占据着主导地位。

不过这对java程序员来说确实有点痛苦,因为facebook官方包装的java client相当的差,更关键的是它没有提供任何java开发web应用的例子和文档。幸亏还有一些非官方的tutorial。地址附在后面。



2、应用集成

谈到应用集成, 我们首先想到的是web services 和SOA,这些被工业界吹了那么多年的buzzword终于得到了推广,然而值得讽刺的是最后web services的推广形式不是他们花了那么多年想出来的SOAP标准,而是最简单又不用任何标准的REST,facebook正是提供了一堆REST的 Web services(从严格意义上说facebook的所有service都是POST过去的,URL也没有完全遵守REST)。

然而这个层面的集成显然不能满足facebook作为web OS的需要,facebook需要让application运行在它提供的平台上。看看操作系统的需要就能想象到facebook的web OS应用提供怎么的集成。

在windows上我们需要安装应用软件,facebook提供了完整的搜索、浏览、添加application的方式。

在windows上我们利用各种快捷方式让应用运行在自己的平台里,facebook提供了运行应用的简单入口,而所有的应用都是在facebook内部展示的。

记得前几天看到的一篇文章将应用集成分为三个层面:

1 基于web services和SOA的应用程序交互

2 平台运行在内部服务器上,而各种应用运行在外部服务器上,这正是facebook的方式

3 平台和应用都运行在内部服务器上

但是不知道他有没有想过第三种集成方式的扩展性和伸缩性是多么贫乏,我相信facebook的集成方式才是最好的方式。

Facebook的这篇官方文档解剖了facebook应用集成到平台后的各个界面展示:

http://developers.facebook.com/anatomy.php



四、facebook应用种类

Facebook提供了三类的应用:

External application

Iframe         

fbml

1、 external application没什么好说的,就是基于web services的集成,外部应用在经过facebook的认证后可以调用facebook提供的一些web services。

2、 Iframe的集成也相当简单,只是在facebook平台的应用页面上放了个iframe, iframe里跑的是应用程序的应用。好象facebook里的最火的应用之一top friends是用iframe做的。但是由于iframe的天生限制,使它无法完全集成facebook平台提供的功能,如fbml,在页面的显示上也有些怪。

3、目前应用用的最多还是fbml。因为在fbml的应用中,facebook平台的页面(下图所示的菜单部分)和应用程序的页面(如下图黄色部分)是无缝显示的,看上去完全象是一个应用做的事。想象成OS的话,外部的菜单栏更象是windows提供的桌面和开始菜单,黄色区域则是应用程序。
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线------
栏目列表
推荐内容