androidjacksonagilerobospicebutterknife

Android: Implement open source libraries or maintain own implementation?


I'm currently developing an Android app in which I've written my own implementation and/or used the Android SDK implementation for the following tasks:

Recently I started maintaining another app which uses open source libraries for these kinds of things (robospice, jackson, butterknife).

Is it wise to throw away my own implementation and using these libraries on said project? I figured the interfaces are pretty similar and of course less code = less work maintaining the project.

The project is about halfway finished and connects to a web service using approx. 12 medium-sized resources with one-to-many and many-to-many relationships.


Solution

  • According to what you'd already said:

    I figured the interfaces are pretty similar and of course less code = less work maintaining the project.

    and

    The project is about halfway finished

    If your implementation is really pretty similar to existing libs code and you don't need to make BIG changes in your app code - go and try. You're in half of way, not in the end of journey, so can try it. As you said using these libraries equals less code, less code means better performance and sometimes more readable code.

    But what if your implementation has an extra feature comparing to the library, which you want to use. As you noticed they're Open Source, so you can try to implement in them this part and make a pull request on GitHub. Many guys like me would be thankful for it ;-)

    Create a new branch with name of library which you would like to add instead of your code and start working. If works fine make a merge, if not, delete this branch and keep your implementation. Repeat it with others.

    Hope it help you to decide which way you would go.