android-asynctask android-networking retrofit androidhttpclient okhttp

android asynctask - ¿Por qué debería usar OkHttp en lugar de Android httpClient y AsyncTask



android-asynctask android-networking (1)

Como siempre, la ingeniería consiste en equilibrar las compensaciones para construir la mejor solución para sus requisitos.

Usar una biblioteca en lugar de la plataforma es un buen ejemplo. La API de la plataforma existe desde hace bastante tiempo y, por razones de compatibilidad, el equipo de Android tiene menos flexibilidad para cambiar esas interfaces. Una biblioteca no tiene esas limitaciones; por ejemplo, si el host lo admite, OkHttp puede usar el protocolo SPDY para reducir la latencia, la compresión, la multiplexación, etc., lo que puede hacer que su aplicación Android sea más receptiva.

OkHttp y Retrofit, que son proyectos de Square, pueden funcionar juntos. También son bibliotecas regulares de Java, por lo que no dependen de / basadas en Android. OkHttp maneja los detalles de la conexión HTTP de nivel inferior, mientras que Retrofit simplifica el uso de las API REST. La modificación se puede utilizar sobre OkHttp, pero no es obligatorio.

Echa un vistazo a los sitios web de proyectos, también están alojados en github.

http://square.github.io/okhttp/

http://square.github.io/retrofit/

En la presentación de Paresh Mayani en SpeakerDeck ( https://speakerdeck.com/pareshmayani/lazy-android-developers-be-productive ) dice que es mejor usar OkHttp o Retrofit lugar de AsyncTask con DefaultHttpClient .

Mi pregunta es ¿por qué?
¿Por qué son más rápidos?
¿No son esas bibliotecas también basadas en las clases de Android predeterminadas?
¿Cuál es la diferencia entre OkHttp y Retrofit?

¡Gracias!