We were evaluating Masonry prior to our new 3rd party lib vetting process (See here for more info: https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/iOS/Third_Party_Libraries), but still wanted to do a write up for everyone.Masonry is a library that allows developers to write autolayout code similar to the Visual Format Language, but instead of error prone strings to describe relationships, it provides a compact compiler checked syntax. You can read more here:Below are answers to our standard questions:Yes - MIT
- Is the license permissive?
Yes 4,362+ stars and 475 forks on Github.
- Is the library ubiquitous?
Yes
- Is it installable via CocoaPods?
Negligible - no included assets
- What is the impact on binary size?
No 3rd party dependencies
- How severe, if at all, are inbuilt subdependencies?
More understandable - it provides an expressive "english" syntax for creating autolayout constraints. It introduces no new concepts, just type checking and syntax.
- Will this make the code more, or less, understandable for volunteers?
None, it uses cocoa autolayout under the covers.
- What are the performance ramifications of using this library?
Masonry allows developers to write layout code in a much more concise and expressive way - this should reduce number of lines while increasing expressiveness.
- What are the complexity ramifications of using this library?
Yes and receives frequent pull requests.
- Is it actively maintained?
Yep
- Is it compatible with current deployment targets?
Nope
- Does it hinder interop (e.g., with Swift)?
Since Masonry is basically just a syntax veneer of autolayout - it should be possible for us to maintain if needed. There aren't any foreign concepts to understand. If we choose not to maintain - the constraints can be translated to the VFL language (or Interface Builder) easily.
- What is the exit plan if the library becomes unmaintained?
If anyone has questions / comments - please reply here.
_______________________________________________
Mobile-l mailing list
Mobile-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mobile-l