Some time ago we noticed that in our apps there are a lot of different libraries, often responsible for the same things, but with distinct APIs, for instance: Retrofit vs Volley, Dagger vs RoboGuice, Requery vs OrmLite. It became difficult to switch to another project or introduce minor changes because of the tools that were used, so we decided to organise and standardise this. It led to a creation of a list of common libraries that should be used in our projects.
Android
AutoGson
AutoValue Extension to add Gson De/Serializer support.
AutoParcel
AutoParcel is an AutoValue extension that enables Parcelable values generation.
AutoValue
AutoValue provides an easier way to create immutable value classes, with much less code and less room for error, while not restricting your freedom to code almost any aspect of your class exactly the way you want it.
Dagger
Dagger is a fully static, compile-time dependency injection framework for both Java and Android.
Glide
An image loading and caching library for Android focused on smooth scrolling.
GSON
A Java serialisation/deserialisation library that can convert Java Objects into JSON and back.
Guava
Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more.
Joda-Time
Joda-Time provides a quality replacement for the Java date and time classes.
JUnit
JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
LeakCanary
A memory leak detection library for Android and Java.
Mockito
A mocking framework for unit tests in Java.
Requery
A modern SQL based query & persistence for Java / Kotlin / Android.
Retrofit
A type-safe HTTP client for Android and Java
RxJava
RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
iOS
Alamofire
Alamofire is an HTTP networking library written in Swift.
Fabric / Crashlytics
Always integrated for crash analytics.
Kingfisher
Asynchronous image downloader with cache support and some additional utility methods.
RxAlamofire
RxSwift wrapper around the elegant HTTP networking in Swift Alamofire.
RxSwift
Reactive Programming in Swift.
SDWebImage
Asynchronous image downloader with cache support as a UIImageView category.
SwiftDate
The best way to manage Dates and Timezones in Swift.
SwiftyJSON
The best way to deal with JSON data in Swift.