Java 为什么不是';在Apache';s Abdera框架?

Java 为什么不是';在Apache';s Abdera框架?,java,google-data-api,atompub,apache-abdera,Java,Google Data Api,Atompub,Apache Abdera,首先,我要感谢Google GData API的工程师们所做的出色工作,我想说的是,这个问题并不是要批评任何东西。它只是指出了一些事情。 谁能给我解释一下吗?据我所见,java的GoogleAPI客户端库的开发人员正在重新发明轮子。这就像为一个Java项目编写一个新的JDK,因为abdera客户端做了GoogleAPI客户端库所做的事情,abdera服务器的特性和适配器也可以用于很多事情,比如条目持久化和其他许多事情 我知道google data protocol是一个有点特殊的atom发布,但

首先,我要感谢Google GData API的工程师们所做的出色工作,我想说的是,这个问题并不是要批评任何东西。它只是指出了一些事情。

谁能给我解释一下吗?据我所见,java的GoogleAPI客户端库的开发人员正在重新发明轮子。这就像为一个Java项目编写一个新的JDK,因为abdera客户端做了GoogleAPI客户端库所做的事情,abdera服务器的特性和适配器也可以用于很多事情,比如条目持久化和其他许多事情

我知道google data protocol是一个有点特殊的atom发布,但如果需要使用Apache Abdera项目为此协议提供的一些奇特的扩展和功能,最好不要使用google api客户端库,而是使用Abdera从头开始实现客户端。。。我确信,在很多情况下,它的特性,比如Abdera的JCR适配器,对于google文档、google翻译工具包以及其他大多数人来说都非常方便

现在有一个GoogleAPI客户端库可以用于GoogleDocs,这真是太棒了,但我该如何处理文档和atom提要响应呢?我相信在超过一半的情况下,在另一边也有一个存储库或数据库。在这种情况下,需要的是abdera,而不是简单的google api客户端,它们只是对提要进行编组/解编组

事实上,在所有谷歌API中都存在一些东西。如果谷歌决定将精力投入Abdera的增强或集成,这将是有意义的。。。这不。。。特别是考虑到软件开发中的一个众所周知的事实,第二个版本通常是从头重写的。ApacheAbdera是一个成熟的项目,已有5年的历史,被大量应用程序使用

如果有我看不到的原因,并且只使用pull解析器实现客户机是真正必要的,那么我至少会使用一个没有被弃用的xml pull解析器。org已经有6年的历史了,但它是非活动的,甚至没有实现STAXAPI。stax.codehaus.org参考实现、JRE默认stax实现、Apache Axiom实现和主要的woodstox.codehaus.org实现会更好,为什么要在支持和社区的情况下避免规范和活动项目

我为这一批评向GoogleAPI客户端java库的开发人员表示歉意,但我真的很喜欢GoogleAPI,但是使用这个客户端的第一个版本确实是痛苦的经历,目前的版本很好。但实际上浪费了很多时间,这主要是因为重新发明了轮子,以及从版本0通过gdata java客户端到google api客户端java的极端版本间更改

最后,在人们投入时间和金钱之后,谷歌对API进行了限制,那么为什么要在意呢


我收回我说过的话,软件和协议从那时起发生了很大变化。。。现在,当GData也支持JSON时,使用它就没有意义了我也有同样的问题。你们可以从这个项目中获得灵感。它使用了google客户端库的旧gdata版本,但该项目处理的是它与ApacheAbdera的结合。他们正在通过ibatis进行数据库持久化

然而,我所做的是:我花了2天的时间学习和实现我的客户端应用程序,使用谷歌api客户端库,希望库的开发能够继续进行,并添加新的功能。但不幸的是,这在很长一段时间内几乎是一样的。因此,我最近使用了Abdera客户端,并为google data api创建了一些扩展
org.apache.Abdera.examples.extension.
,我完全使用了Abdera。如果您仔细想想,就没有必要使用GoogleAPI客户端库。您只需要设置授权标头

clientLogin.authenticate().setAuthorizationHeader(Util.getTransport());
至于谷歌为什么不使用Abdera框架,我也在问自己同样的问题。这是Java世界的问题之一。浪费在许多地方。Abdera框架是一个非常好的项目,对于谷歌来说,如果他们决定创建自己的客户端库,他们应该做得更强大。(这是我的观点)简单地说,如果Abdera框架很糟糕,我会得到它,但它做得非常好,功能非常丰富


另一方面,由于项目的性质,Abdera框架所具有的特征也存在。它主要是一个atompub服务器,因此应该处理客户端提供的数据。但是google API客户端也需要处理,尽管google客户端库不提供这种可能性。

google对其基础架构所基于的任何代码的质量(可能还有许可证)都非常挑剔。在某种程度上,它有时看起来像。他们宁愿重新实现一个库,也不愿生活在不符合他们需求的环境中。这很好,否则我们就不会有谷歌收藏/番石榴;-)