Frage

Zunächst möchte ich mich bei den Ingenieuren von Google Gdata API für ihre gute Arbeit bedanken, und ich möchte erwähnen, dass diese Frage nichts kritisieren soll. Es zeigt nur auf Dinge.

Könnte mir das bitte jemand erklären? Soweit ich sehen kann, erfinden die Entwickler der Google API -Client -Bibliothek von Java das Rad neu. Es ist wie ein neues JDK für ein Java -Projekt zu schreiben, da der Abdera -Client das macht, was die Google -API -Client -Bibliothek und die Abdera -Serverfunktionen und -Anadapter für viele Dinge verwendet werden könnten, z.

Ich bin mir der Tatsache bewusst, dass Google Data Protocol ein wenig spezifisches Atom Publishing ist. Wenn jedoch einige der ausgefallenen Erweiterungen und Funktionen verwendet werden müssen, die das Apache Abdera -Projekt für dieses Protokoll anbietet und implementieren Sie den Kunden von Grund auf neuer mit Abdera ... und ich bin sicher, dass seine Funktionen wie das JCR -Adapter von Abdera in vielen Fällen für Google Docs, Google Translator Toolkit und praktisch für die meisten anderen praktisch werden würden.

Jetzt ist es großartig, dass für Google Docs eine Google API -Client -Bibliothek verwendet wird. Aber was werde ich mit den Dokumenten und Atom -Feed -Antworten anfangen? Ich glaube, dass es in mehr als einem halben Fällen auch ein Repository oder eine Datenbank auf der anderen Seite gibt. Und in diesem Fall wird Abdera benötigt, nicht die einfachen Google -API -Clients, die nur die Feeds marschieren/unmarkelhaft machen ...

Tatsächlich gibt es in allen Google -APIs etwas, das man anhält. Es wäre sinnvoll, wenn Google beschlossen hätte, die Anstrengungen in die Verbesserung oder Integration von Abdera zu investieren ... das nicht ... insbesondere angesichts einer sehr bekannten Tatsache in der Softwareentwicklung wird diese zweite Veröffentlichung normalerweise von Grund auf neu geschrieben. Apache Abdera ist ein ausgereiftes Projekt mit 5 Jahren seiner Existenz, die von Tonnen von Apps verwendet wird.

Wenn es Gründe gibt, dass ich den Kunden nicht mit dem Pull -Parser sehe und implementiere, war ich zumindest einen XML -Pull -Parser, der nicht veraltet ist, zumindest einen XML -Pull -Parser verwenden. Xmlpull.org ist 6 Jahre alt, aber inaktiv und implementiert nicht einmal STAX -API. STAX.Codehaus.org Referenzimplementierung, JRE -Standard -STAX -Implementierung, Apache -Axiom -Implementierung und hauptsächlich Woodstox.Codehaus.org -Implementierung wäre viel besser, warum Spezifikationen und aktive Projekte mit Unterstützung und Gemeinschaft vermeiden, um zu vermeiden?

Ich entschuldige mich bei den Entwicklern der Google API -Client Java Library für diese Kritik, aber ich mag Google APIs wirklich, aber die Arbeit mit der ersten Version dieses Kunden war wirklich bittere Erfahrung. Die aktuelle Version ist nett. Es wurde jedoch viel Zeit verschwendet, hauptsächlich aufgrund der Neuerfindung des Rades und diesen extremen Inter-Veröffentlichungen von Version 0 über Gdata-Java-Client zu Google-api-Client-Java.

Schließlich lässt Google die APIs eingeschränkt, nachdem die Leute sowohl Zeit als auch Geld in sie investieren. Warum sollten Sie sich also interessieren, oder? :-)

Ich nehme das zurück, was ich gesagt habe, die Software und das Protokoll haben sich seitdem stark verändert. Wenn Gdata auch JSON unterstützt, wäre es nicht einmal sinnvoll, sie zu verwenden!

War es hilfreich?

Lösung

Ich hatte das gleiche Problem. Sie können sich von inspirieren lassen Google-FeedServer Projekt. Es verwendet die alte GDATA -Version der Google Client Library, aber das Projekt befasst sich mit der Kombination mit Apache Abdera. Sie machen die Datenbankdauer über Ibatis.

Was ich jedoch getan habe: Ich habe 2 Tage lang meine Client -App mit der Google API -Client -Bibliothek gelernt und implementiert, in der Hoffnung, dass die Entwicklung der Bibliothek fortgesetzt wird und neue Funktionen hinzugefügt werden. Aber leider ist es lange Zeit so ziemlich gleich. Also habe ich kürzlich den ABDERA -Kunden verwendet und ein paar Erweiterungen erstellt org.apache.abdera.examples.extension.* Für Google Data API und ich habe Abdera vollständig verwendet. Wenn Sie darüber nachdenken, müssen Sie die Google API -Client -Bibliothek nicht verwenden. Sie müssen nur die Autorisierungsheader einrichten

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

Warum Google ABDERA Framework nicht verwendet, stelle ich mir die gleiche Frage. Es ist eines der Probleme der Java -Welt. An vielen Orten verschwenden. ABDERA Framework ist ein wirklich schönes Projekt, und wenn sie sich entschieden haben, eine eigene Kundenbibliothek zu erstellen, sollten sie es leistungsfähiger machen. (Es ist meine Meinung) Einfach gesagt, wenn das Abdera -Framework beschissen wäre, würde ich es bekommen, aber es ist sehr gut gemacht und sehr reich anreichend.

Andererseits existieren die Merkmale, die Abdera Framework hat, aufgrund der Art des Projekts. Es handelt sich hauptsächlich um einen Atompub -Server, so dass es von Clients geliefert werden soll. Google API -Clients benötigen jedoch auch die Handhabung, obwohl die Google Client Library die Möglichkeit nicht bietet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top