Ответ 1
Как всегда, проектирование заключается в балансировании компромиссов для создания наилучшего решения для ваших требований.
Использование библиотеки вместо платформы - хороший пример. API платформы существует довольно долгое время, и по соображениям совместимости команда Android имеет меньшую гибкость в изменении этих интерфейсов. У библиотеки нет этих ограничений; например, если хост поддерживает его, OkHttp может использовать протокол SPDY для более низкой латентности, сжатия, мультиплексирования и т.д., что может сделать ваше приложение Android более отзывчивым.
OkHttp и Retrofit - проекты из Square - могут работать вместе. Они также являются обычными библиотеками Java, поэтому они не зависят от/на основе Android. OkHttp обрабатывает детали HTTP-соединения нижнего уровня, а Retrofit упрощает использование API REST. Дооснащение можно использовать поверх OkHttp, но это не требуется.
Проверьте веб-сайты проектов, они также размещены на github.