I have a public REST API and I want to build an open source Objective-C iOS SDK that will wrap this API.
There are dozens of libraries that wrap HTTP layers (AFNetworking) or even REST clients (RestKit). I could use on of these to help me in the development.
I'm questioning myself about the best practices in this area for iOS in particular. Should I rewrite everything myself to not let the developers who will use my SDK having dependencies or should I avoid reinventing the wheel?
Below are the pros ans cons of relying on other libraries according to my observations.
- It saves me a lot of time
- It does the job better than I would myself
- There's no official package manager in iOS, so integrating a library which has other dependencies can generate frictions (there is CocoaPods, but not used by every developer)
- It can quickly increase the size of the whole code base when using big libraries
- There's a risk of conflicts (what if my SDK relies on the latest major version of RestKit whereas the app already relies on a previous major version?)
Do you see other pros and cons of the two options? Depending on what you know about this industry, the way developers integrate iOS SDK and the cost of rebuilding HTTP/REST layers, what is your opinion?