It is hard to keep track of them. One thing is sure – libraries are making our life much easier and our apps much better. You don’t have to know everything, but if you know where to find it, you’re half way there.
Square libraries: my favourite ones!
There are a couple of open source projects I use on daily basis in almost every project I start. I would like to give them some attention here.
I will start from libraries produced by Square company, my absolute favourite. They share so much amazing code that it is hard to describe. If you are an Android developer, sooner or later you’re gonna stumble on some of Jake Wharton and his colleagues’ work. They make the Android community a better place.
- Butter Knife
One of the dependency injection based libraries. It’s used to avoid some of the annoying boilerplate code. It simplifies creating view dependencies and assigning several listeners to them ( like “`OnClickListener“` or “`OnCheckedChangeListener“`). - Dagger 2
I’m listing it under Square’s libraries, but they actually created the first version of this library. Now Google took over with its second iteration. It’s not yet considered stable, but many folks, including Google and me, use it on production already. It’s also a dependency injection library that lets us keep our object dependencies easy to access. It’s really fun to use, but it has a significant con: The learning curve for this library is ridiculously high. - Retrofit
The best library out there if you’re involved in creating rest services for your application. It also supports RxJava (which is a separate super awesome library). - Hugo
It’s a great tool for quick debug logging in android apps.
Other resources
Ok, enough Square for now. Let’s not let them have all the fun. To the others:
- Google Support Libraries
It might be the obvious choice for most of the Android developers. Here comes all the fancy stuff that Google creates with a new version of their system and which their decide to make backward compatible. There are many modules to implement, depending on what you need. “`RecyclerView“`, “`CardView“`, transition animations, fragments, you name it. - Materialish progress
Simple and easy to use library for animating progress in material design style. I love it’s simplicity. - RxAndroid
It’s an Android implementation of original RxJava. It was implemented for Android by Jake Wharton from Square (yeah, again). It’s hard to say what is RxJava. It might be easier to say what is not. It’s material for a long talk. RxJava is a super powerful tool for threading and other stuff. You should try to jump into it, but beware of it’s significant learning curve. This presentation from my collegue, Artur Glier, would be a great start to learn about it’s advantages. - Switcher
This one is created by me. After years of handling progress, errors and placeholders, me and my colleague Artur, came up with this clean solution. From the latest build it even allow to blur the view under your progress.
This is it for now. I don’t wan’t to swamp you with the information and also spoil all the fun.
Stay tuned for another part of the bundle and happy coding!