Take a gander at our portfolio of work, and it’s easy to see that Maestro raises the bar for design and user experience in custom enterprise mobile software. What’s not quite so easy to see is the beauty inherent in the underlying architecture — the code foundation on which our apps are built. Over the years, we’ve created a number of classes, categories, and macros for the daily, mundane development tasks. A broad collection of helper classes that provide shortcuts for the kinds of things developers do all the time. We thought, what better way to give a peek behind the curtain than to open source some of our less-than-proprietary tools? Introducing the Maestro Open Source Frameworks for Objective-C.
What It Is
The Maestro Open Source Frameworks are a collection of Objective-C resources under the MIT license for iOS/OS X (7.0+/10.9+) development that we use internally to speed up production.
- MEFoundation — A collection of classes that extend the built-in Foundation Framework (including categories for the foundation classes and macros for debugging, geometry, and concurrency)
- MEKit — extensions for the UIKit framework (with categories for managing color, gradients, fonts, views, and more)
- MECoreDataKit — A set of categories for extending the CoreData framework (including JSON serialization of NSManagedObjects and some convenience methods for fetching data, saving recursively, and importing from JSON source)
- MEReactiveFoundation — A collection of classes that extend the Foundation framework collection classes with functionality commonly found in functional languages (e.g. Haskell)
- MEReactiveKit — A collection of classes to extend the UIKit framework, built on top of ReactiveCocoa
How It’s Used
While the breadth of the entire framework would be too much to cover for this post, we will be doing a regular API introduction series focusing on one framework at a time. In the meantime, the header files for each of the frameworks are well documented, so read those first. The code for these frameworks can be found on GitHub and can either be added to your project as a git submodule or through the ever-increasingly popular CocoaPods.
We hope the Cocoa Community find these frameworks as useful and valuable as we do here at Maestro, and we welcome contributions, forks, and discussion around them. We host a monthly CocoaHeads Meet-Up right here at Maestro headquarters and occasionally do walk-throughs/overviews of our code. Source code and Keynote files for our past meetings can also be found in a public repository on our GitHub account. Check it out and let us know what you think.