Facebook 平台详解.txt14热情是一种巨大的力量,从心灵内部迸发而出,激励我们发挥出无穷的智慧和活力;热情是一根强大的支柱,无论面临怎样的困境,总能催生我们乐观的斗志和顽强的毅力……没有热情,生命的天空就没的色彩。全球第二大社交网站的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)
这里的介绍更详细:
yeeyan/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.
去 facebook/apps/ 看看吧, 那里的应用真是应用尽有。
读写网总结的top 10 facebook apps也相当的棒:
readwriteweb/archives/top_10_facebook_apps_work.php
readwriteweb/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,这些被工业界吹了那么多年的buzz
word终于得到
了推广,然而值得讽刺的是最后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 平台和应用都运行在内部服务