俺的回收站

架构分析 解释编译原理
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

OpenSocial,FaceBook, NetVibes 初步分析

Posted on 2008-06-15 17:27  Riceball LEE  阅读(3083)  评论(3编辑  收藏  举报
OpenSocial, FaceBook, NetVibes 都致力于社区平台的研究发展。

其中OpenSocial和NetVibes侧重于整合并和提供第三方Gadget到社区平台的标准。而FaceBook则从自身平台的需要,为了吸引更多的开发者更容易开发FaceBook App,提供了平台API,并开放了部分平台源码。

FaceBook是从社区平台自身数据->API开始制定社区平台的标准的。而OpenSocial则是从社区平台的功能互联互通开始着手制定的。

与OpenSocial类似的则是Netvibes,Netvibes也是以Widget(Gadget)入手,提供了Universal Widget API,其侧重点为开发用于个性网站(个人门户或个人桌面)的通用的Widget。与iGoogle的Widget相比,其窗体的表现更为美观,功能更多,License为可用于商业化的GNU LGPL. 其Widget的XML格式也和OpenSocial的Gadget类似(不知道是谁抄袭谁的)。
他们都提供客户端Gadget API,RESTful API,以及Gadget容器。

shindig是google的一个opensocial容器的参考实现:http://incubator.apache.org/shindig/,实现了java和Php两种语言的容器服务器。php的较为简单,用svn checkout出来,即可用(我已经安装测试过了),java的必须使用Maven工具编译。

Netvibes Platform(LGPL Open Source):
  优势:开放(承诺源代码全部开放,兼容大部分Widget:iGoogle, Opera, Apple Dashboard, Window Vista, Window Live;但是目前的开放进度缓慢),美观,功能,速度
  弱势:公司没有足够的影响力去推动UWA作为标准

Exposition Widget Server 是Netvibes 提供的容器参考实现(PHP),我的测试是极为简陋,只是简单渲染了Widget的内容,根本没有窗体外壳,别谈什么功能了。

与FaceBook的比较(Facebook Open Platform(f8))
FaceBook License: Common Public Attribution License (CPAL) and Mozilla Public License (MPL)..

API: With the API, you can add social context to your application by utilizing profile, friend, Page, group, photo, and event data.
FBML: Facebook Markup Language (FBML) enables you to build full Facebook Platform applications that deeply integrate into a user's Facebook experience. You can hook into several Facebook integration points, including the profile, profile actions, Facebook canvas, News Feed and Mini-Feed.
FBML is an evolved subset of HTML with some elements removed, and others which have been added that are specific to Facebook. You set the FBML for a profile box by calling profile.setFBML through the API. The FBML is cached on Facebook's server until profile.setFBML is called again through a canvas page.
FQL:Facebook Query Language, or FQL, allows you to use a SQL-style interface to more easily query the same Facebook social data that you can access through other Facebook API methods (assuming your application has access!).
FBJS is Facebook's solution for developers who want to use JavaScript in their Facebook applications. We built FBJS to empower developers with all the functionality they need, and to protect our users' privacy at the same time.

与此还开放了Thrift——跨语言的Service库;MemcacheD——分布式内存对象缓存。