(Testing out our new 3rd party library vetting:
https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/iOS/Third_Party_Libraries
)
Early today I interviewed BlocksKit for a potential position in our
codebase (Specifically BlocksKit/Core).
BlocksKit is a popular functional veneer for the cocoa frameworks. You can
find out more about BlocksKit here:
https://github.com/zwaldowski/BlocksKit
Read BlocksKit's responses to our interview questions below:
- Is the license permissive?
Yes, I have an MIT license! Use me how you will.
- Is the library ubiquitous?
I have 3,100+ stars and 407 forks on Github - people like me.
- Is it installable via CocoaPods?
Of course!
- What is the impact on binary size?
Negligible, I don't contain any assets and consist mostly of small
categories.
- How severe, if at all, are inbuilt subdependencies?
I don't need no stinking dependencies.
- Will this make the code more, or less, understandable for volunteers?
Depends on the volunteer - Those with with functional programming skills
will be more comfortable with my syntax. I am however a pretty well
documented and lightweight library, so I should be easy to understand for
anyone how to use me.
- What are the performance ramifications of using this library?
None, I use foundation classes to perform enumerations so I get all the
performance benefits of the Cocoa collections.
- What are the complexity ramifications of using this library?
My primary purpose is to remove boiler plate code and make developer intent
more clear. I should decrease complexity of your code.
- Is it actively maintained?
Yes - I am very well cared for and have a nice test suite.
- Is it compatible with current deployment targets?
Yes - I still have a soft spot for iOS 6.
- Does it hinder interop (e.g., with Swift)?
I love and Obj-C and Swift (but Swift does include some of my functionality
in the standard library)
- What is the exit plan if the library becomes unmaintained?
Since I am pretty lean and have good test coverage, your team should be
able to maintain me if needed. If you decide to not maintain me, you can
move some of your codebase to swift to replace some of my functionality.
Thanks for reading… If you have any other questions for BlocksKit, be sure
to leave them here and we will forward them on.