ラップされたTwitterなどのライブラリを直接使用するのと比較して、どのエクストラが私を買っていますか
-
28-09-2019 - |
質問
Springsocialを簡単に見ると、各ソーシャルネットワークには独自のユニークなものがあるように見えます。ユニバーサルを公開するインターフェイスはありません
- ネットワークに認証します
- メッセージを送る
上記の「ネットワークを認証する」という理由は、個々のユーザーではなくメッセージを公開するための施設自体を含めることを望んでいるからです。
少なくともJTWitterは、簡単なAPIを公開して認証し、ツイートを送信します。同じw/ ssを達成するために、jtwitterの比較的単純さと比較して、複雑さの量が圧倒的です。 SSには、明らかにjtwitterよりもはるかに多くのCommons HTTPクライアントのSpringが必要です。 SSには、それぞれのカスタムコードではなく接続して送信する普遍的なメカニズムがあれば、おそらく価値がありますが、最終的には...
SSに関する私の仮定や認識は間違っていますか?
解決
Spring Socialは、4つの部分で舞台裏で構成されています:
- 3本足のOauthダンス(最も貴重な機能IHMO)を処理するOAuthAPI
- ユーザーのアカウントの情報を維持するための永続レイヤー(OAuth Secret、ProfileUrl、ImageUrl、...)
- サービスプロバイダーアカウントにサインインする(例:FacebookConnect)
- 主にRestTemplateに基づいて、プロバイダーのAPIにバインディングするJava
最後の部分のみを比較できます ラッパーライブ (例:jtwitter)。 OAuth接続を確立する必要がない場合は、Spring Socialを使用しないでください。
私の2セントはSSについて考えました:
一見して、私は少しがっかりしました。春の社会は次のように説明されています FacebookやTwitterなどのソフトウェアとしてのサービス(SAAS)プロバイダーにアプリケーションを接続できるスプリングフレームワークの拡張機能。残念ながら、v1.0のこのフレームワークは、OAuthなしで接続をサポートするために簡単に拡張できません。
たとえば、SSが3つの部分に分割されている場合は、より良いはずです。
- スプリングオアース
- Spring-MVC-Signin
- Spring-Social(プロバイダーのみのバインディング)
他のヒント
Spring Socialは主に焦点を当てています OAuth関連の問題を簡素化します, 、これらのソーシャルAPIを使用する場合。
それは統一されたAPIを提供しないことです さまざまなソーシャルネットワーキングサイトでの同様の機能に対して、各サイトに特殊なAPIがあります。
これは、APIの一部(あなたにとって重要な)の側面を統一するSpring Socialの上に追加のAPIレイヤーを構築できなかったという意味ではありません。
あなたはそれについて不平を言った Spring Social APIの複雑さ - 私はそれを理解していません、あなたは正確にわかりますか、春のソーシャルでツイートを投稿することについて複雑なことは何ですか:
twitter.updateStatus("Hey, I'm tweeting with #Spring Social!");
(これはSpringsourceからです ブログ投稿)
そして、依存関係について: :Spring Socialを使用するアプリケーションのほとんどは、おそらくSpringとhttpclientを依存関係があるため、これらは何ではありません 追加 典型的な春のソーシャル開発者向け。
最後に、jtwitterがあなたのニーズを満たしている場合、それはあなたに最適なようです。それぞれ独自に。 ;-)
参照:
- ソーシャルスプリングアプリケーション -Springsourceブログ
- Springがソーシャルネットワークの相互作用を簡素化する方法 - サーバーサイドに関する議論