Using third-party libraries in your mobile app development projects -whether it’s iOS or Android- can help you boost your productivity and save time when coding. The thing is, with so many of them out there, which ones are worth using?
As software developers, we have a toolbox of choice in which we rely on every day for building new applications. This time we are sharing with you the ones we consider to be useful in common scenarios such as building UIs or reaching a web API.
Notice that the following libraries are not in any specific order. We’ve selected two for Android, another two for iOS, and one library that works in both. Let’s get started!
Google’s Gson is a simple, open-source Java library used for serializing/deserializing Java objects into and from JSON. It is highly optimized, easy to use, and pretty lightweight. Therefore, Gson comes in handy for communicating with APIs, a super-common task in mobile development.
The process of converting Java objects into their JSON counterpart is very straightforward as you can see in the portion of code below:
Gson’s Git repository provides a complete guide that walks you through the process of starting with this library.
Retrofit by Square is a type-safe HTTP, REST client for Android that allows you to easily translate API calls into Java interfaces. It uses the Gson library by default, but it also supports others as well.
The good thing about treating API calls as Java methods-like is that you only need to define the target URLs and parameters as Java classes, which makes the process clearer and simpler. It can handle asynchronous and synchronous requests with automatic JSON parsing. In comparison to other Android networking libraries, Retrofit seems to perform better according to some benchmarks.
Retrofit’s website has everything you need to get started.
Moving on to iOS libraries, MBProgressHUD by Matej Bukovinski is an easy to use progress indicator for iOS applications with several styles. Almost every app has a progress dialog and this library makes it simple to integrate one. It also allows you to customize the HUD as you like with your own assets.
Getting started with it is pretty quick, just by following its GitHub documentation. MBProgressHUD also provides out-of-the-box a sample demo that you can play with. We only added our logo for the Custom view style:
Those three styles we showcased above are generated this way:
Quite simple, right?
Hero is a useful library for building good-looking and fluent view controller transitions, without a lot of effort. These transitions can be customized for different scenarios as you can see in this gallery.
You can install it through CocoaPods just by adding the [pod ‘Hero’] entry to your Podfile.
Here’s how setting up Hero looks like for a basic transition effect with our logo. As you’ll see, it’s just a matter of a few lines of code:
Lottie (Android & iOS)
Airbnb’s Lottie is an iOS, Android, and React Native library that allows integrating animations easily to native apps. It supports After Effects animations and its features by rendering them in real-time.
Without this library, developers have to entirely re-write animations, something very time-consuming. Thanks to Lottie, you can handle rich animations effortlessly as you would do with any other static asset, customizing its behavior and setting properties for specific use cases.
It’s pretty straightforward to start playing around with this library by following its guides for your native platform of choice.
We used Lottie and Hero’s portion of code shared above to create a simple animation with transitions for our logo. Here’s Lottie set up:
And this is the final result. You’ll see a short animation built with Lottie below OrangeLoops’ logo:
Bonus: Cocoapods (iOS)
Yes, not a library, but we consider it to be yet useful for beginners. For those who don’t know, Cocoapods is a dependency manager for Swift and Objective-C projects where you can find thousands of libraries and frameworks. You can get started with it right away by following its official guide.
Cocoapods makes easy the process of handling third-party dependencies used by an iOS application. Besides, it also boosts the discovery of open-source libraries in a more centralized place. We do have one view controller over there for animating a header view along with scrolling, check it out!
This was a brief list of free and useful tools for building mobile apps, either for iOS or Android, that our own team uses on a daily basis.
Are you looking to start a mobile app development project? We are here to help! Drop us a line.