首先,我想非常感謝Google GData API的工程師們的出色工作,我想提一提,這個問題並不是要批評任何事情。它只是指出一些事情。爲什麼沒有在Apache的Abdera框架之上構建Google API客戶端庫?
有人可以請我解釋一下嗎?據我所知,java的google api客戶端庫的開發人員正在重新發明輪子。這就像爲Java項目編寫新的JDK一樣,因爲abdera客戶端執行的是谷歌api客戶端庫的功能,abdera服務器功能和適配器也可用於很多事情,例如條目持久性和其他許多功能。
我意識到谷歌數據協議是一個小特定原子發佈的事實,但如果需要使用Apache Abdera項目爲此協議提供的一些奇特的擴展和功能,最好不要使用google api客戶端庫,並從頭開始實施客戶端與Abdera ...我敢肯定,在很多情況下,它的功能,如Abdera的JCR適配器將變得非常方便的谷歌文檔,谷歌翻譯工具包,實際上對於大多數其他。
現在有一個谷歌API客戶端庫用於谷歌文檔是偉大的,但我將如何處理文檔和原子提要響應?我認爲,在另外一半以上的情況下,還有一個存儲庫或數據庫。在這種情況下,abdera是必要的,而不是簡單的谷歌API客戶端,只是編組/反饋編組...
事實上,有一些東西要堅持在所有的谷歌API。如果谷歌決定將努力投入到Abdera增強或集成中,這將是有道理的......這並不是......特別是考慮到軟件開發中一個非常着名的事實,第二個版本通常是從頭開始重寫的。 Apache Abdera是一個成熟的項目,已有5年的歷史,被大量應用程序所使用。
如果有原因,我沒有看到與使用拉解析器的實現客戶端只有確有必要,我會至少使用未棄用XML pull解析器。 Xmlpull.org已有6年的歷史,但並不活躍,甚至沒有實施StAX API。 stax.codehaus.org參考實現,JRE默認stax實現,Apache Axiom實現和主要woodstox.codehaus.org實現會更好,爲什麼要避免規範和支持和社區的活動項目?
我對這個批評的google api客戶端java庫的開發者表示歉意,但我真的很喜歡google apis,但是與這個客戶端的第一個版本一起工作真是苦澀的經歷,目前的版本很不錯。但是實際上浪費了很多時間,主要是由於重新開發了輪子以及從版本0通過gdata-java-client到google-api-client-java的這些極度版本間變化。
最後,谷歌在人們投入時間和金錢之後使得API受到限制,所以爲什麼要關心,對吧? :-)
我收回了我說的話,自那時以來軟件和協議發生了很大的變化......現在當GData支持JSON時,甚至沒有意義使用它!
谷歌對其基礎架構所基於的任何代碼的質量(以及可能的許可證)都非常非常挑剔。在某種程度上,它有時看起來像[not-invented-here syndrom](http://en.wikipedia.org/wiki/Not_Invented_Here)。他們寧願重新實施一個圖書館,而不願意與不符合他們需求的東西生活在一起。這很好,否則我們就沒有Google Collections/Guava ;-) – 2011-03-15 15:48:19