首先,我要非常感谢 Google GData API 的工程师所做的出色工作,我想提一下,这个问题并不是要批评任何事情。它只是指出一些事情。
有人可以向我解释一下吗?据我所知,java 的 google api 客户端库的开发人员正在重新发明轮子。这就像为 Java 项目编写新的 JDK,因为 abdera 客户端执行 google api 客户端库所做的工作,并且 abdera 服务器功能和适配器也可以用于许多事情,例如条目持久性和许多其他事情。
我知道 google data 协议是一个有点特定的 atom 发布,但是如果需要使用 Apache Abdera 项目为此协议提供的一些花哨的扩展和功能,最好不要使用 google api 客户端库并使用 Abdera 从头开始实现客户端...而且我确信在很多情况下,它的功能(例如 Abdera 的 JCR 适配器)对于谷歌文档、谷歌翻译工具包以及大多数其他工具包来说都非常方便。
现在很高兴有一个 google api 客户端库可用于 google 文档,但是我将如何处理文档和 atom 提要响应?我相信在超过一半的情况下,另一边还有一个存储库或数据库。在这种情况下,需要 abdera,而不是仅编组/解组提要的简单 google api 客户端......
事实上,所有的谷歌 API 都有一些东西要坚持。如果谷歌决定将精力投入到 Abdera 的增强或集成上,这将是有道理的……这不是……尤其是考虑到软件开发中一个众所周知的事实,第二个版本通常是从头开始重写的。Apache Abdera 是一个成熟的项目,已经存在 5 年,被大量应用程序使用。
如果有原因,我没有看到并且只使用拉解析器来实现客户端是非常必要的,我至少会使用一个不被弃用的 xml 拉解析器。Xmlpull.org 已有 6 年历史,但处于非活动状态,甚至没有实现 StAX api。stax.codehaus.org 参考实现,JRE 默认 stax 实现,Apache Axiom 实现和主要的 woodstox.codehaus.org 实现会更好,为什么要避免规范和有支持和社区的活动项目?
对于这个批评,我向 google api 客户端 java 库的开发人员道歉,但我真的很喜欢 google api,但是使用这个客户端的第一个版本真的很痛苦,当前版本很好。但是实际上浪费了很多时间,这主要是由于重新发明轮子以及从版本 0 通过 gdata-java-client 到 google-api-client-java 的极端版本间更改。
最后,在人们投入时间和金钱之后,谷歌对 API 进行了限制,所以为什么要关心,对吧?:-)
我收回我所说的话,从那时起软件和协议发生了很大变化......现在当 GData 也支持 JSON 时,使用它甚至没有意义!