Domanda

Prima di tutto voglio dare molte grazie a ingegneri di Google GData API per il loro lavoro bene e mi piacerebbe dire che questa domanda non è destinato a criticare nulla. E 'appena indicandoci le cose.

Qualcuno potrebbe spiegare a me? Per quanto posso vedere, gli sviluppatori di libreria client API di Google di Java sono reinventare la ruota. E 'come scrivere un nuovo JDK per un progetto Java, in quanto cliente Abdera non quello che Google libreria client API fa e funzionalità del server Abdera e gli adattatori potrebbero essere utilizzati anche per molte cose, come la voce di persistenza e molti altri.

Sono consapevole del fatto che il protocollo dati di Google è un po 'la pubblicazione atomo di specifico, ma se uno ha bisogno di utilizzare alcune delle estensioni di fantasia e le caratteristiche che Apache Abdera offerte di progetto per questo protocollo, non è meglio usare google api libreria client e implementare il cliente da zero con Abdera ... e sono sicuro che in molti casi le sue caratteristiche, come l'adattatore JCR di Abdera sarebbe diventato molto utile per google docs, Google translator Toolkit e praticamente per la maggior parte degli altri .

Ora è bello che ci sia una libreria client API di Google da utilizzare per google docs, ma quello che sto andando a che fare con i documenti e le risposte feed Atom? Credo che in più della metà dei casi v'è anche un repository o database sul lato opposto. E in quel caso, Abdera è necessaria, non i semplici client API di Google che sono solo di smistamento / unmarshalling i feed ...

In realtà, c'è qualcosa a persistere in tutte le API di Google. Avrebbe senso, se Google ha deciso di investire lo sforzo in Abdera valorizzazione o l'integrazione ... Questo non ... Soprattutto se si considera un fatto molto noto nello sviluppo di software, che secondo rilascio di solito è riscritto da zero. Apache Abdera è un progetto maturo con 5 anni della sua esistenza, utilizzato da tonnellate di applicazioni.

Se ci sono ragioni, che non vedo e attuare il cliente con l'uso della forza di parser solo era davvero necessario, vorrei almeno usare un parser XML tiro che non è deprecato. Xmlpull.org è di 6 anni, ma inattivo e non ha nemmeno implementa StAX api. stax.codehaus.org implementazione di riferimento, JRE implementazione predefinita Stax, implementazione Apache Axiom e l'attuazione principalmente woodstox.codehaus.org sarebbe modo migliore, perché per evitare specifiche e progetti attivi con il supporto e la comunità?

Le mie scuse agli sviluppatori di Google API libreria client java per questa critica, ma mi piace molto API di Google, ma lavorare con la prima versione di questo client è stato davvero amara esperienza, la release corrente è bello. Ma un sacco di tempo è stato sprecato in realtà principalmente a causa Reinventare la ruota e quelle estreme variazioni inter-rilascio dalla versione 0 via GData-java-client to google-api-client-java.

Infine, Google rende le API con restrizioni dopo che la gente investire tempo e denaro in essa, perché la cura, giusto? : -)

Mi sto riprendendo quello che ho detto, il software e protocollo cambiato molto da allora ... Ora, quando GData supporta JSON così sarebbe nemmeno ha senso usarlo!

È stato utile?

Soluzione

I had the same problem. You can get inspiration from google-feedserver project. It uses the old gdata version of google client library, but the project deals with combination of it with Apache Abdera. They are doing database persistence via ibatis.

However, what I did: I spent 2 days learning and implementing my client app with google api client library hoping that the development of the library will go on and new features will be added. But unfortunately it's pretty much the same for a long time. So I recently used Abdera client and I created a few extensions org.apache.abdera.examples.extension.* for google data api and I used Abdera entirely. If you think about it, there is no need to use the google api client library. You just need to set up authorization header

clientLogin.authenticate().setAuthorizationHeader(Util.getTransport());

As to why google doesn't use Abdera framework, I'm asking myself the same question. It's one of the problems of Java world. Waste on many places. Abdera framework is a really nice project and with all due respect to Google, if they decided to create its own client library they should do it more powerful. (it's my opinion) Simply put, if Abdera framework was crappy, I'd get it, but it is very well done and very feature rich.

On the other hand, the features that Abdera framework has, exist because of the nature of the project. It's mainly an atompub server, so that it is supposed to handle data supplied by clients. But google API clients kinda require handling as well, though google client library doesn't offer the possibility.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top