SpeakerDeckでのParesh Mayaniのプレゼンテーション( https://speakerdeck.com/pareshmayani/lazy-Android-developers-be-productive )は、OkHttp
を使用する方が良いと言っていますRetrofit
とAsyncTask
の代わりにDefaultHttpClient
。
私の質問はなぜですか?
なぜ高速なのですか?
これらもデフォルトのAndroidクラスに基づくライブラリではありませんか?
OkHttpとRetrofitの違いは何ですか?
いつものように、エンジニアリングはトレードオフのバランスを取り、要件に最適なソリューションを構築することです。
プラットフォームの代わりにライブラリを使用することは良い例です。プラットフォームのAPIはかなり以前から存在しており、互換性の理由からAndroidチームはこれらのインターフェイスを変更する際の柔軟性が低くなっています。ライブラリにはこれらの制約がありません。たとえば、ホストはそれをサポートしていますOkHttpはSPDYプロトコルを使用してレイテンシの短縮、圧縮、多重化などを行うことができます。これにより、Androidアプリの応答性が向上します。
SquareのプロジェクトであるOkHttpとRetrofitは連携して動作します。これらは通常のJavaライブラリであるため、Androidに基づく/に依存しません。OkHttpは下位レベルのHTTP接続の詳細を処理し、RetrofitはREST = API。RetrofitはOkHttpの上で使用できますが、必須ではありません。
プロジェクトのWebサイトを確認してください。これらはgithubでもホストされています。