Google APIクライアントライブラリがApacheのAbderaフレームワークの上に構築されていないのはなぜですか?

StackOverflow https://stackoverflow.com/questions/5313806

質問

まず第一に、Google GDATA APIのエンジニアの良い仕事に感謝したいと思います。この質問は何も批判することではないことに言及したいと思います。物事を指摘しているだけです。

誰かが私にそれを説明してもらえますか?私が見る限り、JavaのGoogle APIクライアントライブラリの開発者は車輪を再発明しています。 AbderaクライアントはGoogle APIクライアントライブラリが行うことを行い、Abdera Server機能とアダプターは、エントリの永続性や他の多くのものなど、多くのことにも同様に使用できるため、Javaプロジェクトの新しいJDKを作成するようなものです。

Google Data Protocolは少し特定のAtom Publishingであるという事実を知っていますが、Apache Abdera Projectがこのプロトコルに提供する派手な拡張機能と機能の一部を使用する必要がある場合は、Google APIクライアントライブラリを使用しないことをお勧めします。そして、クライアントをAbderaをゼロからゼロから実装しています...そして、多くの場合、AbderaのJCRアダプターなどの機能がGoogleドキュメント、Google Translator Toolkitに非常に便利になると確信しています。

Google Docsに使用するGoogle APIクライアントライブラリがあることは素晴らしいことですが、ドキュメントとAtom Feed Responseで何をするつもりですか?半分以上のケースでは、反対側にリポジトリまたはデータベースもあると思います。そして、その場合、アブデラが必要であり、フィードをマーシャリング/非監視している単純なGoogle APIクライアントではありません...

実際、すべてのGoogle APIに持続するものがあります。 GoogleがAbderaの強化や統合に取り組みを投資することを決定した場合、それは理にかなっています...これは...特にソフトウェア開発における非常に既知の事実を考慮すると、2回目のリリースは通常ゼロから書き換えられます。 Apache Abderaは、5年間の存在を持つ成熟したプロジェクトであり、大量のアプリで使用されています。

理由がある場合、プルパーサーのみを使用してクライアントを実装して実装していない場合は、本当に必要でした。少なくとも廃止されていないXMLプルパーサーを使用します。 xmlpull.orgは6歳ですが、非アクティブであり、Stax APIさえ実装していません。 stax.codehaus.orgリファレンス実装、JREデフォルトのSTAX実装、Apache Axiomの実装、主にwoodstox.codehaus.orgの実装は、サポートとコミュニティを備えた仕様やアクティブなプロジェクトを避けるためにはるかに優れていますか?

Google APIクライアントJava Libraryの開発者にこの批評を謝罪してくれましたが、Google APIが本当に好きですが、このクライアントの最初のバージョンで作業することは本当に苦い経験でした。現在のリリースは素晴らしいです。しかし、実際には、主にホイールの再発明と、GDATA-Java-Clientを介したバージョン0からGoogle-API-Client-Javaへの極端な相互リリースの変更により、多くの時間が無駄になりました。

最後に、Googleは人々が時間とお金の両方を投資した後、APIを制限します。 :-)

私が言ったことを取り戻します。それ以来、ソフトウェアとプロトコルは大きく変わりました... GDATAがJSONをサポートしているとき、それを使用することさえ意味がありません!

役に立ちましたか?

解決

同じ問題がありました。からインスピレーションを得ることができます Google-FeedServer 事業。 Googleクライアントライブラリの古いGDATAバージョンを使用していますが、このプロジェクトではApache Abderaとの組み合わせを扱っています。彼らはIbatisを介してデータベースの永続性を行っています。

ただし、私がしたこと:Google APIクライアントライブラリでクライアントアプリの学習と実装を2日間費やし、ライブラリの開発が進み、新機能が追加されることを期待しています。しかし、残念ながら、それは長い間ほとんど同じです。だから私は最近Abderaクライアントを使用し、いくつかの拡張機能を作成しました org.apache.abdera.examples.extension.* Google Data APIと私はAbderaを完全に使用しました。考えてみると、Google APIクライアントライブラリを使用する必要はありません。承認ヘッダーを設定するだけです

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

GoogleがAbderaフレームワークを使用していない理由については、同じ質問をしています。それはJava Worldの問題の1つです。多くの場所で無駄になります。 Abdera Frameworkは本当に素晴らしいプロジェクトであり、Googleに敬意を払って、独自のクライアントライブラリを作成することを決定した場合、より強力にする必要があります。 (それは私の意見です)単純に言えば、アブデラのフレームワークがくだらない場合、私はそれを手に入れますが、それは非常によくできており、非常に豊かです。

一方、Abderaフレームワークの機能は、プロジェクトの性質のために存在します。これは主にAtompubサーバーであるため、クライアントが提供するデータを処理することになっています。しかし、Googleクライアントライブラリは可能性を提供していませんが、Google APIクライアントにも処理が必要です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top