InfoQ

新闻

Facebook宣布放弃Java支持

作者 胡键 发布于 2008年5月14日 下午9时11分

社区
Java
主题
平台,
Web 2.0
标签
Facebook,
可用性,
Web服务

日前,著名社交网站Facebook在其开发者网站上宣布不再为其官方Java客户端库提供支持,并称此举是为了改进整个Facebook平台的体验。新闻中称:

……我们决定不再为我们的官方Java客户端库提供支持,而是依赖现有社区驱动的库来填补这个空缺。尽管我们理解这可能会影响某些开发人员,但是我们觉得将工作重点放在我之前提到的创新列表上更重要,而不是在开发者社区已经构建了几个非官方版本的情况下再去维护一个多余的客户端库。

本周四的发布之后,任何一个开发者页面不再提供官方Java客户端库的下载。……

对于Java开发人员,Facebook建议使用开源替代品,并给出它们的链接

Facebook的此举无疑伤了Java开发人员的心。不少开发人员认为这是一种短视的行为,对整个生态系统会产生负面影响。有趣的是,由于微软对Facebook进行了投资,还有开发者半开玩笑地认为这是另一个“微软阴谋”。

著名Java站点JavaLobby发布了题目为“Facebook放弃Java支持--梦幻估价再失10亿美元(Facebook Drops Java Support - Loses Another $1B of Fantasy Valuation)”的文章。文章认为:

……这似乎与所说的‘Facebook平台正以异常快地速度发展’相矛盾。我个人认为,真正推动Facebook发展的是开发和维护更多的官方API,以允许开发人员使用他们选择的语言开发新的应用程序……

对于Facebook所说的API维护负担,Jim Bethancourt评论说:

我真的希望看到Facebook采用Google的OpenSocial平台。这会帮助Facebook摆脱一些维护的负担,同时无需自己维护API就可把他们自己开放给大量的开发人员。我不是一个Facebook或Google OpenSocial开发人员,但是我确实知道维护API不容易——那么为什么不在有免费午餐时利用一下呢?

也有的Java开发者认为不必大惊小怪,因为Facebook的官方Java API实在不怎么样。Daniel Kaplan评论说:

事实上,现在第三方Java Facebook API比官方的要好用已经有一段时间了。那么,至少现在它还能保持。如果你看看官方API,你就能分辩出它的开发者并不是真的懂Java。他们把私有内部类作为公共方法的参数。这意味着你不能调用这些方法,因为你无法创建这些内部类。

此外,还有人认为Web客户端的未来属于Javascript,Java社区应该拥抱一个Ajax前端。

或许,正是官方API的风评不佳导致了Facebook决定不再为维护投入资源。但是,一个更能笼络人心,或者说是更成熟的做法,应该是和开源社区进行合作提供令开发人员感到满意的API,进而由台前转到幕后,而不是象这样突然死亡。

经历过“Spring运动”的Java开发者也不必对缺乏官方支持感到耿耿于怀,因为在这个开源时代,从来不缺乏比所谓官方支持更好的选择。

1 条回复

回复

facebook自作孽,不可活 发表人 index chen 发表于 2008年5月14日 下午10时38分
  1. 返回顶部

    facebook自作孽,不可活

    2008年5月14日 下午10时38分 发表人 index chen

    子系中山狼,得志便猖狂;死期已临头,行事更疯狂

独家内容

Hadoop中的集群配置和使用技巧

本文介绍了Hadoop如何配置分布式框架运行环境,同时特别讲解了其中的一些细节。Hadoop可以单机跑,也可以配置集群跑,这里主要重点说一下集群配置运行的过程。本文是Hadoop入门实践三部曲的第二部。

JavaScript多线程编程简介

虽然有越来越多的网站在采用AJAX技术,但是开发复杂的AJAX应用仍然是个难题。本文探索了如何应用多线程缓解其中一些问题。

Ruby的开放类──或者:怎样避免动态打补丁

Ruby的开放类(Open Classes)功能强大,但很容易被误用。这篇文章关注于怎样减少使用开放类的风险,介绍了一些其他可替代的类似方法,并分析了其他语言如何实现类似的功能。

REST反模式

在本文中,Stefan Tilkov讲解了一些经常出现在自称“符合REST式设计”的应用中的反模式(比如:全部采用GET或POST,忽视缓存及响应代码,误用cookies,忘记超媒体与MIME类型,以及破坏自描述性等),并给出了避免这些反模式的对策。

分布式计算开源框架Hadoop介绍

Hadoop是Apache开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用,如亚马逊、Facebook和Yahoo等等。本文是Hadoop入门实践三部曲的第一部,主要讲述了What和Why的问题。

37 Signals的实用最小主义实践

本文结合37 Signals公司在开发Basecamp等产品时的实践,介绍了实用最小主义开发方法。实践证明,尤其是在开发Web应用时,这一方法非常有效。根据作者的观察,Google现在之所以那么成功,其所遵循的软件开发哲学和最小实用主义非常类似。

与林昊一起探讨OSGi

在今年5月份的网侠大会上,InfoQ中文站有幸与国内OSGi的先锋林昊(BlueDavy)在一起探讨了OSGi的相关话题,包括它的优势、复杂度以及Java下的实现等等。

超越F#基础——异步工作流

Robert Pickering在F#的第三篇文章中,他继续着上次的话题,不过这次他要关注的是异步工作流(Asynchronous Workflows),以及在使用这个特性后获得的性能改善。虽然这篇文章是关于F#的,但是这样的知识对于所有的.NET语言都是适用的。